C# 클래스 Mono.CSharp.TypeContainer

상속: MemberCore
파일 보기 프로젝트 열기: kumpera/mono 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
DynamicSitesCounter int
Kind MemberKind

보호된 프로퍼티들

프로퍼티 타입 설명
base_type TypeSpec
base_type_expr TypeExpr
compiler_generated List
constants List
default_constructor Constructor
default_static_constructor Constructor
events List
fields List
iface_exprs TypeExpr[]
initialized_fields List
initialized_static_fields List
instance_constructors List
requires_delayed_unmanagedtype_check bool
spec TypeSpec
type_bases List
types List

Private Properties

프로퍼티 타입 설명
AddMemberToList void
CheckRecursiveDefinition System.TypeSpec
CreateTypeBuilder bool
DefineBaseTypes bool
GenerateDocComment void
GetNormalPartialBases TypeExpr[]
ITypeDefinition bool
LookupNestedTypeInHierarchy TypeSpec

공개 메소드들

메소드 설명
AddBasesForPart ( DeclSpace part, List bases ) : void
AddCompilerGeneratedClass ( CompilerGeneratedClass c ) : void
AddConstant ( Mono.CSharp.Const constant ) : void
AddConstructor ( Constructor c ) : void
AddDelegate ( Delegate d ) : System.TypeSpec
AddEvent ( Event e ) : void
AddField ( FieldBase field ) : bool
AddIndexer ( Indexer i ) : void

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

AddMember ( MemberCore symbol ) : bool
AddMember ( MemberCore symbol, string name ) : bool
AddMethod ( MethodOrOperator method ) : void
AddOperator ( Operator op ) : void
AddPartial ( TypeContainer next_part ) : TypeContainer
AddProperty ( Property prop ) : void
AddTypeContainer ( TypeContainer tc ) : TypeContainer
ApplyAttributeBuilder ( Attribute a, MethodSpec ctor, byte cdata, Mono.CSharp.PredefinedAttributes pa ) : void
CheckMemberUsage ( List al, string member_type ) : void
CheckPairedOperators ( ) : void
CloseType ( ) : void
CreateHoistedBaseCallProxy ( ResolveContext rc, MethodSpec method ) : MethodSpec
CreateType ( ) : bool
Define ( ) : bool

Populates our TypeBuilder with fields and methods

DefineConstants ( ) : void
DefineType ( ) : void
DoResolveFieldInitializers ( BlockContext ec ) : void
Emit ( ) : void
EmitConstructors ( ) : void
EmitIndexerName ( ) : void
EmitType ( ) : void

Emits the code, this step is performed after all the types, enumerations, constructors

GetAttributeCoClass ( ) : TypeSpec
GetAttributeDefaultMember ( ) : string
GetAttributeUsage ( PredefinedAttribute pa ) : AttributeUsageAttribute
IsBaseTypeDefinition ( TypeSpec baseType ) : bool
LoadMembers ( TypeSpec declaringType, bool onlyTypes, MemberCache &cache ) : void
LookupNamespaceOrType ( string name, int arity, Location loc, bool ignore_cs0104 ) : FullNamedExpression
Mark_HasEquals ( ) : void
Mark_HasGetHashCode ( ) : void
MethodModifiersValid ( MemberCore mc ) : bool
RegisterFieldForInitialization ( MemberCore field, FieldInitializer expression ) : void
RemoveTypeContainer ( TypeContainer next_part ) : void
ResolveFieldInitializers ( BlockContext ec ) : void
ResolveTypeParameters ( ) : bool
SetParameterInfo ( List constraints_list ) : void
SetPredefinedSpec ( BuildinTypeSpec spec ) : void
TypeContainer ( NamespaceEntry ns, DeclSpace parent, MemberName name, Attributes attrs, MemberKind kind ) : System
UpdateTypeParameterConstraints ( TypeContainer part ) : 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

보호된 메소드들

메소드 설명
AddMemberType ( TypeContainer ds ) : bool
AddPartial ( TypeContainer next_part, string name ) : TypeContainer
CheckEqualsAndGetHashCode ( ) : void
ComputeIndexerName ( ) : void
DefineContainerMembers ( System mcal ) : void
DefineNestedTypes ( ) : bool
DoDefineMembers ( ) : bool
DoResolveTypeParameters ( ) : bool
RemoveMemberType ( DeclSpace ds ) : void
ResolveBaseTypes ( TypeExpr &base_class ) : TypeExpr[]

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'.

VerifyClsCompliance ( ) : bool

비공개 메소드들

메소드 설명
AddMemberToList ( MemberCore mc, List alist, bool isexplicit ) : void
CheckRecursiveDefinition ( TypeContainer tc ) : System.TypeSpec
CreateTypeBuilder ( ) : bool
DefineBaseTypes ( ) : bool
GenerateDocComment ( DeclSpace ds ) : void
GetNormalPartialBases ( ) : TypeExpr[]
ITypeDefinition ( IAssemblyDefinition assembly ) : bool
LookupNestedTypeInHierarchy ( string name, int arity ) : TypeSpec

