C# Класс Boo.Lang.Compiler.TypeSystem.TypeSystemServices

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
ArrayType IType
BoolType IType
BuiltinsType IType
ByteType IType
CharType IType
ConditionalAttribute IType
DateTimeType IType
DecimalType IType
DelegateType IType
DoubleType IType
DuckType IType
EnumType IType
ErrorEntity IType
HashType IType
IAstGeneratorMacroType IType
IAstMacroType IType
ICallableType IType
ICollectionGenericType IType
ICollectionType IType
IDisposableType IType
IEnumerableGenericType IType
IEnumerableType IType
IEnumeratorGenericType IType
IEnumeratorType IType
IListGenericType IType
IListType IType
IQuackFuType IType
IntPtrType IType
IntType IType
ListType IType
LongType IType
MulticastDelegateType IType
ObjectArrayType IArrayType
ObjectType IType
RegexType IType
RuntimeServicesType IType
SByteType IType
ShortType IType
SingleType IType
StringType IType
SystemAttribute IType
TimeSpanType IType
TypeType IType
UIntPtrType IType
UIntType IType
ULongType IType
UShortType IType
ValueTypeType IType
VoidType IType

Открытые методы

Метод Описание
AddCompilerGeneratedType ( Boo.Lang.Compiler.Ast.TypeDefinition type ) : void
CanBeExplicitlyCastToPrimitiveNumber ( IType type ) : bool
CanBeReachedByDownCastOrPromotion ( IType expectedType, IType actualType ) : bool
CanBeReachedByPromotion ( IType expectedType, IType actualType ) : bool
CanBeReachedFrom ( IType expectedType, IType actualType ) : bool
CanBeReachedFrom ( IType expectedType, IType actualType, bool &byDowncast ) : bool
CanBeReachedFrom ( IType expectedType, IType actualType, bool considerExplicitConversionOperators, bool &byDowncast ) : bool
CheckOverrideSignature ( IMethod impl, IMethod baseMethod ) : bool
CheckOverrideSignature ( IParameter implParameters, IParameter baseParameters ) : bool
ContainsMethodsOnly ( ICollection members ) : bool
FindExplicitConversionOperator ( IType fromType, IType toType ) : IMethod
FindImplicitConversionOperator ( IType fromType, IType toType ) : IMethod
GetAccess ( IAccessibleMember member ) : TypeMemberModifiers
GetCallableType ( CallableSignature signature ) : ICallableType
GetCallableType ( IMethodBase method ) : ICallableType
GetCompilerGeneratedTypesModule ( ) : Module
GetConcreteCallableType ( Node sourceNode, AnonymousCallableType anonymousType ) : IType
GetConcreteCallableType ( Node sourceNode, CallableSignature signature ) : IType
GetConcreteExpressionType ( Expression expression ) : IType
GetDefaultConstructor ( IType type ) : IConstructor
GetDefaultMember ( IType type ) : IEntity
GetEntity ( Node node ) : IEntity
GetEnumeratorItemType ( IType iteratorType ) : IType
GetExpressionType ( Expression node ) : IType
GetGenericEnumerableItemType ( IType iteratorType ) : IType
GetMostGenericType ( Boo.Lang.Compiler.Ast.ExpressionCollection args ) : IType
GetMostGenericType ( IType current, IType candidate ) : IType
GetNullableUnderlyingType ( IType type ) : IType
GetOverriddenSignature ( IMethod baseMethod, IMethod impl ) : CallableSignature
GetPromotedNumberType ( IType left, IType right ) : IType
GetReferencedType ( Expression typeref ) : IType
GetSignature ( IEntityWithParameters method ) : string
GetStringExceptionConstructor ( ) : IConstructor
GetType ( Node node ) : IType
IsAnyType ( IType type ) : bool

Returns true if the type can be either a reference type or a value type. Currently it returns true only for an unconstrained generic parameter type.

