C# Class Boo.Lang.Compiler.Steps.ProcessMethodBodiesWithDuckTyping

Inheritance: ProcessMethodBodies
Datei anzeigen Open project: boo/boo-lang

Public Methods

Method Description
LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
LeaveUnaryExpression ( UnaryExpression node ) : void

Protected Methods

Method Description
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

Private Methods

Method Description
NormalizeMethodInvocationTarget ( MethodInvocationExpression node ) : void

Method Details

AddResolvedNamedArgumentToEval() protected method

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
return void

BindDuck() protected method

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

BindQuack() protected method

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

CantResolveAmbiguousMethodInvocation() protected method

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

CheckBuiltinUsage() protected method

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

IsDuckTyped() protected method

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

LeaveSlicingExpression() public method

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

LeaveUnaryExpression() public method

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

MemberNotFound() protected method

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

NamedArgumentNotFound() protected method

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

ProcessAssignment() protected method

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

ProcessBuiltinInvocation() protected method

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

ProcessInvocationOnUnknownCallableExpression() protected method

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

ProcessMethodInvocationWithInvalidParameters() protected method

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

ProcessStaticallyTypedAssignment() protected method

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

ResolveRuntimeOperator() protected method

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
return bool

ShouldRebindMember() protected method

protected ShouldRebindMember ( IEntity entity ) : bool
entity IEntity
return bool