Files
fabric-carpet/src/main/java/carpet/script/exception/InternalExpressionException.java
T

36 lines
1.1 KiB
Java

package carpet.script.exception;
import carpet.script.Context;
import carpet.script.Expression;
import carpet.script.Tokenizer;
import carpet.script.value.FunctionValue;
import java.util.ArrayList;
import java.util.List;
/* The internal expression evaluators exception class. */
public class InternalExpressionException extends RuntimeException
{
public List<FunctionValue> stack = new ArrayList<>();
public InternalExpressionException(String message)
{
super(message);
}
/**
* <p>Promotes this simple exception into one with context and extra information.
*
* <p>Provides a cleaner way of handling similar exceptions, in this case
* {@link InternalExpressionException} and {@link ThrowStatement}
* @param c Context
* @param e Expression
* @param token Token
* @return The new {@link ExpressionException} (or {@link ProcessedThrowStatement}),
* depending on the implementation.
*/
public ExpressionException promote(Context c, Expression e, Tokenizer.Token token)
{
return new ExpressionException(c, e, token, getMessage(), stack);
}
}