C# Класс ICSharpCode.NRefactory.MonoCSharp.TypeDefinition

Наследование: TypeContainer, ITypeDefinition
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
AnonymousMethodsCounter int
DynamicSitesCounter int
MethodGroupsCounter int
TypeBuilder TypeBuilder

Защищенные свойства (Protected)

Свойство Тип Описание
base_type System.TypeSpec
first_nonstatic_field ICSharpCode.NRefactory.MonoCSharp.FieldBase
has_static_constructor bool
iface_exprs System.TypeSpec[]
initialized_fields List
initialized_static_fields List
requires_delayed_unmanagedtype_check bool
spec System.TypeSpec
type_bases List

Private Properties

Свойство Тип Описание
CheckRecursiveDefinition System.TypeSpec
CreateTypeBuilder bool
CreateTypeParameters string[]
DoDefineBaseType bool
GenerateDocComment void
ITypeDefinition bool
LookupNestedTypeInHierarchy System.TypeSpec

Открытые методы

Метод Описание
Accept ( StructuralVisitor visitor ) : void
AddConstructor ( Constructor c ) : void
AddConstructor ( Constructor c, bool isDefault ) : void
AddField ( ICSharpCode.NRefactory.MonoCSharp.FieldBase field ) : bool
AddIndexer ( ICSharpCode.NRefactory.MonoCSharp.Indexer i ) : void

Indexer has special handling in constrast to other AddXXX because the name can be driven by IndexerNameAttribute

AddMember ( MemberCore symbol ) : void
AddNameToContainer ( MemberCore symbol, string name ) : void
AddOperator ( Operator op ) : void
AddPartialPart ( TypeDefinition part ) : void
AddTypeContainer ( TypeContainer tc ) : void
ApplyAttributeBuilder ( Attribute a, MethodSpec ctor, byte cdata, PredefinedAttributes pa ) : void
CheckAttributeClsCompliance ( ) : void
CheckPairedOperators ( ) : void
CloseContainer ( ) : void
ComputeIndexerName ( ) : void
CreateContainer ( ) : bool
CreateHoistedBaseCallProxy ( ICSharpCode.NRefactory.MonoCSharp.ResolveContext rc, MethodSpec method ) : MethodSpec
CreateMetadataName ( StringBuilder sb ) : void
CreateMethodSymbolEntry ( ) : SourceMethodBuilder
Define ( ) : bool

Populates our TypeBuilder with fields and methods

DoExpandBaseInterfaces ( ) : void
Emit ( ) : void
EmitContainer ( ) : void
EmitIndexerName ( ) : void
ExpandBaseInterfaces ( ) : void
FilterNestedName ( string name ) : string
GetAttributeCoClass ( ) : System.TypeSpec
GetAttributeDefaultMember ( ) : string
GetAttributeUsage ( PredefinedAttribute pa ) : AttributeUsageAttribute
GetCompilationSourceFile ( ) : ICSharpCode.NRefactory.MonoCSharp.CompilationSourceFile
GetSignatureForMetadata ( ) : string
IsBaseTypeDefinition ( System.TypeSpec baseType ) : bool
IsClsComplianceRequired ( ) : bool
IsUnmanagedType ( ) : bool
LoadMembers ( System.TypeSpec declaringType, bool onlyTypes, MemberCache &cache ) : void
LookupNamespaceOrType ( string name, int arity, LookupMode mode, Location loc ) : FullNamedExpression
Mark_HasEquals ( ) : void
Mark_HasGetHashCode ( ) : void
MethodModifiersValid ( MemberCore mc ) : bool
PrepareEmit ( ) : void
RegisterFieldForInitialization ( MemberCore field, ICSharpCode.NRefactory.MonoCSharp.FieldInitializer expression ) : void
RemoveContainer ( TypeContainer cont ) : void
ResolveFieldInitializers ( ICSharpCode.NRefactory.MonoCSharp.BlockContext ec ) : void
SetBaseType ( ) : void
SetBaseTypes ( List baseTypes ) : void
SetPredefinedSpec ( BuiltinTypeSpec spec ) : void
VerifyImplements ( InterfaceMemberBase mb ) : bool

