class CompiledAviatorScript extends CompiledScript {

  private final AviatorScriptEngine engine;
  private final Expression expression;


  CompiledAviatorScript(final AviatorScriptEngine engine, final Expression expression) {
    this.engine = engine;
    this.expression = expression;
  }


  @Override
  public Object eval(final ScriptContext context) throws ScriptException {<FILL_FUNCTION_BODY>}


  @Override
  public ScriptEngine getEngine() {
    return this.engine;
  }

}

    try {
      return this.expression.execute(context.getBindings(ScriptContext.ENGINE_SCOPE));
    } catch (Exception e) {
      throw new ScriptException(e);
    }
  
<methods>public void <init>() ,public java.lang.Object eval() throws javax.script.ScriptException,public abstract java.lang.Object eval(javax.script.ScriptContext) throws javax.script.ScriptException,public java.lang.Object eval(javax.script.Bindings) throws javax.script.ScriptException,public abstract javax.script.ScriptEngine getEngine() <variables>