package com.klq.ast.impl.expr; import com.klq.ast.impl.Location; /** * Created by Juriaan on 21-2-2015. */ public abstract class ABinaryExprNode extends AExpression { private AExpression leftChild; private AExpression rightChild; public ABinaryExprNode(AExpression leftChild, AExpression rightChild, Location location) { super(location); init(leftChild, rightChild); } public ABinaryExprNode(AExpression leftChild, AExpression rightChild) { super(); init(leftChild, rightChild); } private void init(AExpression leftChild, AExpression rightChild) { this.leftChild = leftChild; this.rightChild = rightChild; } public AExpression getLeftChild() { return leftChild; } public AExpression getRightChild() { return rightChild; } //for testing purposes, maybe remove later? public void printChildren(){ System.out.printf("Left child: %s", leftChild.getClass()); /*if(leftChild instanceof NumberNode){ System.out.printf(", Left value: %s", ((NumberNode) leftChild).getNumber()); } System.out.println(); System.out.printf("Right child: %s", rightChild.getClass()); if(rightChild instanceof NumberNode){ System.out.printf(", Right value: %s", ((NumberNode)rightChild).getNumber()); } System.out.println();*/ } }