Commit graph

155 commits

Author SHA1 Message Date
89af4a2e37
TASK: Configure phpmd
* Make phpmd pass.
* Comment supressions with a reason.
2017-04-11 08:40:19 +02:00
d81b50d88e Merge remote-tracking branch 'origin/feature/update-typoscript-dependency' into feature/gitlab-ci 2017-04-10 09:35:03 +02:00
65bc89ad7c Merge remote-tracking branch 'origin/develop' into feature/46-automated-testing 2017-04-09 20:20:21 +02:00
a16ae7b8d4
TASK: Update to latest TypoScript tokenizer
* As official project does no longer modify the file to tokenize.
* Add tests to test integration.
2017-04-09 20:14:16 +02:00
f373826cc6
BUGFIX: Update string to replace missing vendor token
* Using double quotes with method call didn't work the way.
* Use normal string concatenation instead.
2017-04-09 12:51:57 +02:00
0c733c5e80 Merge remote-tracking branch 'origin/develop' into feature/46-automated-testing 2017-04-09 12:46:43 +02:00
Daniel Hürtgen
84266c381d Merge pull request #50 from DanielSiepmann/feature/42-deprecated-constants
Feature/42 deprecated constants
2017-04-08 12:35:43 +02:00
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