org.jruby.compiler
Class ASTCompiler

java.lang.Object
  extended by org.jruby.compiler.ASTCompiler

public class ASTCompiler
extends java.lang.Object

Author:
headius

Nested Class Summary
 class ASTCompiler.SpecificArityArguments
           
 class ASTCompiler.VariableArityArguments
           
 
Constructor Summary
ASTCompiler()
           
 
Method Summary
 void compile(Node node, MethodCompiler context)
           
 void compileAlias(Node node, MethodCompiler context)
           
 void compileAnd(Node node, MethodCompiler context)
           
 void compileArgs(Node node, MethodCompiler context)
           
 void compileArgsCat(Node node, MethodCompiler context)
           
 void compileArgsCatArguments(Node node, MethodCompiler context)
           
 void compileArgsPush(Node node, MethodCompiler context)
           
 void compileArgsPushArguments(Node node, MethodCompiler context)
           
 void compileArguments(Node node, MethodCompiler context)
           
 void compileArray(Node node, MethodCompiler context)
           
 void compileArrayArguments(Node node, MethodCompiler context)
           
 void compileAssignment(Node node, MethodCompiler context)
           
 void compileAttrAssignAssignment(Node node, MethodCompiler context)
           
 void compileBackref(Node node, MethodCompiler context)
           
 void compileBegin(Node node, MethodCompiler context)
           
 void compileBignum(Node node, MethodCompiler context)
           
 void compileBlock(Node node, MethodCompiler context)
           
 void compileBreak(Node node, MethodCompiler context)
           
 void compileCall(Node node, MethodCompiler context)
           
 void compileCase(Node node, MethodCompiler context)
           
 void compileClass(Node node, MethodCompiler context)
           
 void compileClassVar(Node node, MethodCompiler context)
           
 void compileClassVarAsgn(Node node, MethodCompiler context)
           
 void compileClassVarAsgnAssignment(Node node, MethodCompiler context)
           
 void compileClassVarDecl(Node node, MethodCompiler context)
           
 void compileClassVarDeclAssignment(Node node, MethodCompiler context)
           
 void compileColon2(Node node, MethodCompiler context)
           
 void compileColon3(Node node, MethodCompiler context)
           
 void compileConst(Node node, MethodCompiler context)
           
 void compileConstDecl(Node node, MethodCompiler context)
           
 void compileConstDeclAssignment(Node node, MethodCompiler context)
           
 void compileDAsgn(Node node, MethodCompiler context)
           
 void compileDAsgnAssignment(Node node, MethodCompiler context)
           
 void compileDefined(Node node, MethodCompiler context)
           
 void compileDefn(Node node, MethodCompiler context)
           
 void compileDefs(Node node, MethodCompiler context)
           
 void compileDot(Node node, MethodCompiler context)
           
 void compileDRegexp(Node node, MethodCompiler context)
           
 void compileDStr(Node node, MethodCompiler context)
           
 void compileDSymbol(Node node, MethodCompiler context)
           
 void compileDVar(Node node, MethodCompiler context)
           
 void compileDXStr(Node node, MethodCompiler context)
           
 void compileEnsureNode(Node node, MethodCompiler context)
           
 void compileEvStr(Node node, MethodCompiler context)
           
 void compileFalse(Node node, MethodCompiler context)
           
 void compileFCall(Node node, MethodCompiler context)
           
 void compileFixnum(Node node, MethodCompiler context)
           
 void compileFlip(Node node, MethodCompiler context)
           
 void compileFloat(Node node, MethodCompiler context)
           
 void compileFor(Node node, MethodCompiler context)
           
 void compileForIter(Node node, MethodCompiler context)
           
 void compileGetArgumentDefinition(Node node, MethodCompiler context, java.lang.String type)
           
 void compileGetDefinition(Node node, MethodCompiler context)
           
 void compileGetDefinitionBase(Node node, MethodCompiler context)
           
 void compileGlobalAsgn(Node node, MethodCompiler context)
           
 void compileGlobalAsgnAssignment(Node node, MethodCompiler context)
           
 void compileGlobalVar(Node node, MethodCompiler context)
           
 void compileHash(Node node, MethodCompiler context)
           
 void compileIf(Node node, MethodCompiler context)
           
 void compileInstAsgn(Node node, MethodCompiler context)
           
 void compileInstAsgnAssignment(Node node, MethodCompiler context)
           
 void compileInstVar(Node node, MethodCompiler context)
           
 void compileIter(Node node, MethodCompiler context)
           
 void compileLocalAsgn(Node node, MethodCompiler context)
           
 void compileLocalAsgnAssignment(Node node, MethodCompiler context)
           
 void compileLocalVar(Node node, MethodCompiler context)
           
 void compileMatch(Node node, MethodCompiler context)
           
 void compileMatch2(Node node, MethodCompiler context)
           
 void compileMatch3(Node node, MethodCompiler context)
           
 void compileModule(Node node, MethodCompiler context)
           
 void compileMultiArgWhen(WhenNode whenNode, ArrayNode expressionsNode, int conditionIndex, MethodCompiler context, boolean hasCase)
           
 void compileMultipleAsgn(Node node, MethodCompiler context)
           
 void compileMultipleAsgnAssignment(Node node, MethodCompiler context)
           
 void compileNewline(Node node, MethodCompiler context)
           
 void compileNext(Node node, MethodCompiler context)
           
 void compileNil(Node node, MethodCompiler context)
           
 void compileNot(Node node, MethodCompiler context)
           
 void compileNthRef(Node node, MethodCompiler context)
           
 void compileOpAsgn(Node node, MethodCompiler context)
           
 void compileOpAsgnAnd(Node node, MethodCompiler context)
           
 void compileOpAsgnOr(Node node, MethodCompiler context)
           
 void compileOpAsgnWithAnd(Node node, MethodCompiler context)
           
 void compileOpAsgnWithMethod(Node node, MethodCompiler context)
           
 void compileOpAsgnWithOr(Node node, MethodCompiler context)
           
 void compileOpElementAsgn(Node node, MethodCompiler context)
           
 void compileOpElementAsgnWithAnd(Node node, MethodCompiler context)
           
 void compileOpElementAsgnWithMethod(Node node, MethodCompiler context)
           
 void compileOpElementAsgnWithOr(Node node, MethodCompiler context)
           
 void compileOr(Node node, MethodCompiler context)
           
 void compilePostExe(Node node, MethodCompiler context)
           
 void compilePreExe(Node node, MethodCompiler context)
           
 void compileRedo(Node node, MethodCompiler context)
           
 void compileRegexp(Node node, MethodCompiler context)
           
 void compileRescue(Node node, MethodCompiler context)
           
 void compileRescueBody(Node node, MethodCompiler context)
           
 void compileRetry(Node node, MethodCompiler context)
           
 void compileReturn(Node node, MethodCompiler context)
           
 void compileRoot(Node node, ScriptCompiler context, ASTInspector inspector)
           
 void compileRoot(Node node, ScriptCompiler context, ASTInspector inspector, boolean load, boolean main)
           
 void compileSClass(Node node, MethodCompiler context)
           
 void compileSelf(Node node, MethodCompiler context)
           
 void compileSplat(Node node, MethodCompiler context)
           
 void compileSplatArguments(Node node, MethodCompiler context)
           
 void compileStr(Node node, MethodCompiler context)
           
 void compileSuper(Node node, MethodCompiler context)
           
 void compileSValue(Node node, MethodCompiler context)
           
 void compileSymbol(Node node, MethodCompiler context)
           
 void compileToAry(Node node, MethodCompiler context)
           
 void compileTrue(Node node, MethodCompiler context)
           
 void compileUndef(Node node, MethodCompiler context)
           
 void compileUntil(Node node, MethodCompiler context)
           
 void compileVAlias(Node node, MethodCompiler context)
           
 void compileVCall(Node node, MethodCompiler context)
           
 void compileWhen(Node node, MethodCompiler context, boolean hasCase)
           
 void compileWhile(Node node, MethodCompiler context)
           
 void compileXStr(Node node, MethodCompiler context)
           
 void compileYield(Node node, MethodCompiler context)
           
 void compileZArray(Node node, MethodCompiler context)
           
 void compileZSuper(Node node, MethodCompiler context)
           
