1 9 10 package org.jruby.compiler; 11 12 import org.jruby.ast.Node; 13 import org.jruby.ast.OrNode; 14 15 19 public class OrNodeCompiler implements NodeCompiler{ 20 21 22 public OrNodeCompiler() { 23 } 24 25 public void compile(Node node, Compiler context) { 26 context.lineNumber(node.getPosition()); 27 28 final OrNode orNode = (OrNode)node; 29 30 NodeCompilerFactory.getCompiler(orNode.getFirstNode()).compile(orNode.getFirstNode(), context); 31 32 BranchCallback longCallback = new BranchCallback() { 33 public void branch(Compiler context) { 34 NodeCompilerFactory.getCompiler(orNode.getSecondNode()).compile(orNode.getSecondNode(), context); 35 } 36 }; 37 38 context.performLogicalOr(longCallback); 39 } 40 } 41 | Popular Tags |