C# 클래스 Boo.Lang.Compiler.Steps.ProcessMethodBodiesWithDuckTyping

상속: ProcessMethodBodies
파일 보기 프로젝트 열기: boo/boo-lang

공개 메소드들

메소드 설명
LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
LeaveUnaryExpression ( UnaryExpression node ) : void

보호된 메소드들

메소드 설명
AddResolvedNamedArgumentToEval ( MethodInvocationExpression eval, Boo.Lang.Compiler.Ast.ExpressionPair pair, ReferenceExpression instance ) : void
BindDuck ( Expression node ) : void
BindQuack ( Expression node ) : void
CantResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entities ) : IEntity
CheckBuiltinUsage ( ReferenceExpression node, IEntity entity ) : void
IsDuckTyped ( Expression e ) : bool
MemberNotFound ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node, INamespace ns ) : void
NamedArgumentNotFound ( IType type, ReferenceExpression name ) : void
ProcessAssignment ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
ProcessBuiltinInvocation ( BuiltinFunction function, MethodInvocationExpression node ) : void
ProcessInvocationOnUnknownCallableExpression ( MethodInvocationExpression node ) : void
ProcessMethodInvocationWithInvalidParameters ( MethodInvocationExpression node, IMethod targetMethod ) : bool
ProcessStaticallyTypedAssignment ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
ResolveRuntimeOperator ( Boo.Lang.Compiler.Ast.BinaryExpression node, string operatorName, MethodInvocationExpression mie ) : bool
ShouldRebindMember ( IEntity entity ) : bool

비공개 메소드들

메소드 설명
NormalizeMethodInvocationTarget ( MethodInvocationExpression node ) : void

메소드 상세

AddResolvedNamedArgumentToEval() 보호된 메소드

protected AddResolvedNamedArgumentToEval ( MethodInvocationExpression eval, Boo.Lang.Compiler.Ast.ExpressionPair pair, ReferenceExpression instance ) : void
eval Boo.Lang.Compiler.Ast.MethodInvocationExpression
pair Boo.Lang.Compiler.Ast.ExpressionPair
instance Boo.Lang.Compiler.Ast.ReferenceExpression
리턴 void

BindDuck() 보호된 메소드

protected BindDuck ( Expression node ) : void
node Boo.Lang.Compiler.Ast.Expression
리턴 void

BindQuack() 보호된 메소드

protected BindQuack ( Expression node ) : void
node Boo.Lang.Compiler.Ast.Expression
리턴 void

CantResolveAmbiguousMethodInvocation() 보호된 메소드

protected CantResolveAmbiguousMethodInvocation ( MethodInvocationExpression node, IEntity entities ) : IEntity
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
entities IEntity
리턴 IEntity

CheckBuiltinUsage() 보호된 메소드

protected CheckBuiltinUsage ( ReferenceExpression node, IEntity entity ) : void
node Boo.Lang.Compiler.Ast.ReferenceExpression
entity IEntity
리턴 void

IsDuckTyped() 보호된 메소드

protected IsDuckTyped ( Expression e ) : bool
e Boo.Lang.Compiler.Ast.Expression
리턴 bool

LeaveSlicingExpression() 공개 메소드

public LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
node Boo.Lang.Compiler.Ast.SlicingExpression
리턴 void

LeaveUnaryExpression() 공개 메소드

public LeaveUnaryExpression ( UnaryExpression node ) : void
node Boo.Lang.Compiler.Ast.UnaryExpression
리턴 void

MemberNotFound() 보호된 메소드

protected MemberNotFound ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node, INamespace ns ) : void
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
ns INamespace
리턴 void

NamedArgumentNotFound() 보호된 메소드

protected NamedArgumentNotFound ( IType type, ReferenceExpression name ) : void
type IType
name Boo.Lang.Compiler.Ast.ReferenceExpression
리턴 void

ProcessAssignment() 보호된 메소드

protected ProcessAssignment ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
리턴 void

ProcessBuiltinInvocation() 보호된 메소드

protected ProcessBuiltinInvocation ( BuiltinFunction function, MethodInvocationExpression node ) : void
function Boo.Lang.Compiler.TypeSystem.BuiltinFunction
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
리턴 void

ProcessInvocationOnUnknownCallableExpression() 보호된 메소드

protected ProcessInvocationOnUnknownCallableExpression ( MethodInvocationExpression node ) : void
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
리턴 void

ProcessMethodInvocationWithInvalidParameters() 보호된 메소드

protected ProcessMethodInvocationWithInvalidParameters ( MethodInvocationExpression node, IMethod targetMethod ) : bool
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
targetMethod IMethod
리턴 bool

ProcessStaticallyTypedAssignment() 보호된 메소드

protected ProcessStaticallyTypedAssignment ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
리턴 void

ResolveRuntimeOperator() 보호된 메소드

protected ResolveRuntimeOperator ( Boo.Lang.Compiler.Ast.BinaryExpression node, string operatorName, MethodInvocationExpression mie ) : bool
node Boo.Lang.Compiler.Ast.BinaryExpression
operatorName string
mie Boo.Lang.Compiler.Ast.MethodInvocationExpression
리턴 bool

ShouldRebindMember() 보호된 메소드

protected ShouldRebindMember ( IEntity entity ) : bool
entity IEntity
리턴 bool