메소드 상세

AddBasesForPart() 공개 메소드

public AddBasesForPart ( DeclSpace part, List bases ) : void
part DeclSpace
bases List
리턴 void

AddCompilerGeneratedClass() 공개 메소드

public AddCompilerGeneratedClass ( CompilerGeneratedClass c ) : void
c CompilerGeneratedClass
리턴 void

AddConstant() 공개 메소드

public AddConstant ( Mono.CSharp.Const constant ) : void
constant Mono.CSharp.Const
리턴 void

AddConstructor() 공개 메소드

public AddConstructor ( Constructor c ) : void
c Constructor
리턴 void

AddDelegate() 공개 메소드

public AddDelegate ( Delegate d ) : System.TypeSpec
d Delegate
리턴 System.TypeSpec

AddEvent() 공개 메소드

public AddEvent ( Event e ) : void
e Event
리턴 void

AddField() 공개 메소드

public AddField ( FieldBase field ) : bool
field FieldBase
리턴 bool

AddIndexer() 공개 메소드

Indexer has special handling in constrast to other AddXXX because the name can be driven by IndexerNameAttribute
public AddIndexer ( Indexer i ) : void
i Indexer
리턴 void

AddMember() 공개 메소드

public AddMember ( MemberCore symbol ) : bool
symbol MemberCore
리턴 bool

AddMember() 공개 메소드

public AddMember ( MemberCore symbol, string name ) : bool
symbol MemberCore
name string
리턴 bool

AddMemberType() 보호된 메소드

protected AddMemberType ( TypeContainer ds ) : bool
ds TypeContainer
리턴 bool

AddMethod() 공개 메소드

public AddMethod ( MethodOrOperator method ) : void
method MethodOrOperator
리턴 void

AddOperator() 공개 메소드

public AddOperator ( Operator op ) : void
op Operator
리턴 void

AddPartial() 공개 메소드

public AddPartial ( TypeContainer next_part ) : TypeContainer
next_part TypeContainer
리턴 TypeContainer

AddPartial() 보호된 메소드

protected AddPartial ( TypeContainer next_part, string name ) : TypeContainer
next_part TypeContainer
name string
리턴 TypeContainer

AddProperty() 공개 메소드

public AddProperty ( Property prop ) : void
prop Property
리턴 void

AddTypeContainer() 공개 메소드

public AddTypeContainer ( TypeContainer tc ) : TypeContainer
tc TypeContainer
리턴 TypeContainer

ApplyAttributeBuilder() 공개 메소드

public ApplyAttributeBuilder ( Attribute a, MethodSpec ctor, byte cdata, Mono.CSharp.PredefinedAttributes pa ) : void
a Attribute
ctor MethodSpec
cdata byte
pa Mono.CSharp.PredefinedAttributes
리턴 void

CheckEqualsAndGetHashCode() 보호된 메소드

protected CheckEqualsAndGetHashCode ( ) : void
리턴 void

CheckMemberUsage() 공개 메소드

public CheckMemberUsage ( List al, string member_type ) : void
al List
member_type string
리턴 void

CheckPairedOperators() 공개 메소드

public CheckPairedOperators ( ) : void
리턴 void

CloseType() 공개 메소드

public CloseType ( ) : void
리턴 void

ComputeIndexerName() 보호된 메소드

protected ComputeIndexerName ( ) : void
리턴 void

CreateHoistedBaseCallProxy() 공개 메소드

public CreateHoistedBaseCallProxy ( ResolveContext rc, MethodSpec method ) : MethodSpec
rc ResolveContext
method MethodSpec
리턴 MethodSpec

CreateType() 공개 메소드

public CreateType ( ) : bool
리턴 bool

Define() 공개 최종 메소드

Populates our TypeBuilder with fields and methods
public final Define ( ) : bool
리턴 bool

DefineConstants() 공개 메소드

public DefineConstants ( ) : void
리턴 void

DefineContainerMembers() 보호된 메소드

protected DefineContainerMembers ( System mcal ) : void
mcal System
리턴 void

DefineNestedTypes() 보호된 메소드

protected DefineNestedTypes ( ) : bool
리턴 bool

DefineType() 공개 메소드

public DefineType ( ) : void
리턴 void

DoDefineMembers() 보호된 메소드

protected DoDefineMembers ( ) : bool
리턴 bool

DoResolveFieldInitializers() 공개 메소드

public DoResolveFieldInitializers ( BlockContext ec ) : void
ec BlockContext
리턴 void

DoResolveTypeParameters() 보호된 메소드

protected DoResolveTypeParameters ( ) : bool
리턴 bool

Emit() 공개 메소드

public Emit ( ) : void
리턴 void

EmitConstructors() 공개 메소드

public EmitConstructors ( ) : void
리턴 void

EmitIndexerName() 공개 메소드

public EmitIndexerName ( ) : void
리턴 void

EmitType() 공개 메소드

