VA Assist Pro provides a sophisticated code analytics engine, which is designed to Detect, Report and Repair issues with source code. Furthermore, the code analytics engine is designed to run in real time, analyzing the code in the background as the user types.
• Disabled - The rule will be skipped
• Fatal Error - Highest Severity. An example of this is a compiler error.
• Error - High Severity. An example of this is an unknown selector that is saved into a method. The method can still be saved, but it is usually a good indication that something is wrong.
• Warning - Medium Severity. An example is a variable whose value is read before it has been assigned to. Unassigned variables are implicitly nil so it's not an error, but it is probably a good indication that something is amiss.
• Info - Low Severity. An example is a variable that could be pushed to an inner scope.
• Compiler Error - An error within the source that keeps it from compiling. Classification: Fatal Error
• Unimplemented method in system - A selector referenced within the code is not implemented in the image. This could be because the appropriate code is not loaded or it may be a spelling mistake. Classification: Error
• Unimplemented method in receiver - A message selector exists in the image, but it has been determined that the receiver of the message does not implement it. Classification: Error
• Class/Method not visible in application - A reference to a class or a message selector is not visible in the application prerequisite chain. This can cause errors when packaging because the packager relies heavily on the prerequisite chain to know what can be stripped out of a reduced image. This is also an early warning sign of a disorganized code base. Classification: Warning
•
• Variable read before written - The value of a variable is read before it is ever assigned to. Classification: Warning
• Variable written but never read - A variable is assigned a value (or multiple values) but the value is never used. Classification: Warning
• Variable can be pushed to inner scope - A variable could be defined in a more local scope. Classification: InfoWhile indicator visualizations show where an issue exists, it does not detail what the issue is. Call tips are used to do this. The developer simply hovers the mouse pointer over an indicator for a short period of time (@300ms) and a call tip will appear with a short description of the issue.Repairing is taking action against the reported issue in order to resolve it. There may be more than one possible action to take. Before a repair can proceed, the possible list of actions need to be presented to the user. VA Assist Pro accomplishes this with what are called Action List Call Tips. For more information on this, see the Action List Call Tips section described above in the "Call Tips" section.Code Analysis configuration options can be accessed by (Options | Code Assist | Configure...) in any browser menu and selecting "Code Analysis" from the Feature combo box in the Configuration UI.
• Enable Incremental Compiler - Enable/Disable real-time compiler error indication.Default: true
• Show Margin Markers - Enable/Disable the use of markers in the margin to indicate annotated source.Default: true
• Unimplemented method in system - Classification of lint rule that detects if a selector is implemented anywhere in the image.Default: Error
• Unimplemented method in receiver - Classification of lint rule that detects if a selector is implemented by the receiver.Default: Error
• Class/Method not visible in application - Classification of lint rule that checks the prerequisite visibility of references to classes and message sends.Default: Warning
• Variable is unused - Classification of lint rule that checks for declared temporaries that are never referenced.Default: Warning
• Variable is read before written - Classification of lint rule that checks for variables whose value is read before an assignment occurs.Default: Warning
• Variable is written but never read - Classification of lint rule that checks for variables that are assigned values but are never used.Default: Warning
• Variable can be pushed to inner scope - Classification of lint rule that checks for variables that could be defined in a more local scope.Default: Info