IsAttribute ( IType type ) : bool
IsBuiltin ( IEntity entity ) : bool
IsCallable ( IType type ) : bool
IsCallableTypeAssignableFrom ( ICallableType lhs, IType rhs ) : bool
IsDuckType ( IType type ) : bool
IsDuckTyped ( Expression expression ) : bool
IsError ( Expression node ) : bool
IsError ( IEntity entity ) : bool
IsErrorAny ( Boo.Lang.Compiler.Ast.ExpressionCollection collection ) : bool
IsFloatingPointNumber ( IType type ) : bool
IsGenericGeneratorReturnType ( IType returnType ) : bool
IsIntegerNumber ( IType type ) : bool
IsIntegerOrBool ( IType type ) : bool
IsLiteralPrimitive ( IType type ) : bool
IsMacro ( IType type ) : bool
IsNullable ( IType type ) : bool
IsNumber ( IType type ) : bool
IsNumberOrBool ( IType type ) : bool
IsPointerCompatible ( IType type ) : bool
IsPrimitive ( string name ) : bool
IsPrimitiveNumber ( IType type ) : bool
IsQuackBuiltin ( Expression node ) : bool
IsQuackBuiltin ( IEntity entity ) : bool
IsReadOnlyField ( IField field ) : bool
IsReferenceType ( IType type ) : bool

Returns true if the type is a reference type or a generic parameter type that is constrained to represent a reference type.

IsSignedNumber ( IType type ) : bool
IsSystemObject ( IType type ) : bool

checks if the passed type will be equivalente to System.Object in runtime (accounting for the presence of duck typing).

IsUnknown ( Expression node ) : bool
IsUnknown ( IType type ) : bool
IsValidException ( IType type ) : bool
KnowsQuackFu ( IType type ) : bool
Map ( ConstructorInfo constructor ) : IConstructor
Map ( MemberInfo members ) : IEntity
Map ( MethodInfo method ) : IMethod
Map ( ParameterInfo parameters ) : IParameter[]
Map ( Type type ) : IType
MapToConcreteExpressionTypes ( Boo.Lang.Compiler.Ast.ExpressionCollection items ) : void
MapWildcardType ( IType type ) : IType
ResolvePrimitive ( string name ) : IEntity
SizeOf ( IType type ) : int
TypeSystemServices ( ) : System
TypeSystemServices ( CompilerContext context ) : System

Защищенные методы

Метод Описание
AddBuiltin ( BuiltinFunction function ) : void
AddLiteralPrimitiveType ( string name, IType type ) : void
AddPrimitiveType ( string name, IType type ) : void
PrepareBuiltinFunctions ( ) : void
PreparePrimitives ( ) : void

Приватные методы

Метод Описание
CanBeReachedByPromotionImpl ( IType expectedType, IType actualType ) : bool
ClearScopeDependentMemoizedFunctions ( ) : void
CompatibleReturnTypes ( CallableSignature lvalue, CallableSignature rvalue ) : bool
DowncastPermissions ( ) : DowncastPermissions
FindConversionOperator ( string name, IType fromType, IType toType ) : IMethod
FindConversionOperator ( string name, IType fromType, IType toType, IEnumerable candidates ) : IMethod
FindExtension ( IType fromType, string name ) : IEntity[]
GetEnumeratorItemTypeFromAttribute ( IType iteratorType ) : IType
GetExternalEnumeratorItemType ( IType iteratorType ) : IType
GetOptionalEntity ( Node node ) : IEntity
InStrictMode ( ) : bool
InvalidNode ( Node node ) : void
IsAssignableFrom ( IType expectedType, IType actualType ) : bool
IsCallableType ( IType type ) : bool
IsConversionOperator ( IMethod method, IType fromType, IType toType ) : bool
IsSignedInteger ( IType right ) : bool
IsUnsignedInteger ( IType type ) : bool
NewModule ( string nameSpace ) : Module
NewModule ( string nameSpace, string moduleName ) : Module
TypeSystemProvider ( ) : IReflectionTypeSystemProvider

Описание методов

AddBuiltin() защищенный Метод

