Commit Graph
34 Commits
Author SHA1 Message Date
Barry vd. Heuvel 499a2113b3 Check if method exists 2019-09-08 11:45:23 +02:00
Francis Lavoie 2b3c9a2449 Fix BC introduced in #765 (#778)
See my comment https://github.com/barryvdh/laravel-ide-helper/pull/765#issuecomment-471014271:

The change in #765 made anonymous functions get reflected with `ReflectionMethod` instead of `ReflectionFunction`, which makes it lose the doc comment. This means that the generated helpers are missing their return types. This is because Closure is also an object and callable.

To fix it, Closure should be excluded from that new condition.
2019-03-12 11:38:49 +01:00
Stan Daniëls 754bb4d075 Add support for invokable classes as macro function (#765)
Macros can be used with invokable classes, like so.

```
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Response;

class ResponseMacroServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Response::macro('foo', new Foo());
    }
}

class Foo
{
    public function __invoke()
    {
        return 'foobar';
    }
}
```

When running `ide-helper:generate` the following fatal error was thrown.

```  Symfony\Component\Debug\Exception\FatalThrowableError  : ReflectionFunction::__construct() expects parameter 1 to be string, object given```

This commit fixes this error.
2019-02-18 20:54:27 +01:00
Tim Philips d00600d769 Include DocBloc’s from classes to allow deeper code inspection (#745)
* Add support to include DocBloc’s from classes to allow further code inspection

* Adjust for PSR2

* Additional fix for PSR2
2019-01-28 21:38:57 +01:00
Barry vd. Heuvel 494d1593c8 Merge pull request #732 from HikaruYasuda/fix/duplicateMacroMethods
fix: Macro methods are duplicated registration.
2018-12-19 13:08:48 +01:00
Jeppe Knockaert 001719245c bugfix - Prevent redeclaring methods inside Aliases
The getMethods function gets called both in the removeDuplicateMethodsFromPhpDoc
function and in helper.php, which causes the method detection to be performed twice.

Parts of the method detection includes a check for duplicate methods, but Macro
methods for example, aren't checked for duplicates.

Instead of checking everywhere if we're not adding duplicates, I've included a
check in the getMethods call to just use the already generated methods
if they have been generated already.
2018-12-12 14:46:18 +01:00
HikaruYasuda 3d7f45479e fix: Macro methods are duplicated registration. 2018-12-04 10:33:00 +09:00
Jeppe Knockaert 2ab961e734 Prevent duplicate function declarations in docblocks
When a method is declared both in the phpdoc and in the class itself,
PhpStorm (2018.3) complains about duplicate function declarations, preventing
correct code hinting.

To solve this, I remove the already declared functions from the generated dockblocks.
2018-11-07 20:59:15 +01:00
Barry vd. Heuvel 8174730714 Merge pull request #714 from pahan35/fix-missed-autocomplete-in-header-view
Fix missed autocomplete in helper view
2018-10-06 11:34:14 +02:00
Pavlo Zhukov 1fdc866fb0 Fix missed autocomplete in helper view 2018-10-01 00:39:40 +03:00
Pavlo Zhukov 5d8d93273f Fix missed helpers for abstract methods the same name but different classes 2018-10-01 00:02:03 +03:00
Barry vd. Heuvel 50ecd8b815 Update CS, typo 2018-05-07 11:38:57 +02:00
Barry vd. Heuvel 0556991c69 Merge pull request #583 from inxilpro/support-fakes
Support for ::fake() calls
2018-05-07 11:22:33 +02:00
Barry vd. Heuvel e7fa36bdc3 Merge pull request #629 from bedezign/smart-reset
"smart-reset": Reset properties/methods, but keep the text
2018-05-07 11:15:59 +02:00
Barry vd. Heuvel 203d60dc8c Merge branch 'master' into feature/fix-callable-macros 2018-05-07 11:15:43 +02:00
Steve Guns d961482d22 Fixed PHPCS PSR2 issues 2018-02-14 08:59:19 +01:00
Ezra Pool 8ab907f219 Support php's array callable format for macro's.
This allows you to define methods like this as well: Str::macro('name', [$this, 'method']);
2018-02-03 21:10:48 +01:00
Jonas De Smet e29e035135 Add DocBlocks for classes too 2018-02-01 15:53:32 +01:00
Chris Morrell d45b02efb1 Support for ::fake() calls 2017-10-13 11:41:30 -04:00
Matthew Erwin b76156b24c Adds support for macros (#500)
* Adds support for macros

* Fixes formatting
2017-05-05 11:22:12 +02:00
Florian Lefèvre 8c306035aa Fix facades fullpath autocomplete (#441)
* Add method to retrieve namespace of extended class

* Regroup classes by namespace of the class they extends

* Restore facades shortnames

* Fix classnames used for methods declaration
2017-02-13 12:52:36 +01:00
Florian Lefèvre 525733122e Add facades fullpath autocomplete (#437)
* Add method to retrieve namespace of extended class

* Regroup classes by namespace of the class they extends

* Restore facades shortnames
2017-02-01 07:21:31 +01:00
Barry vd. Heuvel bae462604e Add test config, CS rules and fix CS 2016-06-08 21:36:25 +02:00
Barry vd. Heuvel f135845100 Revert adding costructor back
Doesn't make sense, isn't called static.
2014-08-26 13:01:45 +02:00
Barry vd. Heuvel 3c54b17760 Add __construct back
See #105
2014-08-26 11:53:54 +02:00
Barry vd. Heuvel 9a67d9132f Skip decrement/increment
They are a bit weird.
2014-08-26 10:54:34 +02:00
Barry vd. Heuvel bd33e05304 Don't add magic methods
Fixes #105
2014-08-26 10:53:32 +02:00
Barry vd. Heuvel 4fc9c671e8 Add getShortName
For #106
2014-08-26 10:48:29 +02:00
Barry vd. Heuvel 25ec6bd1ea Remove message. 2014-08-12 09:14:43 +02:00
Barry vd. Heuvel b80db2cebf Fix error 2014-08-09 23:03:31 +02:00
Barry vd. Heuvel e9bc9347cc Cleanup 2014-08-06 19:27:22 +02:00
Barry vd. Heuvel 8dcc74a95f Add magic methods 2014-08-06 13:04:52 +02:00
Barry vd. Heuvel f29e6037c0 Work on interfaces 2014-08-06 12:29:26 +02:00
Barry vd. Heuvel 8193fa0763 Big refactor 2014-08-06 00:02:00 +02:00