static void confirmNodeIsSafe(Node node)
          Check whether the target node can safely be compiled.
 ArgumentsCallback getArgsCallback(Node node)
           
static YARVNodesCompiler getYARVCompiler()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASTCompiler

public ASTCompiler()
Method Detail

compile

public void compile(Node node,
                    MethodCompiler context)

compileArguments

public void compileArguments(Node node,
                             MethodCompiler context)

getArgsCallback

public ArgumentsCallback getArgsCallback(Node node)

compileAssignment

public void compileAssignment(Node node,
                              MethodCompiler context)

getYARVCompiler

public static YARVNodesCompiler getYARVCompiler()

compileAlias

public void compileAlias(Node node,
                         MethodCompiler context)

compileAnd

public void compileAnd(Node node,
                       MethodCompiler context)

compileArray

public void compileArray(Node node,
                         MethodCompiler context)

compileArgsCat

public void compileArgsCat(Node node,
                           MethodCompiler context)

compileArgsPush

public void compileArgsPush(Node node,
                            MethodCompiler context)

compileAttrAssignAssignment

public void compileAttrAssignAssignment(Node node,
                                        MethodCompiler context)

compileBackref

public void compileBackref(Node node,
                           MethodCompiler context)

compileBegin

public void compileBegin(Node node,
                         MethodCompiler context)

