public override ValueExpression Evaluate(IParserContext context) { ClassName className = _typeExpression.Evaluate(context).Value as ClassName; if (className == null) { throw new ExpressionEvaluationException("type cast requires a type. " + _typeExpression + " is not a type", this); } return(Exp.Value(TokenPosition, Convert.ChangeType(_targetExpression.Evaluate(context).Value, className.Type, null), className.Type)); }
public override ValueExpression Evaluate(IParserContext context) { ClassName className = ClassName.Evaluate(context).Value as ClassName; if (className == null) { throw new TypeInitializationException(ClassName.VarName, null); } return(Exp.Value(TokenPosition, className.Type.Inspector().GetConstructors())); }
private static Type GetTypeOfClassName(ClassName className) { return className.Type; }
private static Type GetTypeOfClassName(ClassName className) { return(className.Type); }