C# Class Mono.CSharp.DeclSpace

Base class for structs, classes, enumerations and interfaces.
They all create new declaration spaces. This provides the common foundation for managing those name spaces.
Inheritance: MemberCore
Datei anzeigen Open project: kumpera/mono Class Usage Examples

Public Properties

Property Type Description
Basename string
NamespaceEntry NamespaceEntry
PartialContainer TypeContainer
TypeBuilder TypeBuilder

Protected Properties

Property Type Description
defined_names MemberCore>.Dictionary
is_generic bool
type_params TypeParameter[]

Public Methods

Method Description
DeclSpace ( NamespaceEntry ns, DeclSpace parent, MemberName name, Mono.CSharp.Attributes attrs ) : System
DefineType ( ) : void Should be overriten by the appropriate declaration space
GetDefinition ( string name ) : MemberCore

Returns the MemberCore associated with a given name in the declaration space. It doesn't return method based symbols !!

GetSignatureForError ( ) : string
IsUnmanagedType ( ) : bool
SetParameterInfo ( List constraints_list ) : void

Protected Methods

Method Description
AddToContainer ( MemberCore symbol, string name ) : bool

Adds the member to defined_names table. It tests for duplications and enclosing name conflicts

Error_MissingPartialModifier ( MemberCore type ) : void
RemoveFromContainer ( string name ) : void
VerifyClsCompliance ( ) : bool

Private Methods

Method Description
initialize_type_params ( ) : TypeParameter[]

Method Details

AddToContainer() protected method

Adds the member to defined_names table. It tests for duplications and enclosing name conflicts
protected AddToContainer ( MemberCore symbol, string name ) : bool
symbol MemberCore
name string
return bool

DeclSpace() public method

public DeclSpace ( NamespaceEntry ns, DeclSpace parent, MemberName name, Mono.CSharp.Attributes attrs ) : System
ns NamespaceEntry
parent DeclSpace
name MemberName
attrs Mono.CSharp.Attributes
return System

DefineType() public abstract method

Should be overriten by the appropriate declaration space
public abstract DefineType ( ) : void
return void

Error_MissingPartialModifier() protected method

protected Error_MissingPartialModifier ( MemberCore type ) : void
type MemberCore
return void

GetDefinition() public method

Returns the MemberCore associated with a given name in the declaration space. It doesn't return method based symbols !!
public GetDefinition ( string name ) : MemberCore
name string
return MemberCore

GetSignatureForError() public method

public GetSignatureForError ( ) : string
return string

IsUnmanagedType() public method

public IsUnmanagedType ( ) : bool
return bool

RemoveFromContainer() protected method

protected RemoveFromContainer ( string name ) : void
name string
return void

SetParameterInfo() public method

public SetParameterInfo ( List constraints_list ) : void
constraints_list List
return void

VerifyClsCompliance() protected method

protected VerifyClsCompliance ( ) : bool
return bool

Property Details

Basename public_oe property

public string Basename
return string

NamespaceEntry public_oe property

public NamespaceEntry NamespaceEntry
return NamespaceEntry

PartialContainer public_oe property

public TypeContainer PartialContainer
return TypeContainer

TypeBuilder public_oe property

This points to the actual definition that is being created with System.Reflection.Emit
public TypeBuilder TypeBuilder
return TypeBuilder

defined_names protected_oe property

protected Dictionary defined_names
return MemberCore>.Dictionary

is_generic protected_oe property

protected bool is_generic
return bool

type_params protected_oe property

protected TypeParameter[] type_params
return TypeParameter[]