compileBignum

public void compileBignum(Node node,
                          MethodCompiler context)

compileBlock

public void compileBlock(Node node,
                         MethodCompiler context)

compileBreak

public void compileBreak(Node node,
                         MethodCompiler context)

compileCall

public void compileCall(Node node,
                        MethodCompiler context)

compileCase

public void compileCase(Node node,
                        MethodCompiler context)

compileWhen

public void compileWhen(Node node,
                        MethodCompiler context,
                        boolean hasCase)

compileMultiArgWhen

public void compileMultiArgWhen(WhenNode whenNode,
                                ArrayNode expressionsNode,
                                int conditionIndex,
                                MethodCompiler context,
                                boolean hasCase)

compileClass

public void compileClass(Node node,
                         MethodCompiler context)

compileSClass

public void compileSClass(Node node,
                          MethodCompiler context)

compileClassVar

public void compileClassVar(Node node,
                            MethodCompiler context)

compileClassVarAsgn

public void compileClassVarAsgn(Node node,
                                MethodCompiler context)

compileClassVarAsgnAssignment

public void compileClassVarAsgnAssignment(Node node,
                                          MethodCompiler context)

compileClassVarDecl

public void compileClassVarDecl(Node node,
                                MethodCompiler context)

compileClassVarDeclAssignment

public void compileClassVarDeclAssignment(Node node,
                                          MethodCompiler context)

compileConstDecl

public void compileConstDecl(Node node,
                             MethodCompiler context)

compileConstDeclAssignment

public void compileConstDeclAssignment(Node node,
                                       MethodCompiler context)

compileConst

public void compileConst(Node node,
                         MethodCompiler context)

compileColon2

public void compileColon2(Node node,
                          MethodCompiler context)

compileColon3

public void compileColon3(Node node,
                          MethodCompiler context)

compileGetDefinitionBase

public void compileGetDefinitionBase(Node node,
                                     MethodCompiler context)

compileDefined

public void compileDefined(Node node,
                           MethodCompiler context)

compileGetArgumentDefinition

public void compileGetArgumentDefinition(Node node,
                                         MethodCompiler context,
                                         java.lang.String type)