protected AddBuiltin ( BuiltinFunction function ) : void
function BuiltinFunction
Результат void

AddCompilerGeneratedType() публичный Метод

public AddCompilerGeneratedType ( Boo.Lang.Compiler.Ast.TypeDefinition type ) : void
type Boo.Lang.Compiler.Ast.TypeDefinition
Результат void

AddLiteralPrimitiveType() защищенный Метод

protected AddLiteralPrimitiveType ( string name, IType type ) : void
name string
type IType
Результат void

AddPrimitiveType() защищенный Метод

protected AddPrimitiveType ( string name, IType type ) : void
name string
type IType
Результат void

CanBeExplicitlyCastToPrimitiveNumber() публичный Метод

public CanBeExplicitlyCastToPrimitiveNumber ( IType type ) : bool
type IType
Результат bool

CanBeReachedByDownCastOrPromotion() публичный Метод

public CanBeReachedByDownCastOrPromotion ( IType expectedType, IType actualType ) : bool
expectedType IType
actualType IType
Результат bool

CanBeReachedByPromotion() публичный Метод

public CanBeReachedByPromotion ( IType expectedType, IType actualType ) : bool
expectedType IType
actualType IType
Результат bool

CanBeReachedFrom() публичный Метод

public CanBeReachedFrom ( IType expectedType, IType actualType ) : bool
expectedType IType
actualType IType
Результат bool

CanBeReachedFrom() публичный Метод

public CanBeReachedFrom ( IType expectedType, IType actualType, bool &byDowncast ) : bool
expectedType IType
actualType IType
byDowncast bool
Результат bool

CanBeReachedFrom() публичный Метод

public CanBeReachedFrom ( IType expectedType, IType actualType, bool considerExplicitConversionOperators, bool &byDowncast ) : bool
expectedType IType
actualType IType
considerExplicitConversionOperators bool
byDowncast bool
Результат bool

CheckOverrideSignature() публичный статический Метод

public static CheckOverrideSignature ( IMethod impl, IMethod baseMethod ) : bool
impl IMethod
baseMethod IMethod
Результат bool

CheckOverrideSignature() публичный статический Метод

public static CheckOverrideSignature ( IParameter implParameters, IParameter baseParameters ) : bool
implParameters IParameter
baseParameters IParameter
Результат bool

ContainsMethodsOnly() публичный статический Метод

public static ContainsMethodsOnly ( ICollection members ) : bool
members ICollection
Результат bool

FindExplicitConversionOperator() публичный Метод

public FindExplicitConversionOperator ( IType fromType, IType toType ) : IMethod
fromType IType
toType IType
Результат IMethod

FindImplicitConversionOperator() публичный Метод

public FindImplicitConversionOperator ( IType fromType, IType toType ) : IMethod
fromType IType
toType IType
Результат IMethod

GetAccess() публичный статический Метод

public static GetAccess ( IAccessibleMember member ) : TypeMemberModifiers
member IAccessibleMember
Результат TypeMemberModifiers

GetCallableType() публичный Метод

public GetCallableType ( CallableSignature signature ) : ICallableType
signature CallableSignature
Результат ICallableType

GetCallableType() публичный Метод

public GetCallableType ( IMethodBase method ) : ICallableType
method IMethodBase
Результат ICallableType

GetCompilerGeneratedTypesModule() публичный Метод

public GetCompilerGeneratedTypesModule ( ) : Module
Результат Boo.Lang.Compiler.Ast.Module

GetConcreteCallableType() публичный Метод

public GetConcreteCallableType ( Node sourceNode, AnonymousCallableType anonymousType ) : IType
sourceNode Node
anonymousType AnonymousCallableType
Результат IType

GetConcreteCallableType() публичный Метод

public GetConcreteCallableType ( Node sourceNode, CallableSignature signature ) : IType
sourceNode Node
signature CallableSignature
Результат IType

GetConcreteExpressionType() публичный Метод

public GetConcreteExpressionType ( Expression expression ) : IType
expression Boo.Lang.Compiler.Ast.Expression
Результат IType

