c5e18beff1
Fix Relative class names are not converted to fully-qualified class names (FQCNs) ( #1005 )
...
* Fix https://github.com/barryvdh/laravel-ide-helper/issues/627
* Fix codestyle
* Init
* composer fix-style
* Actualize
* Fix
* normalize composer.json
* Fix
* composer fix-style
* Replace NamespaceUses with UsesResolver
* Add UsesResolver tests
* Add MethodTest::testClassAliases
* Fix code style
* Get rid of laravel support helpers
* Make class UsesResolver stateless, update tests for it
* composer fix-style
Co-authored-by: Andrii Savluk <[email protected] >
Co-authored-by: laravel-ide-helper <[email protected] >
Co-authored-by: SavKS <[email protected] >
Co-authored-by: Taras Fomin <[email protected] >
2021-03-15 07:45:23 +01:00
yaegassy
4f42af1fa1
Apply "@PSR12" in php-cs-fixer ( #1150 )
...
* Apply "@PSR12" in php-cs-fixer
* Run fix-style
2021-02-05 13:57:35 +01:00
Aleksei Lebedev
36c4406b3a
Alias will grab macros from \Illuminate\Database\Eloquent\Builder too (#1118 )
...
* `Alias` will grab macros from `\Illuminate\Database\Eloquent\Builder` too.
* `@return` will contains `|static` for Eloquent Builder macros which return Eloquent Builder instance.
* `Macro` tests.
* `Alias::detectMethods()` tests.
* Mock classes rename.
2020-12-21 11:15:47 +01:00
domkrm
0168e7256b
Fix generate error when macroable class has a "fake" method ( #1066 )
2020-09-21 16:26:32 +02:00
Markus Podar and Barry vd. Heuvel
764bc02b84
[CODESTYLE] Replace phpcs with php-cs-fixer ( #1030 )
...
* composer require --dev friendsofphp/php-cs-fixer:^2
* php-cs-fixer: ignore cache and custom local config file
* php-cs-fixer: initial config
* php-cs-fixer: replace commands in composer
* php-cs-fixer: add PSR12 "as good as it currently gets"
* php-cs-fixer: apply PSR12 to codebase
* tests: add workaround to keep unused imports for snapshot testing
* php-cs-fixer: apply no_unused_imports
* php-cs-fixer: apply array_syntax short
* php-cs-fixer: apply single_quote
* php-cs-fixer: switch ordered_imports sort_algorithm to alpha
Let's be opinionated here for consistency
* php-cs-fixer: split between non-tests and tests and share config
* php-cs-fixer: apply declare_strict_types for tests
* php-cs-fixer: apply fully_qualified_strict_types
* php-cs-fixer: apply space_after_semicolon
* php-cs-fixer: apply trailing_comma_in_multiline_array
* php-cs-fixer: apply trim_array_spaces
* php-cs-fixer: apply unary_operator_spaces
* php-cs-fixer: apply whitespace_after_comma_in_array
* php-cs-fixer: apply native_function_invocation
* php-cs-fixer: apply concat_space
* grumphp: reflect we're using phpcsfixer now
* composer remove --dev squizlabs/php_codesniffer
* gha: simplify fix-style approach
Not really necessary to remove packages and then manually prevent
unrelated commits creeping in
Co-authored-by: Barry vd. Heuvel <[email protected] >
2020-09-01 11:32:31 +02:00
Danny van der Sluijs
8287f02afa
Fix typos; Optimise if-else branches ( #1009 )
2020-08-28 09:15:43 +02:00
feek
4aa919c09f
chore: psr12 ( #964 )
2020-06-23 06:59:56 +02:00
feek and mr-feek
545298c44d
[Chore] Introduce psalm ( #962 )
...
* chore: introduce psalm
* chore: remove dead code
* chore: run psalm workflow
* chore: run psalm in grumphp
* normalize composer.json
* chore: analyse --> analyze
* chore: just remove psalm when running tests instead of worrying about dependency mismatch hell
Co-authored-by: mr-feek <[email protected] >
2020-06-22 20:28:59 +02:00
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