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

상속: Boo.Lang.Compiler.Steps.AbstractTransformerCompilerStep
파일 보기 프로젝트 열기: boo/boo-lang 1 사용 예제들

공개 메소드들

메소드 설명
EnterTryStatement ( Boo.Lang.Compiler.Ast.TryStatement node ) : bool
GeneratorMethodProcessor ( CompilerContext context, Boo.Lang.Compiler.TypeSystem.InternalMethod method ) : System.Collections
LeaveTryStatement ( Boo.Lang.Compiler.Ast.TryStatement node ) : void
LeaveYieldStatement ( Boo.Lang.Compiler.Ast.YieldStatement node ) : void
OnReferenceExpression ( ReferenceExpression node ) : void
OnSelfLiteralExpression ( Boo.Lang.Compiler.Ast.SelfLiteralExpression node ) : void
Run ( ) : void

비공개 메소드들

메소드 설명
CallMethodOnSelf ( IMethod method ) : MethodInvocationExpression
ConvertTryStatement ( TryStatementInfo currentTry ) : void
CreateConstructor ( BooClassBuilder builder ) : BooMethodBuilder
CreateDisposeMethod ( ) : IMethod
CreateEnumerableConstructor ( ) : void
CreateEnumerator ( ) : void
CreateEnumeratorConstructor ( ) : void
CreateGetEnumerator ( Expression enumeratorExpression ) : void
CreateGetEnumeratorInvocation ( MethodInvocationExpression enumerableConstructorInvocation ) : MethodInvocationExpression
CreateLabel ( Node sourceNode ) : Boo.Lang.Compiler.Ast.LabelStatement
CreateMoveNext ( ) : void
CreateYieldInvocation ( Expression value, int newState ) : MethodInvocationExpression
DeclareFieldInitializedFromConstructorParameter ( BooClassBuilder type, BooMethodBuilder constructor, string parameterName, IType parameterType ) : Boo.Lang.Compiler.Ast.Field
FixGeneratorMethodBody ( MethodInvocationExpression enumerableConstructorInvocation ) : void
GeneratorReturnsIEnumerator ( ) : bool
GetDefaultYieldValue ( ) : Expression
GetGetEnumeratorBuilder ( ) : BooMethodBuilder
GetGetEnumeratorEntity ( ) : Boo.Lang.Compiler.TypeSystem.InternalMethod
InitializeFieldFromConstructorParameter ( BooMethodBuilder constructor, Boo.Lang.Compiler.Ast.Field field, string parameterName, IType parameterType ) : void
PropagateFromEnumerableToEnumerator ( MethodInvocationExpression enumeratorConstructorInvocation, string parameterName, IType parameterType ) : void
PropagateReferences ( MethodInvocationExpression enumerableConstructorInvocation, MethodInvocationExpression enumeratorConstructorInvocation ) : void
SetStateTo ( int num ) : Boo.Lang.Compiler.Ast.BinaryExpression

메소드 상세

EnterTryStatement() 공개 메소드

public EnterTryStatement ( Boo.Lang.Compiler.Ast.TryStatement node ) : bool
node Boo.Lang.Compiler.Ast.TryStatement
리턴 bool

GeneratorMethodProcessor() 공개 메소드

public GeneratorMethodProcessor ( CompilerContext context, Boo.Lang.Compiler.TypeSystem.InternalMethod method ) : System.Collections
context Boo.Lang.Compiler.CompilerContext
method Boo.Lang.Compiler.TypeSystem.InternalMethod
리턴 System.Collections

LeaveTryStatement() 공개 메소드

public LeaveTryStatement ( Boo.Lang.Compiler.Ast.TryStatement node ) : void
node Boo.Lang.Compiler.Ast.TryStatement
리턴 void

LeaveYieldStatement() 공개 메소드

public LeaveYieldStatement ( Boo.Lang.Compiler.Ast.YieldStatement node ) : void
node Boo.Lang.Compiler.Ast.YieldStatement
리턴 void

OnReferenceExpression() 공개 메소드

public OnReferenceExpression ( ReferenceExpression node ) : void
node Boo.Lang.Compiler.Ast.ReferenceExpression
리턴 void

OnSelfLiteralExpression() 공개 메소드

public OnSelfLiteralExpression ( Boo.Lang.Compiler.Ast.SelfLiteralExpression node ) : void
node Boo.Lang.Compiler.Ast.SelfLiteralExpression
리턴 void

Run() 공개 메소드

public Run ( ) : void
리턴 void