Performs checks for an explicit interface implementation. First it checks whether the `interface_type' is a base inteface implementation. Then it checks whether `name' exists in the interface type.

VerifyMembers ( ) : void
WriteDebugSymbol ( MonoSymbolFile file ) : void

Защищенные методы

Метод Описание
AddTypeContainerMember ( TypeContainer tc ) : void
DefineBaseTypes ( ) : bool
DoDefineContainer ( ) : void
DoDefineMembers ( ) : bool
DoResolveTypeParameters ( ) : bool
ResolveBaseTypes ( FullNamedExpression &base_class ) : System.TypeSpec[]

This function computes the Base class and also the list of interfaces that the class or struct @c implements. The return value is an array (might be null) of interfaces implemented (as Types). The @base_class argument is set to the base object or null if this is `System.Object'.

TypeDefinition ( TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind ) : System
VerifyClsCompliance ( ) : bool

Приватные методы

Метод Описание
CheckRecursiveDefinition ( TypeDefinition tc ) : System.TypeSpec
CreateTypeBuilder ( ) : bool
CreateTypeParameters ( TypeParameters parentAllTypeParameters ) : string[]
DoDefineBaseType ( ) : bool
GenerateDocComment ( ICSharpCode.NRefactory.MonoCSharp.DocumentationBuilder builder ) : void
ITypeDefinition ( IAssemblyDefinition assembly ) : bool
LookupNestedTypeInHierarchy ( string name, int arity ) : System.TypeSpec

Описание методов

Accept() публичный Метод

public Accept ( StructuralVisitor visitor ) : void
visitor StructuralVisitor
Результат void

AddConstructor() публичный Метод

public AddConstructor ( Constructor c ) : void
c Constructor
Результат void

AddConstructor() публичный Метод

public AddConstructor ( Constructor c, bool isDefault ) : void
c Constructor
isDefault bool
Результат void

AddField() публичный Метод

public AddField ( ICSharpCode.NRefactory.MonoCSharp.FieldBase field ) : bool
field ICSharpCode.NRefactory.MonoCSharp.FieldBase
Результат bool

AddIndexer() публичный Метод

Indexer has special handling in constrast to other AddXXX because the name can be driven by IndexerNameAttribute
public AddIndexer ( ICSharpCode.NRefactory.MonoCSharp.Indexer i ) : void
i ICSharpCode.NRefactory.MonoCSharp.Indexer
Результат void

AddMember() публичный Метод

public AddMember ( MemberCore symbol ) : void
symbol MemberCore
Результат void

AddNameToContainer() публичный Метод

public AddNameToContainer ( MemberCore symbol, string name ) : void
symbol MemberCore
name string
Результат void

AddOperator() публичный Метод

public AddOperator ( Operator op ) : void
op Operator
Результат void

AddPartialPart() публичный Метод

public AddPartialPart ( TypeDefinition part ) : void
part TypeDefinition
Результат void

AddTypeContainer() публичный Метод

public AddTypeContainer ( TypeContainer tc ) : void
tc TypeContainer
Результат void

AddTypeContainerMember() защищенный Метод

protected AddTypeContainerMember ( TypeContainer tc ) : void
tc TypeContainer
Результат void

ApplyAttributeBuilder() публичный Метод

public ApplyAttributeBuilder ( Attribute a, MethodSpec ctor, byte cdata, PredefinedAttributes pa ) : void
a System.Attribute
ctor MethodSpec
cdata byte
pa PredefinedAttributes
Результат void

CheckAttributeClsCompliance() публичный Метод

public CheckAttributeClsCompliance ( ) : void
Результат void

CheckPairedOperators() публичный Метод

public CheckPairedOperators ( ) : void
Результат void

CloseContainer() публичный Метод

public CloseContainer ( ) : void
Результат void

ComputeIndexerName() публичный Метод

public ComputeIndexerName ( ) : void
Результат void

CreateContainer() публичный Метод

public CreateContainer ( ) : bool
Результат bool

CreateHoistedBaseCallProxy() публичный Метод

public CreateHoistedBaseCallProxy ( ICSharpCode.NRefactory.MonoCSharp.ResolveContext rc, MethodSpec method ) : MethodSpec
rc ICSharpCode.NRefactory.MonoCSharp.ResolveContext
method MethodSpec
Результат MethodSpec

CreateMetadataName() публичный Метод

public CreateMetadataName ( StringBuilder sb ) : void
sb StringBuilder
Результат void

CreateMethodSymbolEntry() публичный Метод

public CreateMethodSymbolEntry ( ) : SourceMethodBuilder
Результат Mono.CompilerServices.SymbolWriter.SourceMethodBuilder

Define() публичный закрытый Метод

Populates our TypeBuilder with fields and methods
public final Define ( ) : bool
Результат bool

DefineBaseTypes() защищенный Метод

protected DefineBaseTypes ( ) : bool
Результат bool

DoDefineContainer() защищенный Метод

protected DoDefineContainer ( ) : void
Результат void

DoDefineMembers() защищенный Метод

protected DoDefineMembers ( ) : bool
Результат bool

DoExpandBaseInterfaces() публичный Метод

public DoExpandBaseInterfaces ( ) : void
Результат void

DoResolveTypeParameters() защищенный Метод

protected DoResolveTypeParameters ( ) : bool
Результат bool

Emit() публичный Метод

public Emit ( ) : void
Результат void

EmitContainer() публичный закрытый Метод

public final EmitContainer ( ) : void
Результат void

EmitIndexerName() публичный Метод

public EmitIndexerName ( ) : void
Результат void

ExpandBaseInterfaces() публичный Метод

public ExpandBaseInterfaces ( ) : void
Результат void

FilterNestedName() публичный статический Метод

public static FilterNestedName ( string name ) : string
name string
Результат string

GetAttributeCoClass() публичный Метод

public GetAttributeCoClass ( ) : System.TypeSpec
Результат System.TypeSpec

GetAttributeDefaultMember() публичный Метод

public GetAttributeDefaultMember ( ) : string
Результат string

GetAttributeUsage() публичный Метод

public GetAttributeUsage ( PredefinedAttribute pa ) : AttributeUsageAttribute
pa PredefinedAttribute
Результат System.AttributeUsageAttribute

GetCompilationSourceFile() публичный Метод

public GetCompilationSourceFile ( ) : ICSharpCode.NRefactory.MonoCSharp.CompilationSourceFile
Результат ICSharpCode.NRefactory.MonoCSharp.CompilationSourceFile

GetSignatureForMetadata() публичный Метод

public GetSignatureForMetadata ( ) : string
Результат string

IsBaseTypeDefinition() публичный Метод

public IsBaseTypeDefinition ( System.TypeSpec baseType ) : bool
baseType System.TypeSpec
Результат bool

IsClsComplianceRequired() публичный Метод

public IsClsComplianceRequired ( ) : bool
Результат bool

IsUnmanagedType() публичный Метод

public IsUnmanagedType ( ) : bool
Результат bool

LoadMembers() публичный Метод

public LoadMembers ( System.TypeSpec declaringType, bool onlyTypes, MemberCache &cache ) : void
declaringType System.TypeSpec
onlyTypes bool
cache MemberCache
Результат void

LookupNamespaceOrType() публичный Метод

public LookupNamespaceOrType ( string name, int arity, LookupMode mode, Location loc ) : FullNamedExpression
name string
arity int
mode LookupMode
loc Location
Результат FullNamedExpression

Mark_HasEquals() публичный Метод

public Mark_HasEquals ( ) : void
Результат void

Mark_HasGetHashCode() публичный Метод

public Mark_HasGetHashCode ( ) : void
Результат void

MethodModifiersValid() публичный Метод

public MethodModifiersValid ( MemberCore mc ) : bool
mc MemberCore
Результат bool

PrepareEmit() публичный Метод

public PrepareEmit ( ) : void
Результат void

RegisterFieldForInitialization() публичный Метод

public RegisterFieldForInitialization ( MemberCore field, ICSharpCode.NRefactory.MonoCSharp.FieldInitializer expression ) : void
field MemberCore
expression ICSharpCode.NRefactory.MonoCSharp.FieldInitializer
Результат void

RemoveContainer() публичный Метод

public RemoveContainer ( TypeContainer cont ) : void
cont TypeContainer
Результат void

ResolveBaseTypes() защищенный Метод

This function computes the Base class and also the list of interfaces that the class or struct @c implements. The return value is an array (might be null) of interfaces implemented (as Types). The @base_class argument is set to the base object or null if this is `System.Object'.
protected ResolveBaseTypes ( FullNamedExpression &base_class ) : System.TypeSpec[]
base_class FullNamedExpression
Результат System.TypeSpec[]

