C# 클래스 Boo.Lang.Compiler.TypeSystem.TypeSystemServices

파일 보기 프로젝트 열기: boo-lang/boo 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
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