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

상속: Boo.Lang.Compiler.Steps.AbstractTransformerCompilerStep
파일 보기 프로젝트 열기: boo/boo-lang

보호된 프로퍼티들

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

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
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

비공개 메소드들

메소드 설명
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

메소드 상세

ExpandDuckTypedExpressions() 공개 메소드

public ExpandDuckTypedExpressions ( ) : Boo.Lang.Compiler.Ast
리턴 Boo.Lang.Compiler.Ast

ExpandQuackInvocation() 보호된 메소드

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

ExpandQuackInvocation() 보호된 메소드

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

GetDuckTypingServicesType() 보호된 메소드

protected GetDuckTypingServicesType ( ) : IType
리턴 IType

GetGetPropertyMethod() 보호된 메소드

protected GetGetPropertyMethod ( ) : IMethod
리턴 IMethod

GetSetPropertyMethod() 보호된 메소드

protected GetSetPropertyMethod ( ) : IMethod
리턴 IMethod

Initialize() 공개 메소드

public Initialize ( CompilerContext context ) : void
context CompilerContext
리턴 void

InitializeDuckTypingServices() 보호된 메소드

protected InitializeDuckTypingServices ( ) : void
리턴 void

LeaveBinaryExpression() 공개 메소드

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

LeaveMemberReferenceExpression() 공개 메소드

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

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

OnMethodInvocationExpression() 공개 메소드

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

ProcessDuckSlicingPropertySet() 보호된 메소드

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

ProcessQuackPropertySet() 보호된 메소드

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

Replace() 보호된 메소드

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

ResolveGetPropertyMethod() 보호된 메소드

protected ResolveGetPropertyMethod ( ) : IMethod
리턴 IMethod

ResolveInvokeMethod() 보호된 메소드

protected ResolveInvokeMethod ( ) : IMethod
리턴 IMethod

ResolveMethod() 보호된 메소드

protected ResolveMethod ( IType type, string name ) : IMethod
type IType
name string
리턴 IMethod

ResolveSetPropertyMethod() 보호된 메소드

protected ResolveSetPropertyMethod ( ) : IMethod
리턴 IMethod

Run() 공개 메소드

public Run ( ) : void
리턴 void

프로퍼티 상세

RuntimeServices_GetProperty 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_GetProperty
리턴 IMethod

RuntimeServices_GetSlice 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_GetSlice
리턴 IMethod

RuntimeServices_Invoke 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_Invoke
리턴 IMethod

RuntimeServices_InvokeBinaryOperator 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_InvokeBinaryOperator
리턴 IMethod

RuntimeServices_InvokeCallable 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_InvokeCallable
리턴 IMethod

RuntimeServices_InvokeUnaryOperator 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_InvokeUnaryOperator
리턴 IMethod

RuntimeServices_SetProperty 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_SetProperty
리턴 IMethod

RuntimeServices_SetSlice 보호되어 있는 프로퍼티

protected IMethod RuntimeServices_SetSlice
리턴 IMethod

_duckTypingServicesType 보호되어 있는 프로퍼티

protected IType _duckTypingServicesType
리턴 IType