Skip to content

1.1.0

Compare
Choose a tag to compare
@github-actions github-actions released this 02 Jan 08:05
· 327 commits to master since this release

Added

  • Support for unicode characters in identifiers.
  • Support for the NUnit 2.0 test results format (in addition to existing 3.0 support).
  • ConsecutiveVarSection analysis rule, which flags consecutive var sections that can be merged.
  • ConsecutiveConstSection analysis rule, which flags consecutive const sections that can be merged.
  • ConsecutiveTypeSection analysis rule, which flags consecutive type sections that can be merged.
  • ConsecutiveVisibilitySection analysis rule, which flags consecutive visibility sections that can be merged.
  • excludeApi rule property to most of the Unused* rules:
    • Available for UnusedConstant, UnusedField, UnusedGlobalVariable, UnusedProperty, UnusedRoutine, and UnusedType.
    • Excludes public API (declared with public visibility in the interface section).
  • API: VarSectionNode::isThreadVarSection method.
  • API: ConstSectionNode::isResourceStringSection method.
  • API: AttributeListNode::getAttributeTypes method.
  • API: RoutineNameDeclaration::getAttributeTypes method.
  • API: PropertyNameDeclaration::getAttributeTypes method.

Changed

  • Improve type resolution on binary and unary expressions.
  • Improve type comparisons between signed and unsigned integer types.
  • Improve type comparisons between text types.
  • Improve type conversions from character pointers to strings.
  • Exclude routines annotated with attributes in UnusedRoutine.
  • Exclude properties annotated with attributes in UnusedProperty.
  • Exclude fields annotated with attributes in UnusedField.
  • Improve type modeling around integer subranges.
  • Issues raised on a hard cast expression now span the entire expression in UnicodeToAnsiCast, CharacterToCharacterPointerCast, NonLinearCast, RedundantCast, and PlatformDependentCast.
  • Parsing errors now consistently surface the file and line where they occurred.
  • Parsing errors now consistently skip the offending unit instead of crashing the scan.
  • API: TypeSectionNode now implements Visibility.
  • API: TypeDeclarationNode now implements Visibility.

Fixed

  • The sonar.sourceEncoding option was used blindly in all cases, even when the correct encoding could be detected.
  • Test sources were erroneously excluded from analysis.
  • Key information was missing from "ambiguous declarations" warnings.
  • Stack overflow on class reference types that reference their containing type.
  • Scan failures on redundant unit aliases in .dproj files.
  • Incorrect file position calculation for multiline compiler directives.
  • Incorrect detection of method calls as hard casts in CastAndFree.
  • Name resolution failures around helpers extending weak alias types.
  • Various intrinsic routine signatures had incorrect return types.
  • Various intrinsic routine signatures had incorrect or overly-restrictive parameter types.