objectscriptQuality 1.3.6
SonarQube compatibility
7.0, 6.7 (LTS), 6.6, 6.5, 6.4, 6.3, 6.2, 6.1, 6.0, 5.6 (LTS), 5.5, 5.4, 5.3, 5.2
Caché compatibility
2017.2, 2017.1, 2016.2, 2016.1
Java compatibility
Oracle JDK 8
What's new
- Recognize the keyword "SqlComputeOnChange" on triggered computed properties
- "Usage of legacy flow control statements" split in two new rules: "Usage of legacy if/else flow control statements" and "Usage of legacy for flow control statements"
Fixes
- Resolved null pointer parsing in Class not found rule
- Method not found rule now excludes checks for %Classes, %Methods and %ShortPackageNames
- Incompatible argument type in a method rule was requiring initialization for variables passed by reference
- Incompatible argument type in a method rule now considers %String as the default type for the parameters with no type
- Method with unexpected arguments rule was not treating arguments with default value as arguments
- Property not found rule now skips validation for properties of instancies of %Classes
- Improvements on Variable not found rule to avoid false positives:
- Now does not require to define a variable when calling $I(variable), as it is initiated automatically
- Now does not require to define a variable when passed by reference
- Now an argument used in a macro is considered to be initialized by the macro if not done before
- Now does not require to initialize a variable used as argument in a macro
- Was not recognizing #dim directive properly
- Now recognizes variable declaration and initialization in a FOR