public override void Check(TEnv env) { if (e.Check(env) != Type.intType) { throw new CompileException("Non-int recipient {0} in read", e); } }
public override Type Check(TEnv env) { Type lhsType = lhs.Check(env), rhsType = rhs.Check(env); if (!lhsType.Equals(rhsType)) { throw new CompileException(String.Format("Assignment of ({0}) to ({1})", rhsType, lhsType)); } else { return(lhsType); } }
public override Type Check(TEnv env) { return(new PointerType(e.Check(env))); }