C# Class Microsoft.Scripting.Actions.TypeGroup

A TypeCollision is used when we have a collision between two types with the same name. Currently this is only possible w/ generic methods that should logically have arity as a portion of their name. For eg: System.EventHandler and System.EventHandler[T] System.Nullable and System.Nullable[T] System.IComparable and System.IComparable[T] The TypeCollision provides an indexer but also is a real type. When used as a real type it is the non-generic form of the type. The indexer allows the user to disambiguate between the generic and non-generic versions. Therefore users must always provide additional information to get the generic version.
Inheritance: TypeTracker
Mostra file Open project: jschementi/iron Class Usage Examples

Private Properties

Property Type Description
GetGenericArity int
ToString string
TypeGroup System.Linq.Expressions
TypeGroup System.Linq.Expressions

Public Methods

Method Description
GetMemberNames ( ) : IList
GetNonGenericType ( ) : Type
GetTypeForArity ( int arity ) : TypeTracker
TryGetNonGenericType ( Type &nonGenericType ) : bool
UpdateTypeEntity ( TypeTracker existingTypeEntity, TypeTracker newType ) : TypeTracker

Private Methods

Method Description
GetGenericArity ( Type type ) : int

Gets the arity of generic parameters

ToString ( ) : string
TypeGroup ( Type t1, TypeGroup existingTypes ) : System.Linq.Expressions
TypeGroup ( Type t1, int arity1, Type t2, int arity2 ) : System.Linq.Expressions

Method Details

GetMemberNames() public method

public GetMemberNames ( ) : IList
return IList

GetNonGenericType() public method

No non-generic type is represented by this group.
public GetNonGenericType ( ) : Type
return System.Type

GetTypeForArity() public method

public GetTypeForArity ( int arity ) : TypeTracker
arity int
return TypeTracker

TryGetNonGenericType() public method

public TryGetNonGenericType ( Type &nonGenericType ) : bool
nonGenericType System.Type
return bool

UpdateTypeEntity() public static method

public static UpdateTypeEntity ( TypeTracker existingTypeEntity, TypeTracker newType ) : TypeTracker
existingTypeEntity TypeTracker The merged list so far. Could be null
newType TypeTracker The new type(s) to add to the merged list
return TypeTracker