03f321c865
FEATURE: Add tests and fix issues
...
* Add test for IsACallSniff.
* Fix doublicate finds in IsACallSniff and
InstantiationWithObjectManagerSniff.
* Both didn't stop looking for class at end of expression.
Relates: #46
2017-04-06 12:35:44 +02:00
d7911cccee
BUGFIX: Keep line ending for inline comments
...
* As test showed, line ending was removed for inline comments "//".
* This line ending is now kept.
* Test does not fail anymore.
Relates: #46 , #3
2017-04-06 11:57:00 +02:00
20952b7710
TASK: Refactor options access
...
* No longer use trait but static methods due to lack of Dependency
Injection.
* Adjust all calls.
* Also don't use yield any longer but return array of file names.
Relates: #42
2017-04-06 09:12:43 +02:00
b99438fff9
TASK: Refactor remove duplicate logic
...
* Make option trait cleaner, remove duplicate logic and use methods for
same logic.
* Also fix issue in readme pointing to non existing config name.
Relates: #42
2017-04-06 08:26:13 +02:00
0e5d74b51d
Merge remote-tracking branch 'origin/develop' into feature/38-add-typoscript-tokenizer
2017-04-06 08:10:21 +02:00
Daniel Hürtgen
da0adb7d5e
Merge pull request #52 from DanielSiepmann/feature/49-deprecated-use-statements
...
FEATURE: Migrate legacy class names in use statements
2017-04-04 16:39:39 +02:00
Daniel Hürtgen
22c2f4cb1c
Merge pull request #51 from DanielSiepmann/hotfix/48-multiple-type-hints
...
BUGFIX: Allow multiple type hints in php docs
2017-04-04 16:36:47 +02:00
300e3511be
TASK: Remove example sniff
...
* As this is just an example and we want to have a clean state.
* Also cleanup imported interface which is not in use anymore.
2017-04-04 14:48:10 +02:00
2e115bb3f7
FEATURE: Migrate legacy class names in use statements
...
Resolves: #49
2017-04-04 14:39:31 +02:00
55bdb39fa5
WIP|FEATURE: Integrate TypoScript
...
* Provide tokens for TypoScript.
* Provide first basic example of a working sniff.
Relates: #38
2017-04-04 13:31:39 +02:00
f3e708f5e0
BUGFIX: Allow multiple type hints in php docs
...
* Respect possible separation by "|" and handle each of them.
Resolves: #48
2017-04-04 10:57:42 +02:00
818f266b9e
TASK: Cleanup some comments
2017-04-04 10:27:04 +02:00
99840b080f
FEATURE: Finish refactoring
...
* Removed functions and constants are working now.
Relates: #42
2017-04-04 10:21:16 +02:00
1a081900b2
WIP|FEATURE: Add removed constants
...
* Add configuration.
* Refactor common base for functions and constants.
* Add constants handling.
Relates: #42
2017-04-04 09:59:28 +02:00
b5e7e15683
Merge branch 'feature/33-deprecated-handling' into feature/42-deprecated-constants
2017-04-04 08:41:02 +02:00
034ab57a34
TASK: Skip unnecessary function call
2017-04-04 08:39:09 +02:00
830584fa87
TASK: Improve docs
2017-04-04 08:37:01 +02:00
9c6085642e
BUGFIX: Respect double quotes for ajax deprecation
...
Relates: #33
2017-04-04 08:36:57 +02:00
Daniel Hürtgen
aa8ffab3fa
TASK: Rename removed function method
2017-03-30 17:02:36 +02:00
56d692bac7
TASK: Add missing docs
...
* Add docs for new feature.
Relates: #33
2017-03-30 13:18:44 +02:00
a4f4fd1ad7
WIP|TASK: Copy and paste function code
...
* Refactor afterwards
Relates: #42
2017-03-30 13:13:19 +02:00
125c4280d6
WIP|FEATURE: Try to add tokenizer
...
* First try to add tokenizer to code sniffer
Relates: #38
2017-03-30 13:02:47 +02:00
1c4fce2315
TASK: Adjust for CGL
2017-03-30 11:21:03 +02:00
93c0cff635
TASK: Rename deprecated to removed for functions
...
* As we check removed functions, the folder and code should reflect
that.
Relates: #33
2017-03-30 11:08:42 +02:00
21b7c09416
FEATURE: Add removed functions for TYPO3 7.x.
...
* Adjust structure of deprecated functions yaml.
* Add version of removal to message for removed functions.
Relates: #33
2017-03-30 11:03:30 +02:00
4c162af3d4
TASK: Finish 7.0 breaking changes
2017-03-30 08:08:41 +02:00
81fc7f7608
WIP|FEATURE: Add further deprecated calls
...
* Configure further deprecated calls for TYPO3 7.0
* Remove todo as it's already done.
Relates: #33
2017-03-28 16:41:15 +02:00
b652137e96
FEATURE: Provide code to handle deprecated method calls
...
* Add parsing of YAML-files.
* Check matching deprecated calls.
* Provide necessary information for PHPCS and user.
Relates: #33
2017-03-28 15:29:26 +02:00
cd434ac639
WIP|FEATURE: Provide configuration files for deprecated functions
...
* To provide a way to adjust deprecations without touching standard.
* Provide an option defining the path to lookup the configuration files.
* Parse yaml files containing deprecations.
Relates: #33
2017-03-28 12:52:14 +02:00
0ee10ea61f
BUGFIX: Allow deprecations to work in vim too.
...
* Remove line breaks from output, as syntastic will not parse them.
* It's up to the report to format the messages, not the Sniff.
Relates: #33
2017-03-28 11:44:06 +02:00
65773c88b5
WIP|FEATURE: Provide first deprecation function sniff
...
* Use a single generic sniff with configuration.
Relates: #33
2017-03-28 10:57:35 +02:00
2118d86879
WIP|FEATURE: First working check for deprecated functions
...
* Provide a generic sniff with configuration (property) containing all
deprecated calls.
* Check function calls and provide warning with information.
Relates: #33
2017-03-28 10:31:30 +02:00
293a6570a8
FEATURE: Add sniff to check for Breaking: #69916
...
Relates: #33
2017-03-28 09:27:42 +02:00
426dc8b318
BUGFIX: Define property where it's used
...
* As we use it in parent class, define it there.
2017-03-23 16:48:28 +01:00
842a54d5d9
TASK: Fix quality issues
2017-03-23 16:40:03 +01:00
6a115bd8d0
TASK: Cleanup before PR
...
* Adjust some comments and formating.
* Add missing, but used, properties.
* Shorten variables used only once.
Resolves: #36
2017-03-23 16:24:22 +01:00
9b3d5d9515
BUGFIX: Support multiple interfaces
...
* Process extends as before.
* Process all interfaces in addition, not only the first one.
2017-03-23 16:12:40 +01:00
5a8260815c
Merge remote-tracking branch 'origin/develop' into feature/36-namespace-migration
...
* Make mapping file path configurable
Relates: #36 , #37
2017-03-23 13:34:12 +01:00
6420c72945
FEATURE: Allow remapping of usages for redefiined classes
...
* As we already adjust function, trait and interface definitions, we now
also migrate the usage of the old versions.
* This is done in second run, as mentioned in adjusted Readme.
Relates: #36
2017-03-23 13:24:24 +01:00
8fbe25a422
TASK: Cleanup missing vendor
...
* Add configured vendor in message for easer migration in IDEs (by
hand).
* Remove non existing function from checks.
Relates: #36
2017-03-23 13:24:11 +01:00
1561c13b46
FEATURE: Improve handling of missing Vendor
...
* Check for string concatenation instead of earlier more stupid.
Relates: #36
2017-03-23 13:24:04 +01:00
f9f82b0629
FEATURE: Migrate plugin and module registration and configuration
...
* Prefix with configured vendor if first argument does not start with a
string already.
Relates: #36
2017-03-23 13:23:54 +01:00
eaa99973b1
TASK: Refactor existing sniffs to work again
...
* As we migrated trait to class, all sniffs have to extend instead to
use the new class.
* Also make PhpCsFile import and type hints the same across all sniffs.
Relates: #36
2017-03-23 13:23:26 +01:00
f91d3240e5
TASK: According to PR, use else instead of default
2017-03-23 13:23:18 +01:00
0d985ef42a
TASK: Fix call to undefined method
...
Relates: #33
2017-03-23 13:23:09 +01:00
9a13223d62
TASK: Rename method
...
* To follow CGL
Relates: #33
2017-03-23 13:22:58 +01:00
21c72c8b96
WIP|FEATURE: Handle trait and interfaces beside classes
...
* Also fix check whether another line should be added after namespace
definition.
Relates: #36
2017-03-23 13:22:16 +01:00
1b610844b9
BUGFIX: PHPDoc
2017-03-23 10:18:01 +01:00
4e0c2802e4
FEATURE: Make path to mapping file configurable
...
* This way one can define the path in his own ruleset.xml
2017-03-23 09:37:08 +01:00
fcb778d903
WIP|FEATURE: Provide sniff to convert old legacy class definitions
...
* Insert missing namespace, based on existing class name.
* Allow configuration of Vendor to use.
* Will not adjust uses of the class.
* All other sniffs are broken right now, they need to be adjusted to
new abstract class.
Relates: #36
2017-03-23 08:52:25 +01:00
fb746bf39d
TASK: According to PR, use else instead of default
2017-03-23 08:41:06 +01:00
05ce3d0aef
TASK: Fix call to undefined method
...
Relates: #33
2017-03-21 13:50:22 +01:00
aa76ad796a
TASK: Keep all TypeHints the same
...
Relates: #33
2017-03-21 13:41:44 +01:00
af6b4dad51
TASK: Rename method
...
* To follow CGL
Relates: #33
2017-03-21 13:30:04 +01:00
5fd8e965ac
BUGFIX: Fix bug introduced in e6e372f8b1
...
* Allow static calls to find class name before $stackPtr.
2017-03-21 10:31:14 +01:00
a16cad06cd
FEATURE: Provide sniff to migrate is_a calls
...
Resolves: #22
2017-03-21 09:14:11 +01:00
ba2ed2cf5f
TASK: Refactor code
...
* As we sometimes have to fix classnames inside a string, move this
common work to trait.
* Also make classname "free" of string quotes inside the check, not the
concrete sniffs.
2017-03-21 08:59:26 +01:00
e6e372f8b1
TASK: Remove duplicate code
...
* Move same code as default to trait.
2017-03-21 08:36:53 +01:00
ca741263b4
FEATURE: Provide sniff for catch statements
...
Resolves: #21
2017-03-21 08:30:19 +01:00
5fd9083b01
Merge pull request #18 from DanielSiepmann/hotfix/14-double-backslash
...
BUGFIX: Leading namespace separator in replaced classnames
2017-03-16 17:33:06 +01:00
Daniel Hürtgen
fd57147c2a
Merge branch 'develop' into feature/16-use-statements
2017-03-16 16:56:23 +01:00
Daniel Hürtgen
2e7a90d636
Merge branch 'develop' into hotfix/14-double-backslash
2017-03-16 16:52:12 +01:00
Daniel Hürtgen
917e290bf3
Merge branch 'develop' into hotfix/phpdocs
2017-03-16 16:47:51 +01:00
Daniel Hürtgen
9364b8d61e
BUGFIX: Fix missing word in phpdocs of sniff classes
2017-03-16 16:45:56 +01:00
fc070f3bf6
FEATURE: Make PHPDoc tags configurable
...
* Make them configurable in Sniff.
* Extend readme with new configuration option.
* Provide example in ruleset.xml
Resolves: #25 , #24 , #23
2017-03-16 16:25:55 +01:00
58eabf43de
BUGFIX: Fix wrong phpdoc for sniff
2017-03-16 15:19:09 +01:00
45d7de293c
BUGFIX: Fix wrong phpdocs of sniff classes
2017-03-16 15:18:10 +01:00
38651f315e
FEATURE: Migrate use statements
...
Resolves: #16
2017-03-16 15:13:33 +01:00
0012c229ed
BUGFIX: Leading namespace separator in replaced classnames
...
* First remove possible namespace seperators from class name to allow
lookup.
* Check whether we have to prefix the new classname with namespace
seperator.
Resolves: #14
2017-03-16 15:04:01 +01:00
187dc918a9
FEATURE: Migrate instantiation through object manager
...
* Mark "create" as deprecated with a warning.
* Migrate first argument of "create" and "get" calls if they are
deprecated.
Resolves: #4
2017-03-16 14:15:04 +01:00
080816c530
Merge remote-tracking branch 'origin/develop' into feature/4-instantiation
2017-03-16 14:03:15 +01:00
e2bae45829
FEATURE: Respect class $var and $var class
...
* Respect both orders.
* Replace regexes with array checks.
Relates: #3
2017-03-16 13:44:03 +01:00
5cf98decb0
Merge remote-tracking branch 'origin/develop' into feature/4-instantiation
2017-03-16 12:07:06 +01:00
6361db2eaf
TASK: Use regex instead of whitespace char
...
* To be more bulletproof.
Relates: #3
2017-03-16 12:01:01 +01:00
c3358654fa
BUGFIX: Fix visibility of method
...
Relates: #3
2017-03-16 11:33:50 +01:00
dcc2b43258
Merge remote-tracking branch 'origin/develop' into feature/3-inline-ide-docs
2017-03-16 11:32:54 +01:00
Daniel Hürtgen
6617e2d4ab
Merge pull request #10 from DanielSiepmann/feature/7-instanceof
...
Feature/7 instanceof
2017-03-16 11:29:54 +01:00
cdccab83bc
BUGFIX: Allow replacement of method
...
* As this method should be replaces by concrete classes.
Relates: #7
2017-03-16 11:03:20 +01:00
ae3c850e58
FEATURE: Make legacyExtensions configurable
...
* Make property public to allow configuration through ruleset.xml
* Provide example configuration in ruleset.xml
Relates: #7
2017-03-16 11:02:49 +01:00
20722f26d1
TASK: Refactor code base
...
* As method does not belong to class renaming, but is a general method,
it was moved to a new trait.
Relates: #4
2017-03-14 11:37:06 +01:00
4134ba98f3
FEATURE: Migrate makeInstance instantiations
...
Relates: #4
2017-03-14 10:06:07 +01:00
5196baf185
FEATURE: Migrate legacy class names after "new"
...
Relates: #4
2017-03-14 10:02:36 +01:00
cec410eabe
BUGFIX: Fix visibility of method
...
* Only this way we can overwrite the content and provide the more
specific class name replacement.
2017-03-14 10:01:46 +01:00
b3023f94ff
FEATURE: Migrate inline comments for IDEs
...
* Check all inline comments matching the necessary pattern.
* Check the contained class name.
* Migrate class name.
Resolves: #3
2017-03-14 08:42:20 +01:00
097fd7522c
FEATURE: Migrate legacy class names for insteanceof
...
* Check classes after instanceof token and migrate them when possible
Resolves: #7
2017-03-14 08:38:19 +01:00
1a17e160b5
FEATURE: Display new class name in error
...
* To be more helpful while searching without fixing.
* E.g. if sniffs are integrated into IDE, the user has a chance to fix
them while checking.
2017-03-14 08:16:33 +01:00
04a1b860a6
TASK: Adjust visibility of trait members
...
* As they are internal API and even protected is published to the using
classes as this is a trait.
2017-03-14 08:16:33 +01:00
73d58fffb6
FEATURE: Migrate static calls to legacy classnames
...
Fixes: #6
2017-03-08 21:47:56 +01:00
e88e177440
FEATURE: Migrate legacy class names in TypeHints
...
* Check function / method definitions and their type hints.
Resolves: #5
2017-03-07 16:24:17 +01:00
d1a2271e6e
FIX: Adjust variable name and type
...
* As the property only contains the content, and content is a string, we
adjust the code accordingly.
2017-03-07 16:22:37 +01:00
10ee6295ac
TASK: Add suffix to trait and @var
...
* Add @var to processed annotations.
* Add suffix to trait.
2017-03-07 15:17:47 +01:00
9e0106c83f
FEATURE: Also migrate PHPDoc annotations
...
* Migrate @param and @return statements.
2017-03-07 14:56:18 +01:00
eab9d0c999
TASK: Fix PR issue, add exception if type could not be fixed
2017-03-07 13:58:50 +01:00
8d8a8cc330
TASK: Adjust flow
...
* Reduce indentation by introducing guards to code.
2017-03-07 13:52:40 +01:00
4fe1287247
TASK: Fix Scrutinizer issues
2017-03-07 13:41:36 +01:00
f912313da3
FEATURE: Also migrate legacy classes in extends
...
* Migrate legacy classes after extends keyword.
* Sort token types alphabetical.
2017-03-07 13:36:18 +01:00
1aaf0e5840
BUGFIX: Prefix classes with slash to prevent issues
...
* As we might be in a namespace, we have to prefix new class names with
a leading slash
2017-03-07 13:36:18 +01:00
f4fbbcab77
FEATURE: Provide first basic implementation of classmapping
...
* Install PHP CodeSniffer.
* Install our project as new Standard.
* Set our Standard as default.
* Provide first basic implementation to detect implemented interfaces
with old legacy class names and migrate them to new ones.
2017-03-07 13:36:09 +01:00