if (castEqual(e.getPosition(), input.getMajorType(), newMajor)) { return input; // don't do pointless cast. return new CastExpression(input, e.getMajorType(), e.getPosition()); } else if (newMinor == MinorType.NULL) { FunctionCall fc = new FunctionCall(castFuncWithType, newArgs, e.getPosition()); return fc.accept(this, functionLookupContext);