protected override Boolean handleThrow(ThrowStatementNode throwStatement, HashSet <StatementNode> visited)
 {
     if (throwStatement.Exception != null)
     {
         expressionChecker.handleExpression(throwStatement.Exception, null, true);
     }
     return(Boolean.FALSE);
 }
示例#2
0
 protected override Void handleThrow(ThrowStatementNode throwStatement, Set <TypeInfo> dependencies)
 {
     if (throwStatement.Exception != null)
     {
         expressionHandler.handleExpression(throwStatement.Exception, dependencies, true);
     }
     return(null);
 }
 public virtual Value evaluate(Context cx, ThrowStatementNode node)
 {
     output("<ThrowStatementNode position=\"" + node.pos() + "\">");
     indent_Renamed_Field++;
     if (node.expr != null)
     {
         node.expr.evaluate(cx, this);
     }
     indent_Renamed_Field--;
     output("</ThrowStatementNode>");
     return(null);
 }
        protected override Void handleThrow(ThrowStatementNode throwStatement, Void source)
        {
            var exception = throwStatement.Exception;

            if (exception != null)
            {
                this.ExpressionValidator.handleExpression(exception, null, true);
                var einfo = exception.getUserData(typeof(ExpressionInfo));
                if (einfo != null)
                {
                    if (!context.TypeSystem.getType("java/lang/Throwable").isAssignableFrom(ValidationHelper.getType(context, exception)))
                    {
                        throw context.error(CompileErrorId.NoImplicitConversion, exception,
                                            BytecodeHelper.getDisplayName(einfo.Type), "java.lang.Throwable");
                    }
                }
            }
            return(null);
        }
		public virtual Value evaluate(Context cx, ThrowStatementNode node)
		{
			output("<ThrowStatementNode position=\"" + node.pos() + "\">");
			indent_Renamed_Field++;
			if (node.expr != null)
			{
				node.expr.evaluate(cx, this);
			}
			indent_Renamed_Field--;
			output("</ThrowStatementNode>");
			return null;
		}