Click or drag to resize

ClassDecl Class

Declares a class, which includes a name plus a body, along with various optional modifiers.
Inheritance Hierarchy

Namespace:  Nova.CodeDOM
Assembly:  Nova.CodeDOM (in Nova.CodeDOM.dll) Version: 7.44.8391.13415
Syntax
C#
public class ClassDecl : BaseListTypeDecl

The ClassDecl type exposes the following members.

Constructors
Properties
  NameDescription
Public property_AsString
This property is just to make debugging easier.
(Inherited from CodeObject.)
Public propertyAnnotations
Annotations (comments, attributes, directives, messages) associated with the current code object.
(Inherited from CodeObject.)
Public propertyBaseTypes
The list of base types.
(Inherited from BaseListTypeDecl.)
Public propertyBody
The Block body.
(Inherited from BlockStatement.)
Public propertyCategory
The descriptive category of the code object.
(Inherited from TypeDecl.)
Public propertyColumnNumber
The column number associated with the CodeObject (if any, 0 if none).
(Inherited from CodeObject.)
Public propertyComment
The comment for the code object (if any).
(Inherited from CodeObject.)
Public propertyConstraintClauses
A collection of optional ConstraintClauses (for generic types).
(Inherited from TypeDecl.)
Public propertyDeclaringType
Get the declaring TypeDecl.
(Inherited from TypeDecl.)
Public propertyDocComment
The documentation comment for the code object (if any).
(Inherited from CodeObject.)
Public propertyEOLComment
The End-Of-Line comment for the code object (if any).
(Inherited from CodeObject.)
Public propertyHasAnnotations
True if the code object has any annotations.
(Inherited from CodeObject.)
Public propertyHasArgument
True if the Statement has an argument.
(Inherited from TypeDecl.)
Public propertyHasArgumentParens
True if the Statement has parens around its argument.
(Inherited from TypeDecl.)
Public propertyHasAttributes
True if the code object has any attributes.
(Inherited from CodeObject.)
Public propertyHasBaseTypes
True if there are any base types.
(Inherited from BaseListTypeDecl.)
Public propertyHasBraces
True if the BlockStatement has braces.
(Inherited from BlockStatement.)
Public propertyHasBracesAlways
True if the BlockStatement always requires braces.
(Inherited from BlockStatement.)
Public propertyHasComments
True if the code object has any comments of any kind.
(Inherited from CodeObject.)
Public propertyHasCompilerDirectives
True if the code object has any compiler directive annotations.
(Inherited from CodeObject.)
Public propertyHasConstraintClauses
True if there are any ConstraintClauses.
(Inherited from TypeDecl.)
Public propertyHasDocComments
True if the code object has any documentation comments.
(Inherited from CodeObject.)
Public propertyHasEOLComments
True if the code object has any EOL comments.
(Inherited from CodeObject.)
Public propertyHasEOLOrPostAnnotations
True if the code object has any EOL or Postfix annotations.
(Inherited from CodeObject.)
Public propertyHasErrors
True if the code object has any error messages.
(Inherited from CodeObject.)
Public propertyHasFirstOnLineAnnotations
True if the code object has any annotations on separate lines.
(Inherited from CodeObject.)
Public propertyHasHeader
True for all BlockStatements that have a header (all except CodeUnit and BlockDecl).
(Inherited from BlockStatement.)
Public propertyHasInfixComments
True if the code object has any Infix comments.
(Inherited from CodeObject.)
Public propertyHasMessages
True if the code object has any generated messages.
(Inherited from CodeObject.)
Public propertyHasNoIndentation
Determines if the code object has no indentation.
(Inherited from CodeObject.)
Public propertyHasNonEOLComments
True if the code object has any regular (non-doc) preceding (non-EOL, non-Infix, non-Postfix) comments.
(Inherited from CodeObject.)
Public propertyHasPostAnnotations
True if the code object has any postfix annotations.
(Inherited from CodeObject.)
Public propertyHasTerminator
Determines if the code object has a terminator character.
(Inherited from CodeObject.)
Public propertyHasTerminatorDefault
True if the Statement has a terminator character by default.
(Inherited from BlockStatement.)
Public propertyHasTypeParameters
True if the type has TypeParameters.
(Inherited from TypeDecl.)
Public propertyHiddenRef
Any hidden reference to another CodeObject.
(Inherited from CodeObject.)
Public propertyInfixComment
The infix comment for the code object (if any).
(Inherited from CodeObject.)
Public propertyIsAbstract
True if the type is abstract.
(Inherited from TypeDecl.)
Public propertyIsClass
Always true.
(Overrides TypeDeclIsClass.)
Public propertyIsComImport
True if the type is a COM Import.
(Inherited from TypeDecl.)
Public propertyIsCompactIfEmptyDefault
True if the BlockStatement has compact empty braces by default.
(Inherited from BlockStatement.)
Public propertyIsDelegateType
True if the type is a delegate type.
(Inherited from TypeDecl.)
Public propertyIsEndFirstOnLine
True if the closing paren or bracket is on a new line.
(Inherited from Statement.)
Public propertyIsEnum
True if the type is an enum.
(Inherited from TypeDecl.)
Public propertyIsFirstOnLine
Determines if the code object appears as the first item on a line.
(Inherited from CodeObject.)
Public propertyIsFirstOnLineDefault
True if the code object defaults to starting on a new line.
(Inherited from CodeObject.)
Public propertyIsGenerated
Determines if the code object is generated.
(Inherited from CodeObject.)
Public propertyIsGenericParameter
True if the type is a generic parameter.
(Inherited from TypeDecl.)
Public propertyIsGenericType
True if the type is a generic type (meaning that either it or an enclosing type has type parameters, and it's not an enum).
(Inherited from TypeDecl.)
Public propertyIsGroupingSet
Determines if the 'grouping' (has parens or braces) status has been set.
(Inherited from CodeObject.)
Public propertyIsInterface
True if the type is an interface.
(Inherited from TypeDecl.)
Public propertyIsInternal
True if the type has internal access.
(Inherited from TypeDecl.)
Public propertyIsMethodBodyLevel
True if a BlockStatement is at a method body level (contains general code statements). For example, anything at a MethodDeclBase level or lower in the code tree. Specifically, NOT a NamespaceDecl, TypeDecl, or PropertyDeclBase.
(Inherited from TypeDecl.)
Public propertyIsMultiPart
True for multi-part statements, such as try/catch/finally or if/else.
(Inherited from BlockStatement.)
Public propertyIsNested
True if the type is a nested type.
(Inherited from TypeDecl.)
Public propertyIsNew
True if the type has a 'new' modifier.
(Inherited from TypeDecl.)
Public propertyIsNewLinesSet
Determines if the newline count has been set on the code object.
(Inherited from CodeObject.)
Public propertyIsNullableType
True if the type is a nullable type.
(Inherited from TypeDecl.)
Public propertyIsPartial
True if the type is a partial type.
(Inherited from TypeDecl.)
Public propertyIsPrivate
True if the type has private access.
(Inherited from TypeDecl.)
Public propertyIsProtected
True if the type has protected access.
(Inherited from TypeDecl.)
Public propertyIsPublic
True if the type has public access.
(Inherited from TypeDecl.)
Public propertyIsReadOnly
True if the type is a 'readonly' type.
(Inherited from TypeDecl.)
Public propertyIsRef
True if the type is a 'ref' type.
(Inherited from TypeDecl.)
Public propertyIsRenderable
True if the CodeObject is renderable.
(Inherited from CodeObject.)
Public propertyIsSealed
True if the type is sealed.
(Inherited from TypeDecl.)
Public propertyIsSingleLine
Determines if the code object only requires a single line for display.
(Inherited from BaseListTypeDecl.)
Public propertyIsSingleLineDefault
True if the code object only requires a single line for display by default.
(Inherited from BlockStatement.)
Public propertyIsStatic
True if the type is static.
(Inherited from TypeDecl.)
Public propertyIsStruct
True if the type is a struct.
(Inherited from TypeDecl.)
Public propertyIsTopLevel
True if a BlockStatement is at the top level (those that have no header and no indent). For example, a CodeUnit, a BlockDecl with no parent or a DocComment or Project parent.
(Inherited from BlockStatement.)
Public propertyIsValueType
True if the type is a value type.
(Inherited from TypeDecl.)
Public propertyKeyword
The keyword associated with the Statement.
(Overrides StatementKeyword.)
Public propertyLineNumber
The line number associated with the CodeObject (if any, 0 if none).
(Inherited from CodeObject.)
Public propertyModifiers
Optional Modifiers for the type.
(Inherited from TypeDecl.)
Public propertyName
The name of the TypeDecl.
(Inherited from TypeDecl.)
Public propertyNewLines
The number of newlines preceding the object (0 to N).
(Inherited from TypeDecl.)
Public propertyParent
The parent CodeObject.
(Inherited from TypeDecl.)
Public propertyParentProject
The parent Project of the TypeDecl.
(Inherited from TypeDecl.)
Public propertyPostfixComment
The postfix comment for the code object (if any).
(Inherited from CodeObject.)
Public propertyRequiresEmptyStatement
True if the BlockStatement requires an empty statement if it has an empty block with no braces.
(Inherited from BlockStatement.)
Public propertyStartColumnNumber
The starting column number of any modifier if parsed from or written to text form.
(Inherited from TypeDecl.)
Public propertyStartLineNumber
The starting line number of any modifier if parsed from or written to text form.
(Inherited from TypeDecl.)
Public propertyTerminator
The terminator character for the Statement.
(Inherited from Statement.)
Public propertyTypeParameterCount
The number of TypeParameters the type has.
(Inherited from TypeDecl.)
Public propertyTypeParameters
A collection of optional TypeParameters (for generic types).
(Inherited from TypeDecl.)
Top
Methods
  NameDescription
Public methodAccept
Accept the specified visitor object for the current code object and it's children.
(Inherited from BaseListTypeDecl.)
Public methodAcceptAnnotations(IVisitor)
Accept the specified visitor object for all regular (non-EOL, non-Infix, non-Postfix) annotations (comments, attributes, compiler directives).
(Inherited from CodeObject.)
Public methodAcceptAnnotations(IVisitor, AnnotationFlags)
Accept the specified visitor object for all specified Infix or Postfix annotations (comments, compiler directives).
(Inherited from CodeObject.)
Public methodAcceptEOLComments
Accept the specified visitor object for all EOL comments.
(Inherited from CodeObject.)
Public methodAcceptInfixComments
Accept the specified visitor object for all Infix comments.
(Inherited from CodeObject.)
Public methodAcceptInfixEOLComments
Accept the specified visitor object for all Infix EOL comments.
(Inherited from CodeObject.)
Public methodAdd(CodeObject)
Add a CodeObject to the ClassDecl body.
(Overrides TypeDeclAdd(CodeObject).)
Public methodAdd(CodeObject)
Add multiple CodeObjects to the ClassDecl body.
(Overrides BlockStatementAdd(CodeObject).)
Public methodAddBaseTypes
Add one or more base type Expressions.
(Inherited from BaseListTypeDecl.)
Public methodAddConstraintClauses
Add one or more ConstraintClauses.
(Inherited from TypeDecl.)
Public methodAddProperty
Add an automatic property to the ClassDecl.
Public methodAddRange
Add a collection of CodeObjects to the ClassDecl body.
(Overrides BlockStatementAddRange(IEnumerableCodeObject).)
Public methodAddToDictionary
Add the CodeObject to the specified dictionary.
(Inherited from TypeDecl.)
Public methodAddTypeParameters
Add one or more TypeParameters.
(Inherited from TypeDecl.)
Protected methodAdjustBaseTypePostComments
Move any trailing post annotations on the last base type to the first constraint (if any) as prefix annotations.
(Inherited from BaseListTypeDecl.)
Public methodAssociateCommentWhenParsing
Determine if the specified comment should be associated with the current code object during parsing.
(Inherited from TypeDecl.)
Public methodAsString
Render the entire code object as a string, using LFs for newlines.
(Inherited from CodeObject.)
Public methodAsText
Convert the code object to text with a trailing newline, and using CR/LF pairs for newlines (file format).
(Inherited from CodeObject.)
Public methodAsText(CodeWriter, CodeObjectRenderFlags) (Inherited from Statement.)
Public methodAsText(CodeObjectRenderFlags, Boolean, StackCodeWriterAlignmentState)
Convert the code object to text using the specified flags and format (file or string).
(Inherited from CodeObject.)
Protected methodAsTextAfter (Inherited from BaseListTypeDecl.)
Public methodAsTextAnnotations(CodeWriter, CodeObjectRenderFlags)
Render all regular (non-EOL, non-Infix, non-Postfix, non-Message) annotations (comments, attributes, compiler directives).
(Inherited from CodeObject.)
Public methodAsTextAnnotations(CodeWriter, AnnotationFlags, CodeObjectRenderFlags)
Render all specified Infix or Postfix annotations (comments, compiler directives).
(Inherited from CodeObject.)
Protected methodAsTextArgument (Inherited from TypeDecl.)
Protected methodAsTextArgumentPrefix (Inherited from Statement.)
Protected methodAsTextBefore (Inherited from CodeObject.)
Public methodAsTextEOLComments
Render all EOL comments.
(Inherited from CodeObject.)
Protected methodAsTextEvaluatedType (Inherited from CodeObject.)
Public methodAsTextInfixComments
Render all Infix comments with the specified mask.
(Inherited from CodeObject.)
Public methodAsTextInfixEOLComments
Render all Infix EOL comments.
(Inherited from CodeObject.)
Public methodAsTextLeftMostAnnotations
Render all regular annotations on the current object, or the left most binary operator.
(Inherited from CodeObject.)
Public methodAsTextLength
Determine the length of the code object if converted to a string using the specified flags.
(Inherited from CodeObject.)
Public methodAsTextName (Inherited from TypeDecl.)
Protected methodAsTextPrefix (Inherited from TypeDecl.)
Protected methodAsTextStatement (Inherited from Statement.)
Protected methodAsTextSuffix (Inherited from BaseListTypeDecl.)
Protected methodAsTextTerminator (Inherited from Statement.)
Public methodAttachAnnotation(Annotation, Boolean) (Inherited from CodeObject.)
Public methodAttachAnnotation(Annotation, AnnotationFlags, Boolean)
Attach an Annotation to the CodeObject at the specified position.
(Inherited from CodeObject.)
Public methodAttachComment
Create a comment object and attach it to the code object.
(Inherited from CodeObject.)
Public methodAttachEOLComment
Create an EOL comment object and attach it to the code object.
(Inherited from CodeObject.)
Public methodAttachMessage
Create a message and attach it to the code object.
(Inherited from CodeObject.)
Public methodCalculateMetrics
Calculate metrics for this code object and its children.
(Inherited from CodeObject.)
Protected methodCheckForAlignment
Check for alignment of any EOL comments.
(Inherited from CodeObject.)
Public methodCheckGeneratedDefaultConstructor
Check if we need to create or remove a compiler-generated default constructor.
Protected methodCheckRemoveGeneratedDefaultConstructor
Check if we need to remove a compiler-generated default constructor when adding a constructor.
Public methodClearCachedOtherParts
Clear any cached list of other parts of this type (if it's a partial type), in both this type and in all other parts.
(Inherited from TypeDecl.)
Public methodClone
Deep-clone the code object.
(Inherited from BaseListTypeDecl.)
Protected methodCloneField(Object, Object)
Clone a field of a code object, including setting the parent.
(Inherited from CodeObject.)
Protected methodCloneFieldT(T, T)
Clone a field of a code object, including setting the parent.
(Inherited from CodeObject.)
Public methodContains
Check if the BlockStatement contains the specified CodeObject.
(Inherited from BlockStatement.)
Public methodCopyFormatting
Copy formatting from another code object.
(Inherited from CodeObject.)
Public methodCreateAnnotations
Create the list of child Annotations, or return the existing one.
(Inherited from CodeObject.)
Public methodCreateArrayRef(Int32)
Create an array reference to this TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateArrayRef(Boolean, Int32)
Create an array reference to this TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateBaseTypes
Create the list of base type Expressions, or return the existing one.
(Inherited from BaseListTypeDecl.)
Public methodCreateBody
Create a body if one doesn't exist yet.
(Inherited from BlockStatement.)
Public methodCreateConstraintClauses
Create the list of ConstraintClauses, or return the existing one.
(Inherited from TypeDecl.)
Public methodCreateNullableRef
Create a nullable reference to this TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateRef(Boolean)
Create a reference to the TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateRef(Expression)
Create a reference to the TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateRef(Boolean, Expression)
Create a reference to the TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateRef(ChildListExpression, ListInt32, Int32)
Create a reference to the TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateRef(Boolean, ChildListExpression, ListInt32, Int32)
Create a reference to the TypeDecl.
(Inherited from TypeDecl.)
Public methodCreateTypeParameters
Create the list of TypeParameters, or return the existing one.
(Inherited from TypeDecl.)
Protected methodDefaultFormat
Default format the code object.
(Inherited from BlockStatement.)
Protected methodDefaultFormatField (Inherited from Statement.)
Public methodDefaultNewLines
Determine a default of 1 or 2 newlines when adding items to a Block.
(Overrides CodeObjectDefaultNewLines(CodeObject).)
Public methodDispose
Dispose the CodeObject.
(Inherited from CodeObject.)
Public methodDoTypeArgumentCountsMatch
Determine if the type argument counts match those in the specified UnresolvedRef.
(Inherited from TypeDecl.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEvaluateTypeOrNamespace
Evaluate the type or namespace associated with the code object.
(Inherited from CodeObject.)
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 methodFind(String)
Enumerate all children with the specified name.
(Inherited from BlockStatement.)
Public methodFindT
Enumerate all children of type T.
(Inherited from BlockStatement.)
Public methodFindFirstT
Find the first child object of type T.
(Inherited from BlockStatement.)
Public methodFindFirstT(String)
Find the first child object with the specified name and type.
(Inherited from BlockStatement.)
Protected methodFindInAllPartsT(ICollectionT)
Find all members of the specified type T, including in other parts of partial types.
(Inherited from TypeDecl.)
Protected methodFindInAllPartsT(String, NamedObjectGroup)
Find all members of the type with the specified name and of type T, including in other parts of partial types.
(Inherited from TypeDecl.)
Public methodFindIndexOf
Find the index of the specified CodeObject in the BlockStatement.
(Inherited from BlockStatement.)
Public methodFindParentT
Find the parent object of the specified type.
(Inherited from CodeObject.)
Public methodFindParentMethod
Find the parent method (or anonymous method or lambda) of the current code object.
(Inherited from CodeObject.)
Public methodFindParentMethodOrType
Find the parent method (or anonymous method or lambda) or type of the current code object.
(Inherited from CodeObject.)
Public methodFindTypeArgumentInBase
Find a type argument in a base class for the specified type parameter.
(Inherited from BaseListTypeDecl.)
Public methodFindTypeParameterIndex(TypeParameter)
Find the index of the specified TypeParameter in the declaration of the TypeDecl or an enclosing TypeDecl if this one is nested. Also handles partial types.
(Inherited from TypeDecl.)
Protected methodFindTypeParameterIndex(TypeParameter, Int32)
Find the index of the specified TypeParameter in the declaration of the TypeDecl or an enclosing TypeDecl if this one is nested. Also handles partial types.
(Inherited from TypeDecl.)
Public methodGetAccessRights
Get the IsPrivate access right for the specified usage, and if not private then also get the IsProtected and IsInternal rights.
(Inherited from TypeDecl.)
Public methodGetAllBaseTypes
Get all base type expressions, including those of other parts if this is a partial type.
(Inherited from BaseListTypeDecl.)
Public methodGetAllChildrenT
Get an enumerator for all children objects of type T in the CodeObject and in any child CodeObjects (recursively).
(Inherited from CodeObject.)
Public methodGetAttribute
Returns the first attribute expression (Call or ConstructorRef) with the specified name on the CodeObject.
(Inherited from CodeObject.)
Public methodGetBaseType
Get the base type.
(Overrides TypeDeclGetBaseType.)
Public methodGetComment
Get the comment that satisfies the specified predicate.
(Inherited from CodeObject.)
Public methodGetConstructor
Get the non-static constructor with the specified parameters. Searches base types.
(Inherited from TypeDecl.)
Public methodGetConstructors
Get all non-static constructors for this type.
(Inherited from TypeDecl.)
Public methodGetDelegateParameters
Get the delegate parameters of the type (if any).
(Inherited from TypeDecl.)
Public methodGetDelegateReturnType
Get the delegate return type of the type (if any).
(Inherited from TypeDecl.)
Public methodGetDescription
Get a short text description of the CodeObject. This is generally the shortest text representation that uniquely identifies objects, even if they have the same name, for example: type or return type, name, type parameters, parameters.
(Inherited from CodeObject.)
Public methodGetDocSummary
Returns the DocSummary documentation comment, or null if none exists.
(Inherited from CodeObject.)
Public methodGetEvent
Get the event with the specified name. Searches base types.
(Inherited from TypeDecl.)
Public methodGetField
Get the field with the specified name. Searches base types.
(Inherited from TypeDecl.)
Public methodGetFullName
Get the full name of the INamedCodeObject, including any namespace name.
(Inherited from TypeDecl.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetIndentLevel
Get the indent level of this object.
(Inherited from CodeObject.)
Public methodGetIndentSpaceCount
Get the current indent in spaces.
(Inherited from CodeObject.)
Public methodGetIndexer
Get the indexer with the specified parameter types. Searches base types.
(Inherited from TypeDecl.)
Public methodGetInferredType
Determine the type of an inferred ('var') type.
(Inherited from CodeObject.)
Public methodGetMemberDecls
Get all member declarations of the TypeDecl (methods, properties, indexers, events, fields, and nested types).
(Inherited from TypeDecl.)
Public methodGetMethod
Get the method with the specified name and parameter types.
(Inherited from BaseListTypeDecl.)
Public methodGetMethods(String, Boolean)
Get all methods with the specified name. Searches base types.
(Inherited from TypeDecl.)
Public methodGetMethods(String, Boolean, NamedObjectGroup)
Get all methods with the specified name.
(Inherited from BaseListTypeDecl.)
Public methodGetNamespace
Get the Namespace for this CodeObject.
(Inherited from CodeObject.)
Public methodGetNestedType
Get the nested type with the specified name. Searches base types.
(Inherited from TypeDecl.)
Public methodGetNestedTypeDecls
Get all nested type declarations of the TypeDecl.
(Inherited from TypeDecl.)
Public methodGetOtherParts
Get any other parts of this TypeDecl.
(Inherited from TypeDecl.)
Public methodGetProperty
Get the property with the specified name.
(Inherited from BaseListTypeDecl.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetTypeParameterConstraints
Get any constraints for the specified TypeParameter on this type.
(Inherited from TypeDecl.)
Public methodGetTypeRef
Get a TypeRef for the type with the specified full name, with caching (generally used for System types).
(Inherited from CodeObject.)
Public methodGetWorstMessageType
Get the type of the worst attached message.
(Inherited from CodeObject.)
Protected methodHasAnnotationT (Inherited from CodeObject.)
Public methodHasAttribute
Returns true if the attribute with the specified name exists on the object, otherwise false.
(Inherited from CodeObject.)
Public methodHasUnresolvedRef
Returns true if the code object is an UnresolvedRef or has any UnresolvedRef children.
(Inherited from BaseListTypeDecl.)
Public methodInsert
Insert a CodeObject at the specified index in the ClassDecl body.
(Overrides BlockStatementInsert(Int32, CodeObject).)
Public methodIsAssignableFrom
Determine if the type is assignable from the specified type.
(Inherited from BaseListTypeDecl.)
Protected methodIsChildIndented
Returns true if the specified child object is indented from the parent.
(Inherited from CodeObject.)
Protected methodIsChildPrefix
Returns true if the specified child object is prefixed to the current object.
(Inherited from CodeObject.)
Public methodIsImplementationOf
Determine if the type implements the specified interface type.
(Inherited from BaseListTypeDecl.)
Public methodIsSameAs
Check if the specified TypeDecl is identical to OR has the same name/namespace as the current one (could be different parts).
(Inherited from TypeDecl.)
Public methodIsSubclassOf
Determine if the class is a subclass of the specified class.
(Overrides TypeDeclIsSubclassOf(TypeRef).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMoveAllComments
Move all (regular or EOL) comments from the specified token to the current code object, converting any EOL comments to regular comments (which will be rendered inline if necessary).
(Inherited from CodeObject.)
Public methodMoveAnnotations
Move any annotations from the specified location to the specified destination location.
(Inherited from CodeObject.)
Public methodMoveComments(Token)
Move any non-EOL comments from the specified token to the current code object.
(Inherited from CodeObject.)
Public methodMoveComments(Token, Boolean)
Move any non-EOL comments from the specified token to the current code object.
(Inherited from CodeObject.)
Public methodMoveCommentsAsPost
Move any non-EOL comments from the specified token to the current code object as Post comments.
(Inherited from CodeObject.)
Public methodMoveEOLAndPostAnnotations
Move any EOL or Postfix annotations from the specified code object to the current code object.
(Inherited from CodeObject.)
Public methodMoveEOLComment(CodeObject)
Move any EOL comment from the specified code object to the current code object.
(Inherited from CodeObject.)
Public methodMoveEOLComment(Token)
Move any EOL comment from the specified token to the current code object.
(Inherited from CodeObject.)
Public methodMoveEOLComment(Token, Boolean, Boolean)
Move any EOL comment from the specified token to the current code object.
(Inherited from CodeObject.)
Public methodMoveEOLCommentAsInfix
Move any EOL comment from the specified token to the current code object as an Infix EOL comment.
(Inherited from CodeObject.)
Public methodMoveFormatting(CodeObject)
Move formatting from the specified code object to the current object.
(Inherited from CodeObject.)
Public methodMoveFormatting(Token)
Move formatting from the specified token to the current object.
(Inherited from CodeObject.)
Public methodMovePrefixAnnotationsAs
Move any prefix annotations on the specified code object to the current code object as the specified type of annotation.
(Inherited from CodeObject.)
Protected methodNotifyListedAnnotationAdded
Propagate the listed annotation to the parent CodeUnit and above.
(Inherited from CodeObject.)
Protected methodNotifyListedAnnotationRemoved
Remove the listed annotation from the parent CodeUnit and above.
(Inherited from CodeObject.)
Public methodStatic memberParse
Parse a ClassDecl.
Protected methodParseAnnotations(Parser, CodeObject)
Parse annotations - specifically, compiler directives around things such as TypeParameters or ParameterDecls.
(Inherited from CodeObject.)
Protected methodParseAnnotations(Parser, CodeObject, Boolean, Boolean)
Parse any comments, attributes, compiler directives.
(Inherited from CodeObject.)
Protected methodParseBaseTypeList (Inherited from BaseListTypeDecl.)
Protected methodParseConstraintClauses (Inherited from TypeDecl.)
Protected methodParseExpectedToken
Parse the specified expected token, attaching a parse error to the current object if it doesn't exist.
(Inherited from CodeObject.)
Protected methodParseKeywordAndArgument (Inherited from Statement.)
Protected methodParseKeywordArgumentBody (Inherited from BlockStatement.)
Protected methodParseModifiersAndAnnotations (Inherited from TypeDecl.)
Protected methodParseNameTypeParameters (Inherited from TypeDecl.)
Protected methodParseTerminator
Parse the terminator at the end of a Statement.
(Inherited from Statement.)
Protected methodParseTerminatorOrBody (Inherited from BlockStatement.)
Protected methodParseUnusedAnnotations
Parse annotations from the Unused list.
(Inherited from CodeObject.)
Protected methodParseUnusedType
This method is used when we must parse backwards through the Unused list to get a type.
(Inherited from Statement.)
Public methodReformatBlock
Reformat the Block body.
(Inherited from BlockStatement.)
Public methodRemove
Remove the specified CodeObject from the ClassDecl body.
(Overrides TypeDeclRemove(CodeObject).)
Public methodRemoveAll
Remove all CodeObjects from the ClassDecl body.
(Overrides BlockStatementRemoveAll.)
Public methodRemoveAllAnnotationsT
Remove all annotations of the specified type from this object.
(Inherited from CodeObject.)
Public methodRemoveAllAnnotationsWhereT
Remove all annotations from this object where the specified predicate is true.
(Inherited from CodeObject.)
Public methodRemoveAllMessages
Remove all messages from this object, or optionally only from the specified source.
(Inherited from CodeObject.)
Public methodRemoveAt
Remove the CodeObject at the specified index from the BlockStatement.
(Inherited from BlockStatement.)
Public methodRemoveAttribute
Remove the attribute expression with the specified name.
(Inherited from CodeObject.)
Public methodRemoveFromDictionary
Remove the CodeObject from the specified dictionary.
(Inherited from TypeDecl.)
Public methodReplace
Replace the specified CodeObject with a new one.
(Inherited from BlockStatement.)
Public methodResolve(ResolveFlags)
Resolve all child symbolic references.
(Inherited from CodeObject.)
Public methodResolve(ResolveCategory, ResolveFlags)
Resolve all child symbolic references, using the specified ResolveCategory and ResolveFlags.
(Inherited from BaseListTypeDecl.)
Public methodResolveAttributes
Resolve any attached attributes.
(Inherited from CodeObject.)
Public methodResolveDocComments
Resolve any references in attached documentation comments.
(Inherited from CodeObject.)
Public methodResolveExtensionMethod
Resolve an extension method with the specified name.
Public methodResolveGotoTargetUp
Resolve child code objects that match the specified name are valid goto targets, moving up the tree until a complete match is found.
(Inherited from BlockStatement.)
Public methodResolveIndexerRef
Resolve indexers.
(Inherited from TypeDecl.)
Protected methodResolveIndexerRefInBase
Resolve indexers in the base class.
(Inherited from TypeDecl.)
Public methodResolveRef
Resolve child code objects that match the specified name.
(Inherited from TypeDecl.)
Protected methodResolveRefInBase
Resolve child code objects in the base class that match the specified name.
(Inherited from TypeDecl.)
Public methodResolveRefUp
Resolve child code objects that match the specified name, moving up the tree until a complete match is found.
(Inherited from TypeDecl.)
Public methodResolveRefUpSkipMethodBody
Similar to ResolveRefUp(String, Resolver), but skips trying to resolve the symbol in the body or parameters of a method (used for resolving parameter types).
(Inherited from CodeObject.)
Protected methodSetField(Object, Object, Boolean)
Set a field of a code object, including setting the parent, and optional formatting.
(Inherited from CodeObject.)
Protected methodSetFieldT(ChildListT, ChildListT)
Set a ChildList collection field of a code object, including setting the parent.
(Inherited from CodeObject.)
Protected methodSetFieldT(T, T, Boolean)
Set a field of a code object, including setting the parent, and optional formatting.
(Inherited from CodeObject.)
Protected methodSetFormatFlag (Inherited from CodeObject.)
Protected methodSetLineCol(CodeObject)
Set the line and column numbers to those in the specified CodeObject.
(Inherited from CodeObject.)
Protected methodSetLineCol(Token)
Set the line and column numbers to those in the specified token.
(Inherited from CodeObject.)
Public methodSetNewLines
Special method to set the newline count without setting the NewLinesSet flag.
(Inherited from CodeObject.)
Protected methodSetStartLineCol
Set the starting line and column numbers to those in the specified token (used for prefixes such as modifiers).
(Inherited from TypeDecl.)
Public methodShouldHaveBraces
Determines if the body of the BlockStatement should be formatted with braces.
(Inherited from BlockStatement.)
Public methodToString
Render the type of the code object and its description as a string.
(Inherited from CodeObject.)
Public methodUpdateAllDeclExpressions
Recursively update the dictionary of names in the specified Block by either adding or removing (as specified by the 2nd parameter) all appropriate nested INamedCodeObjects expressions in the current CodeObject tree (specifically implemented for LocalDeclExpr expression objects).
(Inherited from CodeObject.)
Protected methodUpdateLineCol
Update the line and column numbers according to the current positions in the CodeWriter, if the UpdateLineCol flag is set.
(Inherited from CodeObject.)
Top
Fields
  NameDescription
Protected field_annotations
Any Annotations (Comments, DocComments, Attributes, or Messages) associated with the CodeObject (null if none).
(Inherited from CodeObject.)
Protected field_baseTypes
List of base types, each of which is an Expression that must evaluate to a TypeRef in valid code.
(Inherited from BaseListTypeDecl.)
Protected field_body
The body is always a Block, which in turn may contain zero or more other code objects, and it can also be null in special cases (such as for method signatures with no body, delegate declarations, or a While with the semi-colon on the same line).
(Inherited from BlockStatement.)
Protected field_columnNumber
The starting column number associated with the CodeObject if parsed from or written to text form.
(Inherited from CodeObject.)
Protected field_constraintClauses (Inherited from TypeDecl.)
Protected field_formatFlags
Formatting flags - for line feeds, braces, etc.
(Inherited from CodeObject.)
Protected field_lineNumber
The starting line number associated with the CodeObject if parsed from or written to text form.
(Inherited from CodeObject.)
Protected field_modifiers (Inherited from TypeDecl.)
Protected field_name (Inherited from TypeDecl.)
Protected field_otherParts
A cached list of other parts of this type if it's a partial type.
(Inherited from TypeDecl.)
Protected field_parent
The parent CodeObject.
(Inherited from CodeObject.)
Protected field_parentProject
The parent Project of the TypeDecl, used for performance when importing types.
(Inherited from TypeDecl.)
Protected field_startColumnNumber (Inherited from TypeDecl.)
Protected field_startLineNumber (Inherited from TypeDecl.)
Protected field_typeParameters (Inherited from TypeDecl.)
Public fieldStatic memberParseToken
The token used to parse the code object.
Public fieldStatic memberPartialClassLocks
A dictionary of lockable objects by class name, so that all partial classes share a single lock.
Top
Remarks
Non-nested classes can be only public or internal, and default to internal. Nested classes can be any of the 5 access types, and default to private. The accessibility of a contained type cannot exceed that of the parent type. Other valid modifiers include: new, abstract, sealed, partial Members of a class default to private. Allowed members are: ConstructorDecls, DestructorDecls, FieldDecls, MethodDecls, PropertyDecls, IndexerDecls, OperatorDecls, EventDecls, DelegateDecls, ClassDecls, StructDecls, InterfaceDecls The optional base list can contain a single base class and/or one or more interfaces. Optional type parameters can be used for generic types, along with optional constraints.
See Also