class ClassExpression extends BaseExpression {

  private static final long serialVersionUID = -1335572034070560078L;

  protected transient byte[] classBytes;

  public byte[] getClassBytes() {
    return classBytes;
  }

  public void setClassBytes(byte[] classBytes) {
    this.classBytes = classBytes;
  }

  public ClassExpression(final AviatorEvaluatorInstance instance, final List<VariableMeta> vars,
      final SymbolTable symbolTable) {
    super(instance, vars, symbolTable);
  }

  @Override
  public Object executeDirectly(final Map<String, Object> env) {<FILL_FUNCTION_BODY>}

  public abstract Object execute0(Env env);

  /**
   * Get generated java class
   *
   * @return
   */
  public Class<?> getJavaClass() {
    return this.getClass();
  }
}

    try {
      Object result = execute0((Env) env);
      if (RuntimeUtils.isTracedEval(env)) {
        RuntimeUtils.printlnTrace(env, "Result : " + result);
      }
      return result;
    } catch (ExpressionRuntimeException e) {
      throw e;
    } catch (Throwable t) {
      throw Reflector.sneakyThrow(t);
    }
  
<methods>public void <init>(com.googlecode.aviator.AviatorEvaluatorInstance, List<com.googlecode.aviator.parser.VariableMeta>, com.googlecode.aviator.lexer.SymbolTable) ,public java.lang.String addSymbol(java.lang.String) ,public void customReadObject(java.io.ObjectInputStream) throws java.lang.ClassNotFoundException, java.io.IOException,public void customWriteObject(java.io.ObjectOutputStream) throws java.io.IOException,public java.lang.Object execute(Map<java.lang.String,java.lang.Object>) ,public java.lang.Object execute() ,public abstract java.lang.Object executeDirectly(Map<java.lang.String,java.lang.Object>) ,public com.googlecode.aviator.utils.Env getCompileEnv() ,public java.lang.String getExpression() ,public Map<java.lang.String,com.googlecode.aviator.parser.VariableMeta> getFullNameMetas() ,public Map<java.lang.String,com.googlecode.aviator.runtime.LambdaFunctionBootstrap> getLambdaBootstraps() ,public java.lang.String getSourceFile() ,public com.googlecode.aviator.AviatorEvaluatorInstance.StringSegments getStringSegements(java.lang.String, int) ,public List<java.lang.String> getVariableFullNames() ,public List<java.lang.String> getVariableNames() ,public List<com.googlecode.aviator.parser.VariableMeta> getVars() ,public transient Map<java.lang.String,java.lang.Object> newEnv(java.lang.Object[]) ,public com.googlecode.aviator.runtime.function.LambdaFunction newLambda(com.googlecode.aviator.utils.Env, java.lang.String) ,public void setCompileEnv(com.googlecode.aviator.utils.Env) ,public void setExpression(java.lang.String) ,public void setFuncsArgs(Map<java.lang.Integer,List<com.googlecode.aviator.runtime.FunctionArgument>>) ,public void setInstance(com.googlecode.aviator.AviatorEvaluatorInstance) ,public void setLambdaBootstraps(Map<java.lang.String,com.googlecode.aviator.runtime.LambdaFunctionBootstrap>) ,public void setSourceFile(java.lang.String) <variables>public static final java.lang.String FUNC_PARAMS_VAR,private com.googlecode.aviator.utils.Env compileEnv,private java.lang.String expression,private Map<java.lang.Integer,List<com.googlecode.aviator.runtime.FunctionArgument>> funcsArgs,protected transient com.googlecode.aviator.AviatorEvaluatorInstance instance,protected Map<java.lang.String,com.googlecode.aviator.runtime.LambdaFunctionBootstrap> lambdaBootstraps,private static final long serialVersionUID,protected java.lang.String sourceFile,private transient ConcurrentHashMap<java.lang.String,FutureTask<com.googlecode.aviator.AviatorEvaluatorInstance.StringSegments>> stringSegs,protected com.googlecode.aviator.lexer.SymbolTable symbolTable,protected List<java.lang.String> varFullNames,protected List<java.lang.String> varNames,private List<com.googlecode.aviator.parser.VariableMeta> vars