Emits the code, this step is performed after all the types, enumerations, constructors
public EmitType ( ) : void
리턴 void

GetAttributeCoClass() 공개 메소드

public GetAttributeCoClass ( ) : TypeSpec
리턴 TypeSpec

GetAttributeDefaultMember() 공개 메소드

public GetAttributeDefaultMember ( ) : string
리턴 string

GetAttributeUsage() 공개 메소드

public GetAttributeUsage ( PredefinedAttribute pa ) : AttributeUsageAttribute
pa PredefinedAttribute
리턴 AttributeUsageAttribute

IsBaseTypeDefinition() 공개 메소드

public IsBaseTypeDefinition ( TypeSpec baseType ) : bool
baseType TypeSpec
리턴 bool

LoadMembers() 공개 메소드

public LoadMembers ( TypeSpec declaringType, bool onlyTypes, MemberCache &cache ) : void
declaringType TypeSpec
onlyTypes bool
cache MemberCache
리턴 void

LookupNamespaceOrType() 공개 메소드

public LookupNamespaceOrType ( string name, int arity, Location loc, bool ignore_cs0104 ) : FullNamedExpression
name string
arity int
loc Location
ignore_cs0104 bool
리턴 FullNamedExpression

Mark_HasEquals() 공개 메소드

public Mark_HasEquals ( ) : void
리턴 void

Mark_HasGetHashCode() 공개 메소드

public Mark_HasGetHashCode ( ) : void
리턴 void

MethodModifiersValid() 공개 메소드

public MethodModifiersValid ( MemberCore mc ) : bool
mc MemberCore
리턴 bool

RegisterFieldForInitialization() 공개 메소드

public RegisterFieldForInitialization ( MemberCore field, FieldInitializer expression ) : void
field MemberCore
expression FieldInitializer
리턴 void

RemoveMemberType() 보호된 메소드

protected RemoveMemberType ( DeclSpace ds ) : void
ds DeclSpace
리턴 void

RemoveTypeContainer() 공개 메소드

public RemoveTypeContainer ( TypeContainer next_part ) : void
next_part 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 ( TypeExpr &base_class ) : TypeExpr[]
base_class TypeExpr
리턴 TypeExpr[]

ResolveFieldInitializers() 공개 메소드

public ResolveFieldInitializers ( BlockContext ec ) : void
ec BlockContext
리턴 void

ResolveTypeParameters() 공개 메소드

public ResolveTypeParameters ( ) : bool
리턴 bool

SetParameterInfo() 공개 메소드

public SetParameterInfo ( List constraints_list ) : void
constraints_list List
리턴 void

SetPredefinedSpec() 공개 메소드

public SetPredefinedSpec ( BuildinTypeSpec spec ) : void
spec BuildinTypeSpec
리턴 void

TypeContainer() 공개 메소드

public TypeContainer ( NamespaceEntry ns, DeclSpace parent, MemberName name, Attributes attrs, MemberKind kind ) : System
ns NamespaceEntry
parent DeclSpace
name MemberName
attrs Attributes
kind MemberKind
리턴 System

UpdateTypeParameterConstraints() 공개 메소드

public UpdateTypeParameterConstraints ( TypeContainer part ) : void
part TypeContainer
리턴 void

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

프로퍼티 상세

DynamicSitesCounter 공개적으로 프로퍼티

public int DynamicSitesCounter
리턴 int

Kind 공개적으로 프로퍼티

public MemberKind Kind
리턴 MemberKind

base_type 보호되어 있는 프로퍼티

protected TypeSpec base_type
리턴 TypeSpec

base_type_expr 보호되어 있는 프로퍼티

protected TypeExpr base_type_expr
리턴 TypeExpr

compiler_generated 보호되어 있는 프로퍼티

protected List compiler_generated
리턴 List

constants 보호되어 있는 프로퍼티

protected List constants
리턴 List

default_constructor 보호되어 있는 프로퍼티

protected Constructor default_constructor
리턴 Constructor

default_static_constructor 보호되어 있는 프로퍼티

protected Constructor default_static_constructor
리턴 Constructor

events 보호되어 있는 프로퍼티

protected List events
리턴 List

fields 보호되어 있는 프로퍼티

protected List fields
리턴 List

iface_exprs 보호되어 있는 프로퍼티

protected TypeExpr[] iface_exprs
리턴 TypeExpr[]

initialized_fields 보호되어 있는 프로퍼티

protected List initialized_fields
리턴 List

initialized_static_fields 보호되어 있는 프로퍼티

protected List initialized_static_fields
리턴 List

instance_constructors 보호되어 있는 프로퍼티

protected List instance_constructors
리턴 List

requires_delayed_unmanagedtype_check 보호되어 있는 프로퍼티

protected bool requires_delayed_unmanagedtype_check
리턴 bool

spec 보호되어 있는 프로퍼티

protected TypeSpec spec
리턴 TypeSpec

type_bases 보호되어 있는 프로퍼티

protected List type_bases
리턴 List

types 보호되어 있는 프로퍼티

protected List types
리턴 List