compileGetDefinition

public void compileGetDefinition(Node node,
                                 MethodCompiler context)

compileDAsgn

public void compileDAsgn(Node node,
                         MethodCompiler context)

compileDAsgnAssignment

public void compileDAsgnAssignment(Node node,
                                   MethodCompiler context)

compileDefn

public void compileDefn(Node node,
                        MethodCompiler context)

compileDefs

public void compileDefs(Node node,
                        MethodCompiler context)

compileArgs

public void compileArgs(Node node,
                        MethodCompiler context)

compileDot

public void compileDot(Node node,
                       MethodCompiler context)

compileDRegexp

public void compileDRegexp(Node node,
                           MethodCompiler context)

compileDStr

public void compileDStr(Node node,
                        MethodCompiler context)

compileDSymbol

public void compileDSymbol(Node node,
                           MethodCompiler context)

compileDVar

public void compileDVar(Node node,
                        MethodCompiler context)

compileDXStr

public void compileDXStr(Node node,
                         MethodCompiler context)

compileEnsureNode

public void compileEnsureNode(Node node,
                              MethodCompiler context)

compileEvStr

public void compileEvStr(Node node,
                         MethodCompiler context)

compileFalse

public void compileFalse(Node node,
                         MethodCompiler context)

compileFCall

public void compileFCall(Node node,
                         MethodCompiler context)

compileFixnum

public void compileFixnum(Node node,
                          MethodCompiler context)

compileFlip

public void compileFlip(Node node,
                        MethodCompiler context)

compileFloat

public void compileFloat(Node node,
                         MethodCompiler context)

compileFor

public void compileFor(Node node,
                       MethodCompiler context)

compileForIter

public void compileForIter(Node node,
                           MethodCompiler context)

compileGlobalAsgn

public void compileGlobalAsgn(Node node,
                              MethodCompiler context)

compileGlobalAsgnAssignment

public void compileGlobalAsgnAssignment(Node node,
                                        MethodCompiler context)

compileGlobalVar

public void compileGlobalVar(Node node,
                             MethodCompiler context)

compileHash

public void compileHash(Node node,
                        MethodCompiler context)

compileIf

public void compileIf(Node node,
                      MethodCompiler context)

compileInstAsgn

public void compileInstAsgn(Node node,
                            MethodCompiler context)

compileInstAsgnAssignment

public void compileInstAsgnAssignment(Node node,
                                      MethodCompiler context)

compileInstVar

public void compileInstVar(Node node,
                           MethodCompiler context)

compileIter

public void compileIter(Node node,
                        MethodCompiler context)

compileLocalAsgn

public void compileLocalAsgn(Node node,
                             MethodCompiler context)

compileLocalAsgnAssignment

public void compileLocalAsgnAssignment(Node node,
                                       MethodCompiler context)

compileLocalVar

public void compileLocalVar(Node node,
                            MethodCompiler context)

compileMatch

public void compileMatch(Node node,
                         MethodCompiler context)

compileMatch2

public void compileMatch2(Node node,
                          MethodCompiler context)

compileMatch3

public void compileMatch3(Node node,
                          MethodCompiler context)

compileModule

public void compileModule(Node node,
                          MethodCompiler context)

compileMultipleAsgn

public void compileMultipleAsgn(Node node,
                                MethodCompiler context)

compileMultipleAsgnAssignment

public void compileMultipleAsgnAssignment(Node node,
                                          MethodCompiler context)

compileNewline

public void compileNewline(Node node,
                           MethodCompiler context)

compileNext

public void compileNext(Node node,
                        MethodCompiler context)

compileNthRef

public void compileNthRef(Node node,
                          MethodCompiler context)

compileNil

public void compileNil(Node node,
                       MethodCompiler context)

compileNot

public void compileNot(Node node,
                       MethodCompiler context)

compileOpAsgnAnd

public void compileOpAsgnAnd(Node node,
                             MethodCompiler context)

compileOpAsgnOr

