package com.drawbridge.jsengine.jsobjects; import com.drawbridge.jsengine.ast.Evaluator; import com.drawbridge.jsengine.ast.Evaluator.EvaluatorException; import com.drawbridge.jsengine.ast.FunctionConstructorEvaluator; import com.drawbridge.utils.Utils; public class JSFunction implements JSType { FunctionConstructorEvaluator mEvaluator; Evaluator mLastCaller; public JSFunction(FunctionConstructorEvaluator evaluator){ mEvaluator = evaluator; } public JSType executeFunction(Evaluator caller, JSType [] params) throws EvaluatorException, ExecutionException{ mLastCaller = caller; //TODO deal with params at this point for(int i = 0; i < params.length; i++){ if(params[i] != null) Utils.out.println(params[i].toString()); else Utils.out.println("NULL PARAM"); } return mEvaluator.executeFunction(params); } @Override public String toString(){ return "[" + mEvaluator.mIdentifier.getValue() + "]"; } }