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

Inheritance: Boo.Lang.Compiler.Steps.AbstractTransformerCompilerStep
Datei anzeigen Open project: boo/boo-lang

Protected Properties

Property Type Description
RuntimeServices_GetProperty IMethod
RuntimeServices_GetSlice IMethod
RuntimeServices_Invoke IMethod
RuntimeServices_InvokeBinaryOperator IMethod
RuntimeServices_InvokeCallable IMethod
RuntimeServices_InvokeUnaryOperator IMethod
RuntimeServices_SetProperty IMethod
RuntimeServices_SetSlice IMethod
_duckTypingServicesType IType

Public Methods

Method Description
ExpandDuckTypedExpressions ( ) : Boo.Lang.Compiler.Ast
Initialize ( CompilerContext context ) : void
LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
LeaveMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : void
LeaveSlicingExpression ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : void
LeaveUnaryExpression ( UnaryExpression node ) : void
OnMethodInvocationExpression ( MethodInvocationExpression node ) : void
Run ( ) : void

Protected Methods

Method Description
ExpandQuackInvocation ( MethodInvocationExpression node ) : void
ExpandQuackInvocation ( MethodInvocationExpression node, IMethod runtimeInvoke ) : void
GetDuckTypingServicesType ( ) : IType
GetGetPropertyMethod ( ) : IMethod
GetSetPropertyMethod ( ) : IMethod
InitializeDuckTypingServices ( ) : void
ProcessDuckSlicingPropertySet ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
ProcessQuackPropertySet ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
Replace ( Expression node ) : void
ResolveGetPropertyMethod ( ) : IMethod
ResolveInvokeMethod ( ) : IMethod
ResolveMethod ( IType type, string name ) : IMethod
ResolveSetPropertyMethod ( ) : IMethod

Private Methods

Method Description
BindDuck ( Expression node ) : void
ExpandCallableInvocation ( MethodInvocationExpression node ) : void
ExpandMemberInvocation ( MethodInvocationExpression node, Boo.Lang.Compiler.Ast.MemberReferenceExpression target, IMethod runtimeInvoke ) : void
GetArrayForIndices ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : Boo.Lang.Compiler.Ast.ArrayLiteralExpression
GetSlicingMemberName ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : string
GetSlicingTarget ( Boo.Lang.Compiler.Ast.SlicingExpression node ) : Expression
IsDuckTyped ( Expression expression ) : bool
ProcessAssignment ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void

Method Details

ExpandDuckTypedExpressions() public method

public ExpandDuckTypedExpressions ( ) : Boo.Lang.Compiler.Ast
return Boo.Lang.Compiler.Ast

ExpandQuackInvocation() protected method

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

ExpandQuackInvocation() protected method

protected ExpandQuackInvocation ( MethodInvocationExpression node, IMethod runtimeInvoke ) : void
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
runtimeInvoke IMethod
return void

GetDuckTypingServicesType() protected method

protected GetDuckTypingServicesType ( ) : IType
return IType

GetGetPropertyMethod() protected method

protected GetGetPropertyMethod ( ) : IMethod
return IMethod

GetSetPropertyMethod() protected method

protected GetSetPropertyMethod ( ) : IMethod
return IMethod

Initialize() public method

public Initialize ( CompilerContext context ) : void
context CompilerContext
return void

InitializeDuckTypingServices() protected method

protected InitializeDuckTypingServices ( ) : void
return void

LeaveBinaryExpression() public method

public LeaveBinaryExpression ( Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
node Boo.Lang.Compiler.Ast.BinaryExpression
return void

LeaveMemberReferenceExpression() public method

public LeaveMemberReferenceExpression ( Boo.Lang.Compiler.Ast.MemberReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.MemberReferenceExpression
return void

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

OnMethodInvocationExpression() public method

public OnMethodInvocationExpression ( MethodInvocationExpression node ) : void
node Boo.Lang.Compiler.Ast.MethodInvocationExpression
return void

ProcessDuckSlicingPropertySet() protected method

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

ProcessQuackPropertySet() protected method

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

Replace() protected method

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

ResolveGetPropertyMethod() protected method

protected ResolveGetPropertyMethod ( ) : IMethod
return IMethod

ResolveInvokeMethod() protected method

protected ResolveInvokeMethod ( ) : IMethod
return IMethod

ResolveMethod() protected method

protected ResolveMethod ( IType type, string name ) : IMethod
type IType
name string
return IMethod

ResolveSetPropertyMethod() protected method

protected ResolveSetPropertyMethod ( ) : IMethod
return IMethod

Run() public method

public Run ( ) : void
return void

Property Details

RuntimeServices_GetProperty protected_oe property

protected IMethod RuntimeServices_GetProperty
return IMethod

RuntimeServices_GetSlice protected_oe property

protected IMethod RuntimeServices_GetSlice
return IMethod

RuntimeServices_Invoke protected_oe property

protected IMethod RuntimeServices_Invoke
return IMethod

RuntimeServices_InvokeBinaryOperator protected_oe property

protected IMethod RuntimeServices_InvokeBinaryOperator
return IMethod

RuntimeServices_InvokeCallable protected_oe property

protected IMethod RuntimeServices_InvokeCallable
return IMethod

RuntimeServices_InvokeUnaryOperator protected_oe property

protected IMethod RuntimeServices_InvokeUnaryOperator
return IMethod

RuntimeServices_SetProperty protected_oe property

protected IMethod RuntimeServices_SetProperty
return IMethod

RuntimeServices_SetSlice protected_oe property

protected IMethod RuntimeServices_SetSlice
return IMethod

_duckTypingServicesType protected_oe property

protected IType _duckTypingServicesType
return IType