public void compileOpAsgnOr(Node node,
                            MethodCompiler context)

compileOpAsgn

public void compileOpAsgn(Node node,
                          MethodCompiler context)

compileOpAsgnWithOr

public void compileOpAsgnWithOr(Node node,
                                MethodCompiler context)

compileOpAsgnWithAnd

public void compileOpAsgnWithAnd(Node node,
                                 MethodCompiler context)

compileOpAsgnWithMethod

public void compileOpAsgnWithMethod(Node node,
                                    MethodCompiler context)

compileOpElementAsgn

public void compileOpElementAsgn(Node node,
                                 MethodCompiler context)

compileOpElementAsgnWithOr

public void compileOpElementAsgnWithOr(Node node,
                                       MethodCompiler context)

compileOpElementAsgnWithAnd

public void compileOpElementAsgnWithAnd(Node node,
                                        MethodCompiler context)

compileOpElementAsgnWithMethod

public void compileOpElementAsgnWithMethod(Node node,
                                           MethodCompiler context)

compileOr

public void compileOr(Node node,
                      MethodCompiler context)

compilePostExe

public void compilePostExe(Node node,
                           MethodCompiler context)

compilePreExe

public void compilePreExe(Node node,
                          MethodCompiler context)

compileRedo

public void compileRedo(Node node,
                        MethodCompiler context)

compileRegexp

public void compileRegexp(Node node,
                          MethodCompiler context)

compileRescue

public void compileRescue(Node node,
                          MethodCompiler context)

compileRescueBody

public void compileRescueBody(Node node,
                              MethodCompiler context)

compileRetry

public void compileRetry(Node node,
                         MethodCompiler context)

compileReturn

public void compileReturn(Node node,
                          MethodCompiler context)

compileRoot

public void compileRoot(Node node,
                        ScriptCompiler context,
                        ASTInspector inspector)

compileRoot

public void compileRoot(Node node,
                        ScriptCompiler context,
                        ASTInspector inspector,
                        boolean load,
                        boolean main)

compileSelf

public void compileSelf(Node node,
                        MethodCompiler context)

compileSplat

public void compileSplat(Node node,
                         MethodCompiler context)

compileStr

public void compileStr(Node node,
                       MethodCompiler context)

compileSuper

public void compileSuper(Node node,
                         MethodCompiler context)

compileSValue

public void compileSValue(Node node,
                          MethodCompiler context)

compileSymbol

public void compileSymbol(Node node,
                          MethodCompiler context)

compileToAry

public void compileToAry(Node node,
                         MethodCompiler context)

compileTrue

public void compileTrue(Node node,
                        MethodCompiler context)

compileUndef

public void compileUndef(Node node,
                         MethodCompiler context)

compileUntil

public void compileUntil(Node node,
                         MethodCompiler context)

compileVAlias

public void compileVAlias(Node node,
                          MethodCompiler context)

compileVCall

public void compileVCall(Node node,
                         MethodCompiler context)

compileWhile

public void compileWhile(Node node,
                         MethodCompiler context)

compileXStr

public void compileXStr(Node node,
                        MethodCompiler context)

compileYield

public void compileYield(Node node,
                         MethodCompiler context)

compileZArray

public void compileZArray(Node node,
                          MethodCompiler context)

compileZSuper

public void compileZSuper(Node node,
                          MethodCompiler context)

compileArgsCatArguments

public void compileArgsCatArguments(Node node,
                                    MethodCompiler context)

compileArgsPushArguments

public void compileArgsPushArguments(Node node,
                                     MethodCompiler context)

compileArrayArguments

public void compileArrayArguments(Node node,
                                  MethodCompiler context)

compileSplatArguments

public void compileSplatArguments(Node node,
                                  MethodCompiler context)

confirmNodeIsSafe

public static void confirmNodeIsSafe(Node node)
Check whether the target node can safely be compiled.

Parameters:
node -


Copyright © 2002-2007 JRuby Team. All Rights Reserved.