C# Class CsDebugScript.CodeGen.UserTypes.PhysicalUserType

Physical representation of the user type
Inheritance: UserType
Show file Open project: southpolenator/WinDbgCs Class Usage Examples

Public Methods

Method Description
PhysicalUserType ( Symbol symbol, XmlType xmlType, string nameSpace ) : System

Initializes a new instance of the PhysicalUserType class.

Protected Methods

Method Description
ExtractFieldInternal ( SymbolField field, TypeTree fieldType, UserTypeFactory factory, string simpleFieldValue, string gettingField, bool isStatic, UserTypeGenerationFlags generationFlags, bool extractingBaseClass ) : UserTypeField

Generates user type field based on the specified symbol field and all other fields that are prepared for this function. Do not use this function directly, unless you are calling it from overridden function.

GenerateConstructors ( UserTypeGenerationFlags generationFlags ) : IEnumerable

Generates the constructors.

GetAutoGeneratedFields ( bool hasNonStatic, bool useThisClass ) : IEnumerable

Gets the automatically generated fields.

GetBaseClassTypeTree ( TextWriter error, Symbol type, UserTypeFactory factory, int &baseClassOffset ) : TypeTree

Gets the type tree for the base class. If class has multi inheritance, it can return MultiClassInheritanceTypeTree or SingleClassInheritanceWithInterfacesTypeTree.

Private Methods

Method Description
AddFieldCodeType ( string fieldName ) : string

Add field to the list of additionally generated field types.

IsTypeUsingStaticCodeType ( UserType userType ) : bool

Determines whether the specified user type has defined static variable for class code type.

Method Details

ExtractFieldInternal() protected method

Generates user type field based on the specified symbol field and all other fields that are prepared for this function. Do not use this function directly, unless you are calling it from overridden function.
protected ExtractFieldInternal ( SymbolField field, TypeTree fieldType, UserTypeFactory factory, string simpleFieldValue, string gettingField, bool isStatic, UserTypeGenerationFlags generationFlags, bool extractingBaseClass ) : UserTypeField
field SymbolField The symbol field.
fieldType CsDebugScript.CodeGen.TypeTrees.TypeTree The field tree type.
factory UserTypeFactory The user type factory.
simpleFieldValue string The code foe "simple field value" used when creating transformation.
gettingField string The code for getting field variable.
isStatic bool if set to true generated field should be static.
generationFlags UserTypeGenerationFlags The user type generation flags.
extractingBaseClass bool if set to true user type field is being generated for getting base class.
return UserTypeField

GenerateConstructors() protected method

Generates the constructors.
protected GenerateConstructors ( UserTypeGenerationFlags generationFlags ) : IEnumerable
generationFlags UserTypeGenerationFlags The user type generation flags.
return IEnumerable

GetAutoGeneratedFields() protected method

Gets the automatically generated fields.
protected GetAutoGeneratedFields ( bool hasNonStatic, bool useThisClass ) : IEnumerable
hasNonStatic bool if set to true this class has dynamic fields.
useThisClass bool if set to true this class is using thisClass variable.
return IEnumerable

GetBaseClassTypeTree() protected method

Gets the type tree for the base class. If class has multi inheritance, it can return MultiClassInheritanceTypeTree or SingleClassInheritanceWithInterfacesTypeTree.
protected GetBaseClassTypeTree ( TextWriter error, Symbol type, UserTypeFactory factory, int &baseClassOffset ) : TypeTree
error System.IO.TextWriter The error text writer.
type Symbol The type for which we are getting base class.
factory UserTypeFactory The user type factory.
baseClassOffset int The base class offset.
return CsDebugScript.CodeGen.TypeTrees.TypeTree

PhysicalUserType() public method

Initializes a new instance of the PhysicalUserType class.
public PhysicalUserType ( Symbol symbol, XmlType xmlType, string nameSpace ) : System
symbol Symbol The symbol we are generating this user type from.
xmlType XmlType The XML description of the type.
nameSpace string The namespace it belongs to.
return System