diff --git a/src/addon/java/lua/addon/compile/LexState.java b/src/addon/java/lua/addon/compile/LexState.java index 78bce8d7..47af179b 100644 --- a/src/addon/java/lua/addon/compile/LexState.java +++ b/src/addon/java/lua/addon/compile/LexState.java @@ -2,7 +2,6 @@ package lua.addon.compile; import java.io.IOException; import java.io.Reader; -import java.util.Arrays; import java.util.Hashtable; import lua.Lua; @@ -23,8 +22,7 @@ public class LexState extends LuaC { protected static final String RESERVED_LOCAL_VAR_FOR_LIMIT = "(for limit)"; protected static final String RESERVED_LOCAL_VAR_FOR_INDEX = "(for index)"; - // sorted keywords array - // must keep it sorted, or binary search will fail + // keywords array protected static final String[] RESERVED_LOCAL_VAR_KEYWORDS = new String[] { RESERVED_LOCAL_VAR_FOR_CONTROL, RESERVED_LOCAL_VAR_FOR_GENERATOR, @@ -33,6 +31,11 @@ public class LexState extends LuaC { RESERVED_LOCAL_VAR_FOR_STATE, RESERVED_LOCAL_VAR_FOR_STEP }; + private static final Hashtable RESERVED_LOCAL_VAR_KEYWORDS_TABLE = new Hashtable(); + static { + for ( int i=0; i= 0; + return RESERVED_LOCAL_VAR_KEYWORDS_TABLE.containsKey(varName); } /*