public Type Visit(NegativeStatement negativeStatement, FunctionGeneratorEnvironment arg) { negativeStatement.s1.Accept(this, arg); Program.Emit(T42Instruction.NEG); return(new IntType()); }
public IValue Visit(NegativeStatement negativeStatement) { var result = negativeStatement.s1.Accept(this); var x = ((NumberValue)result).Number; if (result.Type != ValueType.Number) { var err = new ErrorMessage(); throw new EvaluationError(err.ErrorOutput(ErrorMessage.ErrorCode.UOP_1, negativeStatement)); } return(new NumberValue(0 - x)); }
public Type Visit(NegativeStatement negativeStatement) { var type = negativeStatement.s1.Accept(this); var type_text = type.GetType().Name; if (IsVoidType(type_text)) { var err = new TypeErrorMessage(); throw new TypeException(err.ErrorOutput(TypeErrorMessage.ErrorCode.ASN_2, negativeStatement)); } if (type_text != "IntType") { var err = new TypeErrorMessage(); throw new TypeException(err.ErrorOutput(TypeErrorMessage.ErrorCode.UOP_2, negativeStatement)); } return(type); }
public Statement Visit(NegativeStatement negativeStatement) { negativeStatement.s1.Accept(this); return(null); }
public Void Visit(NegativeStatement negativeStatement, SortedSet <string> free) { negativeStatement.s1.Accept(this, free); return(null); }