GetDefaultConstructor() публичный Метод

public GetDefaultConstructor ( IType type ) : IConstructor
type IType
Результат IConstructor

GetDefaultMember() публичный Метод

public GetDefaultMember ( IType type ) : IEntity
type IType
Результат IEntity

GetEntity() публичный статический Метод

public static GetEntity ( Node node ) : IEntity
node Node
Результат IEntity

GetEnumeratorItemType() публичный Метод

public GetEnumeratorItemType ( IType iteratorType ) : IType
iteratorType IType
Результат IType

GetExpressionType() публичный статический Метод

public static GetExpressionType ( Expression node ) : IType
node Boo.Lang.Compiler.Ast.Expression
Результат IType

GetGenericEnumerableItemType() публичный Метод

public GetGenericEnumerableItemType ( IType iteratorType ) : IType
iteratorType IType
Результат IType

GetMostGenericType() публичный Метод

public GetMostGenericType ( Boo.Lang.Compiler.Ast.ExpressionCollection args ) : IType
args Boo.Lang.Compiler.Ast.ExpressionCollection
Результат IType

GetMostGenericType() публичный Метод

public GetMostGenericType ( IType current, IType candidate ) : IType
current IType
candidate IType
Результат IType

GetNullableUnderlyingType() публичный Метод

public GetNullableUnderlyingType ( IType type ) : IType
type IType
Результат IType

GetOverriddenSignature() публичный статический Метод

public static GetOverriddenSignature ( IMethod baseMethod, IMethod impl ) : CallableSignature
baseMethod IMethod
impl IMethod
Результат CallableSignature

GetPromotedNumberType() публичный Метод

public GetPromotedNumberType ( IType left, IType right ) : IType
left IType
right IType
Результат IType

GetReferencedType() публичный статический Метод

public static GetReferencedType ( Expression typeref ) : IType
typeref Boo.Lang.Compiler.Ast.Expression
Результат IType

GetSignature() публичный статический Метод

public static GetSignature ( IEntityWithParameters method ) : string
method IEntityWithParameters
Результат string

GetStringExceptionConstructor() публичный Метод

public GetStringExceptionConstructor ( ) : IConstructor
Результат IConstructor

GetType() публичный статический Метод

public static GetType ( Node node ) : IType
node Node
Результат IType

IsAnyType() публичный статический Метод

Returns true if the type can be either a reference type or a value type. Currently it returns true only for an unconstrained generic parameter type.
public static IsAnyType ( IType type ) : bool
type IType
Результат bool

IsAttribute() публичный Метод

public IsAttribute ( IType type ) : bool
type IType
Результат bool

IsBuiltin() публичный Метод

public IsBuiltin ( IEntity entity ) : bool
entity IEntity
Результат bool

IsCallable() публичный Метод

public IsCallable ( IType type ) : bool
type IType
Результат bool

IsCallableTypeAssignableFrom() публичный Метод

public IsCallableTypeAssignableFrom ( ICallableType lhs, IType rhs ) : bool
lhs ICallableType
rhs IType
Результат bool

IsDuckType() публичный Метод

public IsDuckType ( IType type ) : bool
type IType
Результат bool

IsDuckTyped() публичный Метод

public IsDuckTyped ( Expression expression ) : bool
expression Boo.Lang.Compiler.Ast.Expression
Результат bool

IsError() публичный статический Метод

public static IsError ( Expression node ) : bool
node Boo.Lang.Compiler.Ast.Expression
Результат bool

IsError() публичный статический Метод

public static IsError ( IEntity entity ) : bool
entity IEntity
Результат bool

IsErrorAny() публичный статический Метод

public static IsErrorAny ( Boo.Lang.Compiler.Ast.ExpressionCollection collection ) : bool
collection Boo.Lang.Compiler.Ast.ExpressionCollection
Результат bool

IsFloatingPointNumber() публичный Метод

public IsFloatingPointNumber ( IType type ) : bool
type IType
Результат bool

IsGenericGeneratorReturnType() публичный Метод

