C# 클래스 ICSharpCode.NRefactory.MonoCSharp.TypeDefinition

상속: TypeContainer, ITypeDefinition
파일 보기 프로젝트 열기: 0xd4d/NRefactory 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
AnonymousMethodsCounter int
DynamicSitesCounter int
MethodGroupsCounter int
TypeBuilder TypeBuilder

보호된 프로퍼티들

프로퍼티 타입 설명
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