Build Notes (1140) - 5 Jun 2023


This build is a version point change and thus has quite a few improvements. To see the general overview, take a look at our Release post here. To see more of the details, read on...


Visual Basic

  • Fixed crash on dictionary access using '!' where prefix name is unknown to the parser
  • Fixed some problems with overload resolution involving inherited methods

CodeCheck

  • Add CodeCheck Group: Bug Hunter
  • Add a hover icon to the violations browser to ignore violations
  • Add a refactor tool to ignore violations
  • Create automatic ignores for CodeCheck comment keywords in line annotations
  • CodeCheck false positives: 
    • fix false positives that allowed any filename
    • Update false positive duplicate detection to allow multiple CodeCheck annotations with the same line ranges

Command Line(Und)

  • Fixed the -c++systemincludesremove to remove the include directory
  • Fix access of existing annotations from und

Compare

  • Allow adding any metric as a column in the locator and changed entity locator
  • Activate diff view when change locator entities are double clicked

General

  • Add error message on Mac when launching Understand from the dmg install kit

Graphs

  • Fix Butterfly Compare (Classic) graph ignoring of multi-line /* ...*/ comments.
  • Fix dark mode print of graphs with styled labels off to correctly change white text to black
  • Fix overlapping text issue in variable tracker graph
  • UML sequence diagram show call to func in "if(func() == 0)" inside the cluster to be consistent with "if(0==func())"
  • Update Ada UML Class Diagram
  • Variable tracker graph better support for set references with braces

Metrics

  • Updated the API names for some metrics
  • Added metric plugins
  • APIs Metric.list fix to report all metrics on empty kind string to match documented behavior
  • Add more file types to Metrics Browser architecture view
  • Add PDF documentation for metrics
  • Metrics export round decimals to places to match GUI

API

  • Add the ability to the Perl and Python API's to retrieve CodeCheck violations
  • Python-api: Fix fatal error in call to Ent.draw() with external Python interpreter
  • Fix access of existing annotations from APIs

Settings

  • Fix duplicate override c++ include directories being added unintentionally to project source directories and disallow explicit duplicate directories from being added
  • Fixed handling of UNC filenames

Language - C++ (Strict)

  • Add missing references to types and fields referenced inside of __builtin_offsetof expressions
  • Fix control flow ranges of statements expanded from macros
  • Fix potential crash on malformed template code
  • Fix worker process crash regression on C++ rethrow expressions
  • Fix enumerator values for enums declared in class templates

Language - Pascal/Delphi

  • Fixed problems handling overloaded methods with array parameters
  • Fixed problems resolving calls to overloaded methods involving a parameter using '@name' for a pointer
  • Fixed some problems with overload resolution involving inherited methods
  • Added 'Possible Functions' IB field for Pascal ambiguous functions

Language - Web/Javascript/Typescript

  • For Javascript/Typescript, added type text for properties where available. Added 'public' to kind text for properties and methods with default visibility
  • For Javascript/Typescript, made class fields and methods with names beginning with '#' have 'private' kinds
  • For Typescript, fixed missing call to parent constructor with use of 'super' inside child constructor
  • For Typescript, added implicit typing on const definitions
  • For Typescript, added support for const type parameters for Typescript 5.0
  • For Typescript, additional changes for type tracking and member lookup
  • For Typescript, fixed syntax error on use of a function call as an extends expression
  • For Typescript, made changes to use type relations to find components
  • For Typescript/Javascript, added support for decorators




Known Issues

  • Entity filter list may be blank on Windows 
  • Variables in CodeCheck may appear as "unnamed" 
  • License manager occasionally displays a threading warning 
  • Incorrect control flow graph when simplify macro expansion is enabled 
  • Collapsed code no longer accessible when modifying first line of a collapsed block