KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jruby > compiler > AndNodeCompiler


1 /*
2  * AndNodeCompiler.java
3  *
4  * Created on January 12, 2007, 12:38 PM
5  *
6  * To change this template, choose Tools | Template Manager
7  * and open the template in the editor.
8  */

9
10 package org.jruby.compiler;
11
12 import org.jruby.ast.AndNode;
13 import org.jruby.ast.Node;
14
15 /**
16  *
17  * @author headius
18  */

19 public class AndNodeCompiler implements NodeCompiler {
20     
21     /** Creates a new instance of AndNodeCompiler */
22     public AndNodeCompiler() {
23     }
24     
25     public void compile(Node node, Compiler JavaDoc context) {
26         context.lineNumber(node.getPosition());
27         
28         final AndNode andNode = (AndNode)node;
29         
30         NodeCompilerFactory.getCompiler(andNode.getFirstNode()).compile(andNode.getFirstNode(), context);
31         
32         BranchCallback longCallback = new BranchCallback() {
33             public void branch(Compiler JavaDoc context) {
34                 NodeCompilerFactory.getCompiler(andNode.getSecondNode()).compile(andNode.getSecondNode(), context);
35             }
36         };
37         
38         context.performLogicalAnd(longCallback);
39     }
40 }
41
Popular Tags