public IsGenericGeneratorReturnType ( IType returnType ) : bool
returnType IType
Результат bool

IsIntegerNumber() публичный Метод

public IsIntegerNumber ( IType type ) : bool
type IType
Результат bool

IsIntegerOrBool() публичный Метод

public IsIntegerOrBool ( IType type ) : bool
type IType
Результат bool

IsLiteralPrimitive() публичный Метод

public IsLiteralPrimitive ( IType type ) : bool
type IType
Результат bool

IsMacro() публичный Метод

public IsMacro ( IType type ) : bool
type IType
Результат bool

IsNullable() публичный статический Метод

public static IsNullable ( IType type ) : bool
type IType
Результат bool

IsNumber() публичный Метод

public IsNumber ( IType type ) : bool
type IType
Результат bool

IsNumberOrBool() публичный Метод

public IsNumberOrBool ( IType type ) : bool
type IType
Результат bool

IsPointerCompatible() публичный Метод

public IsPointerCompatible ( IType type ) : bool
type IType
Результат bool

IsPrimitive() публичный Метод

public IsPrimitive ( string name ) : bool
name string
Результат bool

IsPrimitiveNumber() публичный Метод

public IsPrimitiveNumber ( IType type ) : bool
type IType
Результат bool

IsQuackBuiltin() публичный Метод

public IsQuackBuiltin ( Expression node ) : bool
node Boo.Lang.Compiler.Ast.Expression
Результат bool

IsQuackBuiltin() публичный Метод

public IsQuackBuiltin ( IEntity entity ) : bool
entity IEntity
Результат bool

IsReadOnlyField() публичный статический Метод

public static IsReadOnlyField ( IField field ) : bool
field IField
Результат bool

IsReferenceType() публичный статический Метод

Returns true if the type is a reference type or a generic parameter type that is constrained to represent a reference type.
public static IsReferenceType ( IType type ) : bool
type IType
Результат bool

IsSignedNumber() публичный Метод

public IsSignedNumber ( IType type ) : bool
type IType
Результат bool

IsSystemObject() публичный Метод

checks if the passed type will be equivalente to System.Object in runtime (accounting for the presence of duck typing).
public IsSystemObject ( IType type ) : bool
type IType
Результат bool

IsUnknown() публичный статический Метод

public static IsUnknown ( Expression node ) : bool
node Boo.Lang.Compiler.Ast.Expression
Результат bool

IsUnknown() публичный статический Метод

public static IsUnknown ( IType type ) : bool
type IType
Результат bool

IsValidException() публичный Метод

public IsValidException ( IType type ) : bool
type IType
Результат bool

KnowsQuackFu() публичный Метод

public KnowsQuackFu ( IType type ) : bool
type IType
Результат bool

Map() публичный Метод

public Map ( ConstructorInfo constructor ) : IConstructor
constructor System.Reflection.ConstructorInfo
Результат IConstructor

Map() публичный Метод

public Map ( MemberInfo members ) : IEntity
members System.Reflection.MemberInfo
Результат IEntity

Map() публичный Метод

public Map ( MethodInfo method ) : IMethod
method System.Reflection.MethodInfo
Результат IMethod

Map() публичный Метод

public Map ( ParameterInfo parameters ) : IParameter[]
parameters System.Reflection.ParameterInfo
Результат IParameter[]

Map() публичный Метод

public Map ( Type type ) : IType
type System.Type
Результат IType

MapToConcreteExpressionTypes() публичный Метод

public MapToConcreteExpressionTypes ( Boo.Lang.Compiler.Ast.ExpressionCollection items ) : void
items Boo.Lang.Compiler.Ast.ExpressionCollection
Результат void

MapWildcardType() публичный Метод

public MapWildcardType ( IType type ) : IType
type IType
Результат IType

PrepareBuiltinFunctions() защищенный Метод

protected PrepareBuiltinFunctions ( ) : void
Результат void

PreparePrimitives() защищенный Метод

protected PreparePrimitives ( ) : void
Результат void

