1 19 20 package jode.expr; 21 import jode.type.Type; 22 import jode.decompiler.TabbedPrintWriter; 23 24 27 public class PrePostFixOperator extends Operator { 28 boolean postfix; 29 30 public PrePostFixOperator(Type type, int operatorIndex, 31 LValueExpression lvalue, boolean postfix) { 32 super(type); 33 this.postfix = postfix; 34 setOperatorIndex(operatorIndex); 35 initOperands(1); 36 setSubExpressions(0, (Operator) lvalue); 37 } 38 39 public int getPriority() { 40 return postfix ? 800 : 700; 41 } 42 43 public void updateSubTypes() { 44 if (!isVoid()) 45 subExpressions[0].setType(type); 46 } 47 48 public void updateType() { 49 if (!isVoid()) 50 updateParentType(subExpressions[0].getType()); 51 } 52 53 public void dumpExpression(TabbedPrintWriter writer) 54 throws java.io.IOException { 55 if (!postfix) 56 writer.print(getOperatorString()); 57 writer.startOp(writer.NO_PAREN, 2); 58 subExpressions[0].dumpExpression(writer); 59 writer.endOp(); 60 if (postfix) 61 writer.print(getOperatorString()); 62 } 63 } 64 | Popular Tags |