6.2.5.56. Architecture-CSharpRFGTransformations

Additional transformation steps for C#-based RFGs

Required inputs: RFG

Offers several transformation steps for C#-based RFGs that can help avoiding undesired warnings with respect to architecture, dead-code and cycle analysis.

Possible Messages

This rule has no predefined messages.

Options

add_interface_calls

add_interface_calls : bool = False

Enhance RFG with calls between interface and implementation methods.
 

base_view_name

base_view_name : str = 'Code Facts'

The base view used for transformations; either "Code Facts" or Assembly.
 

call_view_name

call_view_name : str = 'Call'

The call view.
 

cycles_view_name

cycles_view_name : str = 'Cycles'

The cycles view.
 

exclude_dispose_cycles

exclude_dispose_cycles : bool = False

Try to locate the following cycle pattern: A::dispose() =e1=> B::dispose(bool) =e2=> System::IDisposable::dispose() =e3(artificial)=> A::dispose(); if the pattern is encountered, the edges e1 and e2 are marked by Element.Is_Artificial as well.
 

export_warnings

export_warnings : bool = True

Export output messages to the analysis database.
 

hierarchy_view_name

hierarchy_view_name : str = 'Assembly'

The hierarchy view.
 

loglevel

loglevel : LogLevel = 'WARNING'

Logging mode. WARNING only outputs errors and warnings, INFO additionally prints info messages, DEBUG additionally outputs info and debug messages.
 

mark_base_constructor_calls

mark_base_constructor_calls : bool = False

Make base() calls artificial, thus excluding findings based on them e.g. from architecture analysis.
 

mark_generated_entities

mark_generated_entities : bool = False

Mark all entities that are annotated by a CompilerGenerated attribute or GeneratedCode attribute as artificial, and removes call edges between these entities from the call view.
 

remove_template_parameters

remove_template_parameters : bool = False

Remove template parameters from the base view.
 

Option Types

These types are used by options listed above:

LogLevel

An enumeration.
 
  • WARNING

  • INFO

  • DEBUG