1 11 package org.eclipse.jdt.internal.debug.eval.ast.instructions; 12 13 import org.eclipse.core.runtime.CoreException; 14 import org.eclipse.jdt.debug.core.IJavaPrimitiveValue; 15 16 public class UnaryMinusOperator extends UnaryOperator { 17 18 public UnaryMinusOperator(int expressionTypeId, int start) { 19 super(expressionTypeId, start); 20 } 21 22 25 public void execute() throws CoreException { 26 IJavaPrimitiveValue value= (IJavaPrimitiveValue)popValue(); 27 switch (fExpressionTypeId) { 28 case T_double: 29 pushNewValue(-value.getDoubleValue()); 30 break; 31 case T_float: 32 pushNewValue(-value.getFloatValue()); 33 break; 34 case T_long: 35 pushNewValue(-value.getLongValue()); 36 break; 37 case T_byte: 38 case T_short: 39 case T_int: 40 case T_char: 41 pushNewValue(-value.getIntValue()); 42 break; 43 } 44 } 45 46 49 public String toString() { 50 return InstructionsEvaluationMessages.UnaryMinusOperator_unary_minus_operator_1; 51 } 52 53 } 54 | Popular Tags |