 							if (i == allSymbolTables.length)
 								result = getDefinitionByName(symbolName);
 						}
-						else if (JUMP_LOOKUP[method])
+						else if (JUMP_LOOKUP[method as Function])
 						{
 							if (method == operators[ST_RETURN])
 							{

							
							// handle branching and short-circuiting
							// skip evaluation of true or false branch depending on condition and branch operator
							if (BRANCH_LOOKUP[method] !== undefined && call.evalIndex > INDEX_CONDITION)
								if (BRANCH_LOOKUP[method] == (call.evalIndex != (call.evaluatedParams[INDEX_CONDITION] ? INDEX_TRUE : INDEX_FALSE)))
									continue;
							

					}
					
					// handle while and for loops
					if (LOOP_LOOKUP[method as Function])
					{
						if (method == operators[ST_FOR_IN] || method == operators[ST_FOR_EACH])
						{
