Click or drag to resize
Nova.CodeDOM Namespace
This namespace contains all types used to model C# source code as objects, also known as the CodeDOM.
Classes
  ClassDescription
Public classAccessorDecl
The common base class of GetterDecl, SetterDecl, AdderDecl, and RemoverDecl.
Public classAccessorDeclWithValue
The common base class of SetterDecl, AdderDecl, and RemoverDecl.
Public classAdd
Adds one Expression to another.
Public classAddAssign
Adds one Expression to another, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classAdderDecl
Represents a special type of method used to add to an event.
Public classAddressOf
Takes the address of a fixed variable in an unsafe context.
Public classAlias
Represents an alias to a Namespace or a type (TypeDecl, or TypeDefinition/Type).
Public classAliasRef
Represents a reference to an Alias, which can in turn refer to a NamespaceRef or a TypeRef (or an UnresolvedRef).
Public classAnd
Performs a conditional (logical) 'and' of two boolean Expressions.
Public classAnnotation
The common base class of all code annotations, including user comments (derived from CommentBase), code attributes (Attribute), compiler directives (derived from CompilerDirective), and generated messages (derived from Message).
Public classAnonymousMethod
Represents an un-named method that can be assigned to a delegate.
Public classAnonymousMethodBase
The common base class of LambdaExpression and AnonymousMethod.
Public classAnonymousMethodRef
Represents a reference to an AnonymousMethodBase (AnonymousMethod, or LambdaExpression).
Public classAnonymousType
Declares a "nameless" class. Declared only implicitly by NewObject.
Public classAnonymousTypeRef
Represents a reference to an anonymous type (a type that is determined at compile-time).
Public classApplicationContext
Manages all assemblies loaded into an AppDomain.
Public classArgList
Creates a variable list of arguments (RuntimeArgumentHandle) for use by ArgIterator. This is an undocumented C# operator.
Public classArgListParameterDecl
Represents the declaration of an (undocumented) '__arglist' parameter.
Public classArgumentsOperator
The common base class of all operators with a variable list of arguments (Call, Index, NewOperator, StackAlloc, ArgList, RefValue).
Public classAs
Converts an Expression to the specified type, returning null if the conversion can't be done.
Public classAssemblyReference
Represents a project reference to an external assembly.
Public classAssignment
Assigns the right Expression to the left Expression. Also the common base class of all compound assignment operators (AddAssign, BitwiseAndAssign, BitwiseOrAssign, BitwiseXorAssign, DivideAssign, LeftShiftAssign, ModAssign, MultiplyAssign, RightShiftAssign, SubtractAssign).
Public classAttribute
Represents metadata associated with a CodeObject.
Public classAttributeTargetHelpers
Static helper methods and extension methods for the AttributeTarget enum.
Public classAwait
Indicates that an expression should be executed asynchronously.
Public classBaseInitializer
Represents a call to a constructor in the base class (constructor initializer).
Public classBaseListTypeDecl
The common base class of all user-defined types with optionally declared base types (ClassDecl, StructDecl, InterfaceDecl, and EnumDecl).
Public classBaseRef
Represents a reference to the base class of the current object instance.
Public classBinaryArithmeticOperator
The common base class of all binary arithmetic operators (Add, Subtract, Multiply, Divide, Mod).
Public classBinaryBitwiseOperator
The common base class of all binary bitwise operators (BitwiseAnd, BitwiseOr, BitwiseXor).
Public classBinaryBooleanOperator
The common base class of all binary operators that evaluate to boolean values (RelationalOperator [common base of Equal, NotEqual, GreaterThan, LessThan, GreaterThanEqual, LessThanEqual], And, Or, Is).
Public classBinaryOperator
Public classBinaryShiftOperator
The common base class of LeftShift and RightShift.
Public classBitwiseAnd
Performs a boolean AND operation on two Expressions.
Public classBitwiseAndAssign
Performs a boolean AND operation on two Expressions, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classBitwiseOr
Performs a boolean OR operation on two Expressions.
Public classBitwiseOrAssign
Performs a boolean OR operation on two Expressions, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classBitwiseXor
Performs a boolean XOR operation on two Expressions.
Public classBitwiseXorAssign
Performs a boolean XOR operation on two Expressions, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classBlock
Represents the body of a BlockStatement or AnonymousMethodBase (containing a sequence of 0 or more CodeObjects).
Public classBlockDecl
Represents a stand-alone block of code restricted to a local scope (surrounded by braces).
Public classBlockStatement
Public classBooleanOperatorDecl
Represents a user-overloaded 'true' or 'false' operator.
Public classBreak
Causes execution of the active loop or switch/case block to terminate.
Public classCall
Represents a call to a Method or a Delegate, including any arguments.
Public classCase
Used as a child of a Switch. Includes a constant expression plus a body (a statement or block).
Public classCast
The Cast operator casts an Expression to the specified Type.
Public classCatch
Has an optional Expression or LocalDecl (which must evaluate to an Exception type), plus a body that is executed if an exception of the specified type is caught. The Expression may be omitted (null), in which case all exceptions are caught.
Public classChecked
Explicitly turns ON overflow checking (exceptions) for an Expression.
Public classCheckedBlock
Contains a body of code for which overflow checking is explicitly turned on.
Public classCheckedOperator
The common base class of the Checked and Unchecked operators.
Public classChildListT
Represents a collection of child CodeObjects of a particular type. Sets the Parent reference of each child object added to the collection.
Public classChildListHelpers
Extension methods for ChildList - extension methods are used in these cases so that the collection itself can be checked for being null inside the call.
Public classClassConstraint
Constrains the type that a TypeParameter can represent to a reference type.
Public classClassDecl
Declares a class, which includes a name plus a body, along with various optional modifiers.
Public classCodeAnnotation
Represents a 'listed' code Annotation and its location (Project and CodeUnit). Listed annotations include all Messages (error, warning, suggestion, etc) and also special Comments.
Public classCodeObject
The common base class of all code objects.
Public classCodeUnit
Declares a unit of independent code that belongs to the root-level namespace (also known as a "compilation unit"). Usually is the contents of a source file, but it can optionally be in-memory only. A CodeUnit is essentially a NamespaceDecl of the global namespace.
Public classComment
Represents user comments, and may either be independent or associated with another CodeObject.
Public classCommentBase
The common base class of all comment classes (Comment and DocComment).
Public classCompilerDirective
The common base class of all compiler directives (ConditionalDirective, MessageDirective, SymbolDirective, PragmaDirective, LineDirective).
Public classComplement
Performs a one's complement (toggles all bits) on an Expression.
Public classCOMReference
Represents a project reference to a COM object.
Public classConditional
Represents a conditional if/then/else (ternary) expression.
Public classConditionalDirective
The common base class of IfDirective, ElIfDirective, and ElseDirective.
Public classConditionalDirectiveBase
The common base class of IfDirective, ElIfDirective, ElseDirective, and EndIfDirective.
Public classConditionalExpressionDirective
The common base class of IfDirective and ElIfDirective.
Public classConstraintClause
Represents one or more contraints on a type parameter.
Public classConstructorDecl
Represents a special method used to initialize an instance of a ClassDecl or StructDecl. If a constructor is static, it can't have any parameters, and can't have any other modifiers except extern (in which case it has no body) or unsafe.
Public classConstructorInitializer
The common base class of BaseInitializer and ThisInitializer.
Public classConstructorRef
Represents a reference to a ConstructorDecl or MethodDefinition/ConstructorInfo.
Public classContinue
Causes execution to jump back to the top of the active loop.
Public classConversionOperatorDecl
Represents a user-defined conversion operator.
Public classDecrement
Decrements an Expression, which should evaluate to a VariableRef (or a property or indexer access).
Public classDefault
Used as a child of a Switch. Includes a body (a statement or block).
Public classDefaultValue
Returns the default value for the specified type.
Public classDefineSymbol
Provides for the definition of a "pre-processor" symbol - may only appear at the very top of a CodeUnit (file)!
Public classDelegateDecl
Declares a type that represents a reference to a method.
Public classDestructorDecl
Represents a named Block of code used to destruct the instance of a class. It has no modifiers or parameters, can't be inherited or overloaded, and can't be called directly. Only classes can have them, and they can only have one.
Public classDirectiveSymbolRef
Represents a reference to a pre-processor directive symbol.
Public classDivide
Divides one Expression by another.
Public classDivideAssign
Divides one Expression by another, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classDocB
Represents a section of bold text in a documentation comment.
Public classDocC
Represents a fragment of code in a documentation comment.
Public classDocCDATA
Represents a section of character data in a documentation comment.
Public classDocCode
Represents a block of code in a documentation comment.
Public classDocCodeRefBase
The common base class of all documentation comment tags that have a 'cref' attribute (DocSee, DocSeeAlso, DocException, DocPermission).
Public classDocComment
Public classDocExample
Documents how to use a code object.
Public classDocException
Documents that an exception can be thrown by a method, property, event, or indexer.
Public classDocI
Represents a section of italic text in a documentation comment.
Public classDocInclude
Allows for documentation comments to be included from a separate file.
Public classDocList
Represents a list in a documentation comment.
Public classDocListDescription
Represents the description of a DocListItem in a DocList in a documentation comment.
Public classDocListHeader
Represents the header of a DocList in a documentation comment.
Public classDocListItem
Represents an item in a DocList in a documentation comment.
Public classDocListTerm
Represents the term of a DocListItem in a DocList in a documentation comment.
Public classDocNameBase
The common base class of all documentation comment tags that have a 'name' attribute (DocParam, DocParamRef, DocTypeParam, DocTypeParamRef).
Public classDocPara
Represents a separate paragraph in a documentation comment.
Public classDocParam
Documents a method or indexer parameter.
Public classDocParamRef
Embeds a reference to a method or indexer parameter in a documentation comment.
Public classDocPermission
Documents the access rights of a member.
Public classDocRemarks
Provides additional comments for a code object.
Public classDocReturns
Documents the return value of a method.
Public classDocSee
Embeds a reference to a type or member in a documentation comment.
Public classDocSeeAlso
Documents a reference to a type or member that should be presented in a "See Also" section.
Public classDocSummary
Provides a summary comment for a code object.
Public classDocTag
Represents an unrecognized or orphaned (missing start or end) tag in a documentation comment.
Public classDocText
Represents plain-text user documentation of code.
Public classDocTypeParam
Documents a type parameter.
Public classDocTypeParamRef
Embeds a reference to a type parameter in a documentation comment.
Public classDocValue
Documents the value of a property.
Public classDot
Performs a member lookup (either directly on a namespace or type, or indirectly on the evaluated type of the expression on the left side).
Public classDoWhile
Represents the "while" portion of a DoWhile loop, and does NOT have a body. This class works as a child of the While class, which displays as a "do" loop when IsDoWhile is set to true - it should not be used directly.
Public classDynamicExpressionRef
Represents a symbolic reference that is part of a dynamically-typed expression (and therefore is unresolved until runtime).
Public classDynamicTypeRef
Represents a reference to a 'dynamic' type.
Public classElIfDirective
Used for optional compilation of code, must be preceeded by an IfDirective or ElIfDirective, and followed by one of ElIfDirective, ElseDirective, or EndIfDirective.
Public classElse
Represents a non-conditional alternative portion of an If or ElseIf (as a child of one of those object types).
Public classElseDirective
Used for optional compilation of code, must be preceeded by an IfDirective or ElIfDirective, and followed by an EndIfDirective.
Public classElseIf
Represents a conditional alternative portion of an If or ElseIf (as a child of one of those object types).
Public classEndIfDirective
Marks the end of an IfDirective.
Public classEndRegionDirective
Represents the end of a section of code that can be collapsed, and has optional descriptive text.
Public classEnumConstant
Represents a constant value of a specified enum type, stored in the underlying type of the enum.
Public classEnumDecl
Declares an enumerated type, and includes a name and a body with a list of identifiers (with optional assigned values). It can also optionally have modifiers and/or a base type.
Public classEnumMemberDecl
Represents the declaration of an individual enum member. Can only be used as a child of MultiEnumMemberDecl, not as a stand-alone declaration.
Public classEnumMemberRef
Represents a reference to an EnumMemberDecl (a member of an EnumDecl type declaration).
Public classEqual
The Equal operator checks if the left Expression is equal to the right Expression.
Public classErrorDirective
Forces the compiler to emit an error message.
Public classErrorLoadedAssembly
Represents an assembly that failed to load.
Public classEventDecl
Declares a property-like event, with add/remove accessors.
Public classEventRef
Represents a reference to an EventDecl or EventDefinition/EventInfo.
Public classExpression
The common base class of all expressions.
Public classExpressionTreeRef
Public classExternAlias
Used together with compiler command-line options to create additional root-level namespaces.
Public classExternAliasRef
Represents a reference to an ExternAlias namespace statement, or to the 'global' namespace.
Public classFalse
Determines if an expression evaluates to false.
Public classFieldDecl
Represents a class member variable declaration.
Public classFieldRef
Represents a reference to a FieldDecl or a FieldDefinition/FieldInfo.
Public classFinally
Has a body that is ensured to always be executed whenever its parent Try block is exited for any reason.
Public classFixed
Fixes moveable variable(s) for the duration of the statment in an unsafe context.
Public classFixedSizeBufferDecl
Represents a declaration of a fixed-size buffer in a StructDecl in an unsafe context.
Public classFor
Represents a 'for' loop.
Public classForEach
Defines an iteration variable and a collection (or array) plus a body (a statement or block) that is repeatedly executed for each variable in the collection.
Public classFrameworkContext
Represents a group of loaded assemblies for a particular target framework version, loaded into a particular AppDomain.
Public classFromClause
Represents a LINQ 'from' clause.
Public classGenericMethodDecl
Represents a generic method declaration with type parameters.
Public classGetterDecl
Represents a special type of method used to read the value of a property.
Public classGoto
Redirects execution to the specified Label or SwitchItem (Case or Default).
Public classGotoTargetRef
The common base class of LabelRef and SwitchItemRef.
Public classGreaterThan
The GreaterThan operator checks if the left Expression is greater than the right Expression.
Public classGreaterThanEqual
The GreaterThanEqual operator checks if the left Expression is greater than or equal to the right Expression.
Public classGroupClause
Represents a LINQ 'group' clause.
Public classIf
Represents conditional flow control, and includes a conditional expression, a body, and an optional Else or ElseIf statement.
Public classIfBase
The common base class of If and ElseIf.
Public classIfDirective
Marks the beginning of a section of conditionally compiled code.
Public classIfNullThen
Returns the right Expression if the left Expression is null, otherwise it returns the left Expression.
Public classIncrement
Increments an Expression, which should evaluate to a VariableRef (or a property or indexer access).
Public classIndex
Represents an index into an array or type with an indexer. Array indexes must be integral. Indexers may index with any type.
Public classIndexerDecl
Represents an "indexer" - an indexed property.
Public classIndexerRef
Represents a reference to an IndexerDecl or a PropertyInfo for an indexer.
Public classInitializer
Represents the initialization of an array, object, or collection with a list of Expressions.
Public classInterfaceDecl
Declares an interface, which includes a name plus a body, along with various optional modifiers. Interfaces define contracts - they have no fields or code.
Public classIs
Checks if an Expression can be converted to the specified type, returning true if so.
Public classJoinClause
Represents a LINQ 'join' clause.
Public classLabel
Represents a named entry point that can be targeted by one or more Goto statements.
Public classLabelRef
Represents a reference to a Label.
Public classLambdaExpression
Represents an un-named method that can be assigned to a delegate. It's very similar to an AnonymousMethod, just with newer, simplified syntax, and it supports implicit types for its parameters.
Public classLeftShift
Shifts the bits of the left Expression to the LEFT by the number of bits indicated by the right Expression.
Public classLeftShiftAssign
Shifts the value of the left Expression LEFT by the value of the right Expression, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classLessThan
The LessThan operator checks if the left Expression is less than the right Expression.
Public classLessThanEqual
The LessThanEqual operator checks if the left Expression is less than or equal to the right Expression.
Public classLetClause
Represents a LINQ 'let' clause.
Public classLineDirective
Used to control embedded line number information.
Public classLiteral
Represents a literal value of a particular type (string, int, bool, etc).
Public classLoadedAssembly
Represents an Assembly that has been loaded into memory.
Public classLocalDecl
Represents a local variable declaration.
Public classLocalRef
Represents a reference to a LocalDecl.
Public classLock
Maintains a critical section on the provided object while the body of the statement is executing.
Public classLookup
Specifies that an identifier is in the specified namespace - either 'global' or an aliased root-level namespace name (specified either with a 'using' or extern alias directive).
Public classMakeRef
Returns a TypedReference object for the specified variable. This is an undocumented C# operator.
Public classMessage
Represents a generated message associated with a CodeObject (error, warning, suggestion, or hint).
Public classMessageDirective
Public classMethodDecl
Represents a named Block of code with optional parameters and an optional return value. Various optional modifiers can also be used (the default is 'private').
Public classMethodDeclBase
The common base class of MethodDecl, GenericMethodDecl, ConstructorDecl, and DestructorDecl.
Public classMethodRef
Public classMod
Returns the remainder of the division of one Expression by another.
Public classModAssign
Gets the remainder of the division of one Expression by another, and assigns it to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classModifiersHelpers
Static helper methods and extension methods for Modifiers.
Public classMonoCecilAssemblyResolver
Derives from a Mono Cecil BaseAssemblyResolver in order to resolve assemblies on demand in the scope of a certain Project.
Public classMonoCecilLoadedAssembly
Represents an AssemblyDefinition that has been loaded into memory using Mono.Cecil.
Public classMultiEnumMemberDecl
Represents the declaration of the single valid member of an EnumDecl, which has one or more EnumMemberDecl children. It has no name (its children have names), and its type is the base type of the parent EnumDecl, or it defaults to int. MultiEnumMemberDecls are implicitly constants (and therefore also static).
Public classMultiFieldDecl
Represents a compound field declaration - the declaration of multiple fields of the same type in a single statement.
Public classMultiFixedSizeBufferDecl
Represents a compound fixed-size buffer declaration - the declaration of multiple fixed-size buffers of the same type in a single statement.
Public classMultiLocalDecl
Represents a compound local variable declaration - the declaration of multiple local variables of the same type in a single statement.
Public classMultiply
Multiplies one Expression by another.
Public classMultiplyAssign
Multiplies one Expression by another, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classNamedArgument
Represents an argument expression associated with a specific parameter of a method (or indexer).
Public classNamedCodeObjectDictionary
Represents a dictionary of INamedCodeObjects, allowing multiple entries with the same name. Differs from NamedObjectDictionary in that it can only hold INamedCodeObjects, and NOT metadata (IMemberDefinition/MemberInfo).
Public classNamedCodeObjectGroup
Represents a group of named code objects (INamedCodeObjects) with the same name, such as overloaded methods or other name collisions. Differs from NamedObjectGroup in that it can only hold INamedCodeObjects, and NOT metadata (IMemberDefinition/MemberInfo).
Public classNamedObjectDictionary
Represents a dictionary of named code or metadata objects (INamedCodeObjects and/or IMemberDefinitions/MemberInfos), allowing multiple entries with the same name. Differs from NamedCodeObjectDictionary in that it can hold metadata (IMemberDefinition/MemberInfo) in addition to INamedCodeObjects.
Public classNamedObjectGroup
Represents a group of named code or metadata objects (INamedCodeObjects and/or IMemberDefinitions/MemberInfos) with the same name, such as overloaded methods or other name collisions. Differs from NamedCodeObjectGroup in that it can hold metadata (IMemberDefinition/MemberInfo) in addition to INamedCodeObjects.
Public classNameOf
Returns the string name of the specified code object.
Public classNamespace
Represents a namespace of type declarations and optional child namespaces.
Public classNamespaceDecl
Declares a namespace plus a body of declarations that belong to it.
Public classNamespaceRef
Represents a reference to a Namespace.
Public classNamespaceTypeDictionary
Represents a dictionary of Namespaces and types (TypeDecls and/or TypeDefinitions/Types), allowing multiple entries with the same name.
Public classNamespaceTypeGroup
Represents a group of types (TypeDecls and/or TypeDefinitions/Types) and/or Namespaces, with the same name (the contained objects are of type 'object').
Public classNegative
Negates an Expression.
Public classNewArray
The NewArray operator is used to create new array instances.
Public classNewConstraint
Constrains the type that a TypeParameter can represent to one with a default constructor.
Public classNewObject
The NewObject operator is used to create new object instances of class, struct, delegate, or anonymous types.
Public classNewOperator
The common base class of NewObject and NewArray.
Public classNot
Checks if an Expression is false.
Public classNotEqual
The NotEqual operator checks if the left Expression is NOT equal to the right Expression.
Public classNullSafeDot
Performs a null-safe member lookup (either directly on a namespace or type, or indirectly on the evaluated type of the expression on the left side). Has the same behavior as Dot, except that if the left side evaluates to null at runtime no exception is thrown.
Public classNullSafeIndex
Represents a null-safe index into an array or type with an indexer. Array indexes must be integral. Indexers may index with any type.
Public classOpenTypeParameterRef
Represents a reference to a TypeParameter (or GenericParameter/Type) from outside the generic type or method declaration that declares it, and exists only temporarily until it is replaced by a concrete type or TypeParameterRef during the type argument evaluation process.
Public classOperator
The common base class of all operations (binary, unary, or other).
Public classOperatorDecl
Represents a user-overloaded operator. The boolean ('true' and 'false') operators use the derived class BooleanOperatorDecl, and conversion operators use the derived class ConversionOperatorDecl.
Public classOperatorRef
Represents a reference to an OperatorDecl or MethodDefinition/MethodInfo for an overloaded operator.
Public classOr
Performs a conditional (logical) 'or' of two boolean Expressions.
Public classOrderByClause
Represents a LINQ 'order by' clause.
Public classOrdering
Represents a child expression of a LINQ OrderByClause.
Public classOut
Allows a variable being passed as a parameter to be marked as an 'out' parameter. This is a special pseudo-operator that is only for use in this special case.
Public classParameterDecl
Represents the declaration of a parameter to a method.
Public classParameterRef
Represents a reference to a ParameterDecl or a ParameterDefinition/ParameterInfo. Similar to a LocalRef, but represents a parameter passed to the current method.
Public classPointerIndirection
Obtains the variable to which a pointer points in an unsafe context.
Public classPointerMember
Performs a member lookup on a pointer in an unsafe context.
Public classPositive
Has no effect (exists for convenience only).
Public classPostDecrement
Decrements an Expression *after* it is evaluated. Use Decrement instead when possible, because it's more efficient.
Public classPostIncrement
Increments an Expression *after* it is evaluated. Use Increment instead when possible, because it's more efficient.
Public classPostUnaryOperator
The common base class of all postfix unary operators (PostIncrement and PostDecrement).
Public classPragmaChecksumDirective
Used to manage checksum information for files.
Public classPragmaDirective
The common base class of all pragma directives (PragmaChecksumDirective, PragmaWarningDirective).
Public classPragmaWarningDirective
Used to turn warnings on or off.
Public classPreUnaryOperator
The common base class of all prefix unary operators (AddressOf, Cast, Complement, Decrement, False, Increment, Negative, Not, PointerIndirection, Positive, True).
Public classProject
Represents a collection of CodeUnit objects (files) that are compiled together into some type of target (such as a .DLL or .EXE file).
Public classProjectConfiguration
Configuration settings for a Project.
Public classProjectFileItem
Represents a file item in a Project file.
Public classProjectUnhandledData
Represents unhandled data in a Project file.
Public classProjectReference
Represents a project reference to another project in the same solution.
Public classPropertyDecl
Represents a "property" - a virtual field accessed only by calling get and/or set methods.
Public classPropertyDeclBase
The common base class of PropertyDecl, IndexerDecl, and EventDecl.
Public classPropertyRef
Represents a reference to a PropertyDecl or PropertyDefinition/PropertyInfo.
Public classQueryBodyBase
The common base class of QueryExpression and QueryContinuation.
Public classQueryBodyClause
The common base class of all query clauses that can be part of a query base (FromClause, LetClause, JoinClause, WhereClause, OrderByClause, SelectClause, GroupClause).
Public classQueryClauseBase
The common base class of all query clauses (QueryBodyClause [common base of FromClause, LetClause, JoinClause, WhereClause, OrderByClause], SelectOrGroupClause [common base of SelectClause, GroupClause]).
Public classQueryContinuation
Represents a continuation of a LINQ query, consisting of 'into' with an identifier, optional QueryBodyClauses, a SelectOrGroupClause, and an optional QueryContinuation.
Public classQueryExpression
Represents a LINQ query, consisting of a FromClause with optional QueryBodyClauses, a SelectOrGroupClause, and an optional QueryContinuation.
Public classRef
Allows a variable being passed as a parameter to be marked as a 'ref' parameter. This is a special pseudo-operator that is only for use in this special case.
Public classReference
The common base class of AssemblyReference, ProjectReference, and COMReference.
Public classReflectionLoadedAssembly
Represents an Assembly that has been loaded into memory using .NET reflection.
Public classRefOutOperator
The common base class of the Ref and Out pseudo-operators.
Public classRefType
Returns the corresponding Type for the specified TypedReference. This is an undocumented C# operator.
Public classRefValue
Returns the value portion of the specified TypedReference, cast to the specified type. This is an undocumented C# operator.
Public classRegionDirective
Represents the start of a section of code that can be collapsed, and has optional descriptive text.
Public classRelationalOperator
The common base class of all relational operators (Equal, NotEqual, GreaterThan, LessThan, GreaterThanEqual, LessThanEqual).
Public classRemoverDecl
Represents a special type of method used to remove from an event.
Public classReturn
Indicates that execution should return from the current method, and has an optional Expression to be evaluated as the return value.
Public classRightShift
Shifts the bits of the left Expression to the RIGHT by the number of bits indicated by the right Expression.
Public classRightShiftAssign
Shifts the value of the left Expression RIGHT by the value of the right Expression, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classRootNamespace
Represents the top-level namespace (either a project's global namespace, or an extern alias namespace).
Public classSelectClause
Represents a LINQ 'select' clause.
Public classSelectOrGroupClause
The common base class of SelectClause and GroupClause.
Public classSelfRef
The common base class of ThisRef and BaseRef.
Public classSetterDecl
Represents a special type of method used to write the value of a property.
Public classSingleArgumentOperator
The common base class of all operators with a fixed single argument (Ref, Out, Checked, Unchecked, TypeOf, SizeOf, DefaultValue).
Public classSizeOf
Returns the size of the specified type.
Public classSolution
Represents a collection of Project objects that are logically grouped (and compiled) together.
Public classSolutionGlobalSection
Represents a global-level section of configuration data in a solution file.
Public classSolutionProjectEntry
Represents a project entry in a Solution file.
Public classSolutionProjectSection
Represents a project-level section of configuration data in a solution file.
Public classStackAlloc
Allocates memory from the call stack in an unsafe context.
Public classStatement
Public classStructConstraint
Constrains the type that a TypeParameter can represent to a value type.
Public classStructDecl
Declares a struct, includes a name plus a body, along with various optional modifiers. Unlike classes, structs are value types.
Public classSubtract
Subtracts one Expression from another.
Public classSubtractAssign
Subtracts one Expression from another, and assigns the result to the left Expression. The left Expression must be an assignable object ("lvalue").
Public classSwitch
Represents conditional flow control, and consists of a constant expression (of integral or string type) along with one or more Case or Default child statements.
Public classSwitchItem
The common base class of the Case and Default statements (of a Switch).
Public classSwitchItemRef
Represents a reference to a SwitchItem (Case or Default).
Public classSymbolDirective
The common base class of DefineSymbol and UnDefSymbol.
Public classSymbolicRef
The common base class of all symbolic references, such as NamespaceRef, TypeRefBase (common base of TypeRef, MethodRef, UnresolvedRef), VariableRef, SelfRef, GotoTargetRef, ExternAliasRef, and DirectiveSymbolRef.
Public classSymbolicRefIsSameRefComparer
Determines if one SymbolicRef is equivalent to another one, meaning they both refer to the same code object or type.
Public classTempExpr
Used temporarily during the parsing process for special situations - specifically, as a temporary holder of compiler directives that need to be returned to a higher level.
Public classThisInitializer
Represents a call to another constructor in the same class (constructor initializer).
Public classThisRef
Represents a reference to the current object instance.
Public classThrow
Indicates that an exception should be thrown, and has an expression that should evaluate to an object of type Exception. If the expression is omitted (null), then any currently active exception (inside a Catch body) is re-thrown.
Public classTokenMessage
Represents a Message associated with a parse Token.
Public classTrue
Determines if an expression evaluates to true.
Public classTry
Contains a body of code that is scoped to one or more Catch statements and/or a Finally statement.
Public classTypeConstraint
Constrains the type that a TypeParameter can represent to the specified type (or a derived type). The constraining type can be a class type, an interface type, or a type parameter type.
Public classTypeDecl
The common base class of all user-defined type declarations (ClassDecl, StructDecl, InterfaceDecl, EnumDecl, and DelegateDecl).
Public classTypeOf
Returns the system type object for the specified type.
Public classTypeOperator
The common base class of the TypeOf, SizeOf, and DefaultValue operators.
Public classTypeParameter
Represents a type parameter of a generic type or method declaration.
Public classTypeParameterConstraint
Public classTypeParameterRef
Represents a reference to a TypeParameter (or GenericParameter/Type) from within the generic type or method declaration that declares it.
Public classTypeRef
Represents a reference to an ITypeDecl (TypeDecl, TypeParameter, Alias) or an external TypeDefinition/Type.
Public classTypeRefBase
Handles references to generic and/or array types, and is the common base class of TypeRef, MethodRef (because it can be treated as a delegate type, and can have generic parameters), and UnresolvedRef (because unresolved symbols can have generic parameters and array ranks).
Public classTypeRefBaseIsSameTypeRefComparer
Determines if one TypeRefBase is equivalent to another one, meaning they both refer to the same type.
Public classUnaryOperator
The common base class of all unary operators (PreUnaryOperator, PostUnaryOperator).
Public classUnchecked
Explicitly turns OFF overflow checking (exceptions) for an Expression.
Public classUncheckedBlock
Contains a body of code for which overflow checking is explicitly turned off.
Public classUnDefSymbol
Allows for removing an existing definition of a "pre-processor" symbol - may only appear at the top of a CodeUnit (file)!
Public classUnrecognized
Represents a list of one or more unrecognized identifiers or symbols (UnresolvedRefs). If it's part of a larger expression (as opposed to being a stand-alone expression), then the last entry in the list will itself be a valid child expression.
Public classUnresolvedRef
Represents a symbolic reference that hasn't been resolved to a direct reference (includes references that are unresolved because they are ambiguous, or because the type arguments or method arguments don't match in number or type).
Public classUnresolvedThisRef
This is a special class used for explicit interface implementations of indexers, and also for an explicit reference to an indexer member of a type (these are normally implicit, but explicit references are legal in doc comments).
Public classUnsafe
Contains a body of code that is marked as "unsafe".
Public classUsing
Enforces the disposal of an object when it's no longer needed. It accepts either an Expression or a LocalDecl, and internally wraps this in a try/finally that calls Dispose() on the object (which must implement the IDisposable interface).
Public classUsingDirective
Imports the contents of a Namespace or a Type (as of C# 6.0) into the current scope.
Public classValueParameterDecl
Represents the declaration of an implicit 'value' parameter for a GetterDecl, AdderDecl, or RemoverDecl.
Public classVariableDecl
The common base class of FieldDecl, LocalDecl, ParameterDecl, and EnumMemberDecl.
Public classVariableRef
The common base class of all variable references (FieldRef, LocalRef, ParameterRef, EnumMemberRef, PropertyRef, IndexerRef, EventRef).
Public classVarTypeRef
Represents a reference to an implicit type (one that is determined at compile-time). Implicit types are represented as 'var', and can currently only be used for LocalDecls. They are also used internally (not displayed) for implicitly-typed ParameterDecls of LambdaExpressions.
Public classWarningDirective
Forces the compiler to emit a warning message.
Public classWhereClause
Represents a LINQ 'where' clause.
Public classWhile
Includes a conditional expression plus a body (a statement or block) that is repeatedly executed as long as the expression evaluates to true. If IsDoWhile is true, the expression is evaluated at the bottom of the block ("do-while").
Public classYieldBreak
Signals the end of an iterator.
Public classYieldReturn
Yields the current value of an iterator.
Public classYieldStatement
The common base class of YieldReturn and YieldBreak.
Interfaces
  InterfaceDescription
Public interfaceIBlock
This interface is implemented by all code objects that can have a Block for a body (subclasses of BlockStatement, AnonymousMethodBase, DocCode).
Public interfaceIExpressionFormat
This interface is implemented by all code objects that can have a lambda expression as a body instead of a block.
Public interfaceIFile
This interface is implemented by all code objects that can be stored as files, which includes Solution, Project, and CodeUnit.
Public interfaceIModifiers
This interface is implemented by all code objects that have Modifiers.
Public interfaceIMultiDeclT
Public interfaceINamedCodeObject
This interface is implemented by all CodeObjects that have a Name property, and can be referenced symbolically.
Public interfaceINamespace
This interface is implemented by all code objects that represent namespace declarations (Namespace and Alias).
Public interfaceIParameters
This interface is implemented by all code objects that have parameters (MethodDeclBase [MethodDecl, GenericMethodDecl, ConstructorDecl, DestructorDecl], IndexerDecl, DelegateDecl, AnonymousMethodBase [AnonymousMethod, LambdaExpression]).
Public interfaceITypeDecl
This interface is implemented by all code objects that represent type declarations, which includes TypeDecl, TypeParameter, and Alias.
Public interfaceITypeParameters
This interface is implemented by all code objects that have TypeParameters (TypeDecl, GenericMethodDecl).
Public interfaceIVariableDecl
This interface is implemented by all code objects that represent variable declarations, which includes VariableDecl (ParameterDecl, LocalDecl, FieldDecl, EnumMemberDecl), and PropertyDeclBase (PropertyDecl, EventDecl, IndexerDecl).
Public interfaceIVisitor
This interface allows for use of the Visitor design pattern to traverse a tree of CodeObjects.
Enumerations
  EnumerationDescription
Public enumerationAnnotationFlags
Annotation formatting flags.
Public enumerationAttributeTarget
Valid attribute target types.
Public enumerationCodeObjectFormatFlags
Formatting flags.
Public enumerationCodeObjectRenderFlags
Rendering behavior flags (passed through rendering methods).
Public enumerationCommentFlags
Comment type flags.
Public enumerationLineDirectiveType
The type of a LineDirective.
Public enumerationLoadOptions
Load options - used when loading a Solution, Project, or CodeUnit.
Public enumerationLoadStatus
Used for status callbacks during the load process to monitor progress and update any UI.
Public enumerationMessageSeverity
The severity of a message.
Public enumerationMessageSource
The source of a message.
Public enumerationModifiers
These modifiers are usable on various code objects to specify access and special behaviors.
Public enumerationOrderingDirection
The direction of an Ordering.
Public enumerationParameterModifier
These modifiers are usable on method parameters to specify special behavior. Only a single modifier is allowed for each parameter.
Public enumerationPragmaWarningAction
The action of a PragmaWarningDirective.
Public enumerationProjectBuildActions
Enumeration of build actions.
Public enumerationProjectCopyActions
Enumeration of copy actions.
Public enumerationProjectDebugTypes
Enumeration of debug types.
Public enumerationProjectErrorReporting
Enumeration of error reporting types.
Public enumerationProjectGenerateSerializationTypes
Enumeration of types of serialization generation.
Public enumerationProjectLocations
Public enumerationProjectOutputTypes
Enumeration of output types.
Public enumerationTypeParameterVariance
Valid type parameter variance specifiers.
Public enumerationTypeRefBaseTypeFlags
Flags used to handle pointers, const state, and type formatting.