1 23 24 package org.objectweb.medor.expression.lib; 25 26 import org.objectweb.medor.expression.api.BinaryOperator; 27 import org.objectweb.medor.expression.api.Expression; 28 import org.objectweb.jorm.type.api.PType; 29 30 34 public abstract class BasicBinaryOperator extends BasicOperator 35 implements BinaryOperator { 36 37 public BasicBinaryOperator() { 38 super(new Expression[2]); 39 } 40 41 public BasicBinaryOperator(Expression e0, Expression e1) { 42 super(new Expression[]{e0, e1}); 43 } 44 45 public BasicBinaryOperator(PType type) { 46 super(type, new Expression[2]); 47 } 48 49 public BasicBinaryOperator(PType type, Expression e0, Expression e1) { 50 super(type, new Expression[]{e0, e1}); 51 } 52 53 56 public void setLeftExpression(Expression leftChild) 57 throws IllegalStateException { 58 if (!verified) { 59 expressions[0] = leftChild; 60 } 61 else 62 throw new IllegalStateException ("Compiled expression can't be modified"); 63 } 64 65 public void setRightExpression(Expression rightChild) 66 throws IllegalStateException { 67 if (!verified) { 68 expressions[1] = rightChild; 69 } 70 else 71 throw new IllegalStateException ("Compiled expression can't be modified"); 72 } 73 74 public Expression getLeftExpression() { 75 return expressions[0]; 76 } 77 78 public Expression getRightExpression() { 79 return expressions[1]; 80 } 81 82 } 83 | Popular Tags |