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
Show file 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 property

public string Basename
return string

NamespaceEntry public property

public NamespaceEntry NamespaceEntry
return NamespaceEntry

PartialContainer public property

public TypeContainer PartialContainer
return TypeContainer

TypeBuilder public property

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

defined_names protected property

protected Dictionary defined_names
return MemberCore>.Dictionary

is_generic protected property

protected bool is_generic
return bool

type_params protected property

protected TypeParameter[] type_params
return TypeParameter[]