Click or drag to resize

MetricsVisitor Class

Visits a code tree, calculating metrics for it.
Inheritance Hierarchy
SystemObject
  Nova.AnalysisMetricsVisitor

Namespace:  Nova.Analysis
Assembly:  Nova.CodeDOM (in Nova.CodeDOM.dll) Version: 7.44.8391.13415
Syntax
C#
public class MetricsVisitor : IVisitor

The MetricsVisitor type exposes the following members.

Constructors
  NameDescription
Public methodMetricsVisitor
Create an instance that will calculate metrics for the specified scope.
Top
Properties
  NameDescription
Public propertyVisitHiddenRefs
Returns false for MetricsVisitor, because we want to ignore any hidden references.
Top
Methods
  NameDescription
Public methodCalculateMetrics
Visit the code tree (specified in the constructor), calculate all metrics, and return the result.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodProcess
Process a CodeObject, calculating any common metrics for it.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodVisit(Alias)
Visit an Alias statement.
Public methodVisit(AnonymousMethodBase)
Visit an AnonymousMethodBase expression (common base of LambdaExpression, AnonymousMethod).
Public methodVisit(ArgumentsOperator)
Visit an ArgumentsOperator operator (common base of Call, Index, NewOperator).
Public methodVisit(Attribute)
Visit an Attribute annotation.
Public methodVisit(BinaryOperator)
Public methodVisit(Block)
Visit a Block body of a BlockStatement - this should rarely be used, since all members of the Block will be visited separately.
Public methodVisit(BlockDecl)
Visit a BlockDecl statement.
Public methodVisit(Break)
Visit a Break statement.
Public methodVisit(Catch)
Visit a Catch statement.
Public methodVisit(CheckedBlock)
Visit a CheckedBlock statement.
Public methodVisit(CodeUnit)
Visit a CodeUnit.
Public methodVisit(Comment)
Visit a Comment annotation.
Public methodVisit(CompilerDirective)
Public methodVisit(Conditional)
Visit a Conditional operator.
Public methodVisit(ConstraintClause)
Public methodVisit(Continue)
Visit a Continue statement.
Public methodVisit(DocComment)
Public methodVisit(Else)
Visit an Else statement.
Public methodVisit(EnumMemberDecl)
Visit an EnumMemberDecl statement.
Public methodVisit(ExternAlias)
Visit an ExternAlias statement.
Public methodVisit(FieldDecl)
Public methodVisit(Finally)
Visit a Finally statement.
Public methodVisit(Fixed)
Visit a Fixed statement.
Public methodVisit(For)
Visit a For statement.
Public methodVisit(ForEach)
Visit a ForEach statement.
Public methodVisit(Goto)
Visit a Goto statement.
Public methodVisit(IfBase)
Visit an IfBase statement (common base of If, ElseIf).
Public methodVisit(Initializer)
Visit an Initializer expression.
Public methodVisit(Label)
Visit a Label statement.
Public methodVisit(Literal)
Visit a Literal expression.
Public methodVisit(LocalDecl)
Visit a LocalDecl statement (also MultiLocalDecl).
Public methodVisit(LocalDeclExpr)
Visit a LocalDeclExpr expression.
Public methodVisit(Lock)
Visit a Lock statement.
Public methodVisit(Message)
Visit a Message annotation.
Public methodVisit(MethodDeclBase)
Public methodVisit(NamedArgument)
Visit a NamedArgument expression.
Public methodVisit(NamespaceDecl)
Visit a NamespaceDecl statement (does NOT include CodeUnits).
Public methodVisit(Ordering)
Visit an Ordering expression (children of OrderByClause).
Public methodVisit(ParameterDecl)
Public methodVisit(Project)
Visit a Project.
Public methodVisit(PropertyDeclBase)
Visit a PropertyDeclBase statement (common base of PropertyDecl, IndexerDecl, EventDecl).
Public methodVisit(QueryBodyBase)
Visit a QueryBodyBase expression (common base of QueryExpression, QueryContinuation).
Public methodVisit(QueryClauseBase)
Public methodVisit(Return)
Visit a Return statement.
Public methodVisit(SingleArgumentOperator)
Visit a SingleArgumentOperator operator (common base of Ref, Out, Checked, Unchecked, TypeOf, SizeOf, DefaultValue).
Public methodVisit(Switch)
Visit a Switch statement.
Public methodVisit(SwitchItem)
Visit a SwitchItem statement (common base of Case, Default).
Public methodVisit(SymbolicRef)
Public methodVisit(Throw)
Visit a Throw statement.
Public methodVisit(ThrowExpr)
Visit a ThrowExpr expression.
Public methodVisit(Try)
Visit a Try statement.
Public methodVisit(TypeDecl)
Visit a TypeDecl statement (common base of ClassDecl, StructDecl, InterfaceDecl, EnumDecl, DelegateDecl).
Public methodVisit(TypeParameter)
Visit a TypeParameter.
Public methodVisit(TypeParameterConstraint)
Public methodVisit(UnaryOperator)
Public methodVisit(UncheckedBlock)
Visit an UncheckedBlock statement.
Public methodVisit(Unrecognized)
Visit an Unrecognized expression.
Public methodVisit(Unsafe)
Visit an Unsafe statement.
Public methodVisit(Using)
Visit a Using statement.
Public methodVisit(UsingDirective)
Visit a UsingDirective statement.
Public methodVisit(While)
Visit a While statement.
Public methodVisit(YieldStatement)
Visit a YieldStatement statement.
Public methodVisitT(ChildListT)
Top
Fields
  NameDescription
Protected field_includesCodeUnits
True if the metrics are at the CodeUnit level or above (otherwise, line numbers and SLOC must also be calculated).
Protected field_maxLineNumber
The maximum line number of the processed code if it was only a fragment (no CodeUnits).
Public fieldMetrics
The Metrics object holding the calculated metrics.
Public fieldScope
The starting CodeObject of the metrics calculation, or a string name if multiple scopes are used (such as the name of directory, to calculate metrics for all files in it).
Top
See Also