ResolveFieldInitializers() публичный Метод

public ResolveFieldInitializers ( ICSharpCode.NRefactory.MonoCSharp.BlockContext ec ) : void
ec ICSharpCode.NRefactory.MonoCSharp.BlockContext
Результат void

SetBaseType() публичный Метод

public SetBaseType ( ) : void
Результат void

SetBaseTypes() публичный Метод

public SetBaseTypes ( List baseTypes ) : void
baseTypes List
Результат void

SetPredefinedSpec() публичный Метод

public SetPredefinedSpec ( BuiltinTypeSpec spec ) : void
spec BuiltinTypeSpec
Результат void

TypeDefinition() защищенный Метод

protected TypeDefinition ( TypeContainer parent, MemberName name, Attributes attrs, MemberKind kind ) : System
parent TypeContainer
name MemberName
attrs Attributes
kind MemberKind
Результат System

VerifyClsCompliance() защищенный Метод

protected VerifyClsCompliance ( ) : bool
Результат bool

VerifyImplements() публичный Метод

Performs checks for an explicit interface implementation. First it checks whether the `interface_type' is a base inteface implementation. Then it checks whether `name' exists in the interface type.
public VerifyImplements ( InterfaceMemberBase mb ) : bool
mb InterfaceMemberBase
Результат bool

