Releases
v1.0.0
Compare
Sorry, something went wrong.
No results found
Added
Custom rules plugin API:
Rule metadata for the new Clean Code Taxonomy .
sonar.delphi.file.suffixes property to specify the file extensions that should be analyzed.
sonar.delphi.exclusions property to specify file path patterns to exclude from analysis of Delphi files.
sonar.delphi.test.attribute property to specify an attribute that will cause annotated types to be treated as test code.
Support for the DCCOSXARM64 toolchain.
Support for the DCCIOSSIMARM64 toolchain.
Support for attributes in semantic analysis.
Support for identifiers prefixed with 2 ampersands (&&).
OleVariant overloads for VarArrayRedim and VarClear intrinsics.
InlineAssembly analysis rule, which flags inline assembly usage.
DigitSeparator analysis rule, which flags numeric literals that should use digit separators to improve readability.
DigitGrouping analysis rule, which flags numeric literals that use non-standard digit groupings.
AddressOfCharacterData analysis rule, which flags attempts to manually get the address of the first character in a string.
NonLinearCast analysis rule, which flags unsafe object and pointer casts.
IndexLastListElement analysis rule, which flags places where TList.Last should be used instead of manually indexing into the list.
Changed
Rename all rule keys. (For example, ClassNameRule is now ClassName)
Rewrite all rule descriptions.
Rename plugin key from delphi to communitydelphi.
Rename language key from delph to delphi.
Rename repository key from delph to community-delphi.
Rename repository from Delphi to Community Delphi.
Rename sonar.delphi.bds.path property to sonar.delphi.installationPath.
Rename sonar.delphi.compiler.toolchain property to sonar.delphi.toolchain.
Rename sonar.delphi.compiler.version property to sonar.delphi.compilerVersion.'
Rename sonar.delphi.sources.searchPath property to sonar.delphi.searchPath.'
Rename sonar.delphi.testSuiteType property to sonar.delphi.testType.
Clean up descriptions of all plugin properties.
Exclude dpr and dpk files in UnusedImport.
Exclude dpr and dpk files in ImportSpecificity.
Exclude uses clauses of dpr and dpk files in LineTooLong.
Include routines in UnitLevelKeywordIndentation.
Include implicit attribute constructor calls in ForbiddenRoutine.
Always enforce the Attribute suffix in AttributeName.
Allow the Attribute suffix to be omitted for attribute references in MixedNames.
Allow the extended type name to be anywhere in the helper name (rather than requiring it at the start) in HelperName.
Take a fully-qualified type name for the parent type in InheritedTypeName, instead of a regular expression.
Improve name resolution for declarations within types.
Improve type resolution for array accesses into variants.
Improve type resolution around constructor calls following array accesses in primary expressions.
Improve parsing and type modeling around AnsiString types with specified code pages.
Improve type modeling around type aliases.
Removed
XPathTemplateRule analysis rule template.
MemoryManagementRule analysis rule.
EmptyTypeSection analysis rule.
sonar.delphi.coverage.tool property.
(Delphi Code Coverage is the only supported coverage tool.)
Fixed
OSX(64) symbols weren't treated as defined on macOS.
MACOS(32|64) symbols weren't treated as defined on iOS.
Name collisions between generic and non-generic forward declarations.
Incorrect type conversions from pointers to arrays.
Fixed arrays were overly-eager to convert to dynamic arrays.
Parsing errors around In operator overloads.
Parsing errors around anonymous methods in array constructor expressions.
Self was not consistently shadowed by method parameters.
Incorrect token range calculation for binary expression nodes.
Units referenced via DCCReference tags were not indexed in the symbol table.
NPE on empty argument lists in TrailingCommaArgumentList.
add is no longer colorized as a keyword in the SonarQube web interface.
remove is no longer colorized as a keyword in the SonarQube web interface.
variant is no longer colorized as a keyword in the SonarQube web interface.
Parsing errors on unusual whitespace characters.
Parsing errors on unusual escaped character, hex integer, and binary integer literals.
You can’t perform that action at this time.