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

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

공개 메소드들

메소드 설명
GenericParameterInferrer ( CompilerContext context, IMethod genericMethod, Boo.Lang.Compiler.Ast.ExpressionCollection arguments ) : System
GetInferredTypes ( ) : IType[]
Run ( ) : bool

비공개 메소드들

메소드 설명
CalculateDependencies ( CallableSignature signature ) : void
CalculateDependencies ( IType inputType, IType outputType ) : void
FindGenericParameters ( IType type ) : IEnumerable
Fix ( IGenericParameter genericParameter, InferredType inferredType ) : bool
FixAll ( Predicate predicate ) : bool
GetInferredType ( IGenericParameter gp ) : IType
GetParameterTypes ( CallableSignature signature ) : IType[]
HasDependantsAndBounds ( InferredType inferredType ) : bool
HasNoDependencies ( InferredType inferredType ) : bool
HasUnfixedTypes ( ) : bool
Infer ( IType formalType, IType actualType, Inference inference ) : bool

Attempts to infer the type of generic parameters that occur in a formal parameter type according to its actual argument type.

InferArrayType ( IArrayType formalType, IType actualType, Inference inference ) : bool
InferCallableType ( ICallableType formalType, IType actualType, Inference inference ) : bool
InferCallables ( ) : void

Performs inference on implicitly typed callables whose input types have already been inferred.

Corresponds to the second phase in generic parameter inference according to the C# 3.0 spec.

InferConstructedType ( IType formalType, IType actualType, Inference inference ) : bool
InferExplicits ( ) : void

Performs inference on explicitly typed arguments.

Corresponds to the first phase in generic parameter inference according to the C# 3.0 spec.

InferGenericParameter ( IGenericParameter formalType, IType actualType, Inference inference ) : bool
InferSimpleType ( IType formalType, IType actualType, Inference inference ) : bool
InferenceComplete ( bool successfully ) : bool
InferenceStart ( ) : void
InitializeDependencies ( IGenericParameter genericParameters, CallableSignature signature ) : void
InitializeInferredTypes ( IEnumerable parameters ) : void
Invert ( Inference inference ) : Inference
SetDependency ( IGenericParameter dependant, IGenericParameter dependee ) : void

메소드 상세

GenericParameterInferrer() 공개 메소드

public GenericParameterInferrer ( CompilerContext context, IMethod genericMethod, Boo.Lang.Compiler.Ast.ExpressionCollection arguments ) : System
context CompilerContext
genericMethod IMethod
arguments Boo.Lang.Compiler.Ast.ExpressionCollection
리턴 System

GetInferredTypes() 공개 메소드

public GetInferredTypes ( ) : IType[]
리턴 IType[]

Run() 공개 메소드

public Run ( ) : bool
리턴 bool