[ANN] New version of 4Dv16 Code Analysis Component available

Just a heads up. The most recent version has been released. It is v16 only.


Code Analysis 2017.3 - Oct 9, 2017


  • Converted to 4D v16.
  • Reimplemented code that parses and tokenizes the 4d methods that the Code Analysis uses for statistics. Slight improvement in speed and fixes a number of parsing bugs.
  • Added UI for unit tests that have been implemented within the component.

Code Analysis Window: Exporting All as Text

  • Modified the code that is used to detect when a file in an included folder should be copied to the destination.
    Only files that have truly changed will be copied.
    A file that has an updated modification date but has no changes within the file will not be copied.

Code Analysis Window: Folder Differences

  • Improved the algorithm that is used to compare files in the identified folders. Properly identifies files that confirmed to be different regardless of file modification dates. No more false positives when doing a checkout from git.

Code Analysis Window: Index Analysis

  • Optimized the code used for doing the index count analysis. Performance significantly improved.

Components Methods Shared to the Host

  • Added “BuildNo_GetBuildNo_CodeAnalysis”. The method will return an C_OBJECT that contains the version information for the component.
    For example: {“releaseYear”:“2017”, “releaseNo”:“r1”, “buildNo”:“20170529”, “versionShort”:“2017.r1”, “versionLong”:“2017.r1 (build 20170529)”}
  • Added “CA_Pref_SetExportFolder”. The method will set the root folder where the component will export all of it’s files and folders to.
  • Added “CA_Pref_SetEOL”. The method sets the end-of-line character that is used when exporting methods. Possible values are: “\r”, “\n”, “\r\n”, or “”.
  • Added “CA_Pref_GetStructureKey”. The method will return the unique key that is attributed to the host structure.
  • Added “CA_Pref_SetStructureKey”. The method allows the caller to specify the unique key that is attributed to the host structure.
  • Added “CA_Pref_GetPreferencesFolder”. The method returns the path to where the component stores all of it’s structure specific preferences.

Code Analysis Window: Structure Analysis

  • Added a new tab that shows the fields and tables that are directly referenced in code. This tab can be used to indicate the structure elements that are not used.

Explorer Window

  • Added ability to hide methods that are preemptive capable, incapable or indifferent.

Dani Beaubien