ResolvePrimitive() публичный Метод

public ResolvePrimitive ( string name ) : IEntity
name string
Результат IEntity

SizeOf() публичный Метод

public SizeOf ( IType type ) : int
type IType
Результат int

TypeSystemServices() публичный Метод

public TypeSystemServices ( ) : System
Результат System

TypeSystemServices() публичный Метод

public TypeSystemServices ( CompilerContext context ) : System
context CompilerContext
Результат System

Описание свойств

ArrayType публичное свойство

public IType ArrayType
Результат IType

BoolType публичное свойство

public IType BoolType
Результат IType

BuiltinsType публичное свойство

public IType BuiltinsType
Результат IType

ByteType публичное свойство

public IType ByteType
Результат IType

CharType публичное свойство

public IType CharType
Результат IType

ConditionalAttribute публичное свойство

public IType ConditionalAttribute
Результат IType

DateTimeType публичное свойство

public IType DateTimeType
Результат IType

DecimalType публичное свойство

public IType DecimalType
Результат IType

DelegateType публичное свойство

public IType DelegateType
Результат IType

DoubleType публичное свойство

public IType DoubleType
Результат IType

DuckType публичное свойство

public IType DuckType
Результат IType

EnumType публичное свойство

public IType EnumType
Результат IType

ErrorEntity публичное статическое свойство

public static IType ErrorEntity
Результат IType

HashType публичное свойство

public IType HashType
Результат IType

IAstGeneratorMacroType публичное свойство

public IType IAstGeneratorMacroType
Результат IType

IAstMacroType публичное свойство

public IType IAstMacroType
Результат IType

ICallableType публичное свойство

public IType ICallableType
Результат IType

ICollectionGenericType публичное свойство

public IType ICollectionGenericType
Результат IType

ICollectionType публичное свойство

public IType ICollectionType
Результат IType

IDisposableType публичное свойство

public IType IDisposableType
Результат IType

IEnumerableGenericType публичное свойство

public IType IEnumerableGenericType
Результат IType

IEnumerableType публичное свойство

public IType IEnumerableType
Результат IType

IEnumeratorGenericType публичное свойство

public IType IEnumeratorGenericType
Результат IType

IEnumeratorType публичное свойство

public IType IEnumeratorType
Результат IType

IListGenericType публичное свойство

public IType IListGenericType
Результат IType

IListType публичное свойство

public IType IListType
Результат IType

IQuackFuType публичное свойство

public IType IQuackFuType
Результат IType

IntPtrType публичное свойство

public IType IntPtrType
Результат IType

IntType публичное свойство

public IType IntType
Результат IType

ListType публичное свойство

public IType ListType
Результат IType

LongType публичное свойство

public IType LongType
Результат IType

MulticastDelegateType публичное свойство

public IType MulticastDelegateType
Результат IType

ObjectArrayType публичное свойство

public IArrayType ObjectArrayType
Результат IArrayType

ObjectType публичное свойство

public IType ObjectType
Результат IType

RegexType публичное свойство

public IType RegexType
Результат IType

RuntimeServicesType публичное свойство

public IType RuntimeServicesType
Результат IType

SByteType публичное свойство

public IType SByteType
Результат IType

ShortType публичное свойство

public IType ShortType
Результат IType

SingleType публичное свойство

public IType SingleType
Результат IType

StringType публичное свойство

public IType StringType
Результат IType

SystemAttribute публичное свойство

public IType SystemAttribute
Результат IType

TimeSpanType публичное свойство

public IType TimeSpanType
Результат IType

TypeType публичное свойство

public IType TypeType
Результат IType

UIntPtrType публичное свойство

public IType UIntPtrType
Результат IType

UIntType публичное свойство

public IType UIntType
Результат IType

ULongType публичное свойство

public IType ULongType
Результат IType

UShortType публичное свойство

public IType UShortType
Результат IType

ValueTypeType публичное свойство

public IType ValueTypeType
Результат IType

VoidType публичное свойство

public IType VoidType
Результат IType