VerifyMembers() публичный Метод

public VerifyMembers ( ) : void
Результат void

WriteDebugSymbol() публичный Метод

public WriteDebugSymbol ( MonoSymbolFile file ) : void
file Mono.CompilerServices.SymbolWriter.MonoSymbolFile
Результат void

Описание свойств

AnonymousMethodsCounter публичное свойство

public int AnonymousMethodsCounter
Результат int

DynamicSitesCounter публичное свойство

public int DynamicSitesCounter
Результат int

MethodGroupsCounter публичное свойство

public int MethodGroupsCounter
Результат int

TypeBuilder публичное свойство

public TypeBuilder TypeBuilder
Результат TypeBuilder

base_type защищенное свойство

protected TypeSpec,System base_type
Результат System.TypeSpec

first_nonstatic_field защищенное свойство

protected FieldBase,ICSharpCode.NRefactory.MonoCSharp first_nonstatic_field
Результат ICSharpCode.NRefactory.MonoCSharp.FieldBase

has_static_constructor защищенное свойство

protected bool has_static_constructor
Результат bool

iface_exprs защищенное свойство

protected TypeSpec[],System iface_exprs
Результат System.TypeSpec[]

initialized_fields защищенное свойство

protected List initialized_fields
Результат List

initialized_static_fields защищенное свойство

protected List initialized_static_fields
Результат List

requires_delayed_unmanagedtype_check защищенное свойство

protected bool requires_delayed_unmanagedtype_check
Результат bool

spec защищенное свойство

protected TypeSpec,System spec
Результат System.TypeSpec

type_bases защищенное свойство

protected List type_bases
Результат List