//private static final String TAG ="TJS"; // プリプロセッサでは未定义の时この值が入る // create a member if not exists //public static int mCompactVariantArrayMagic; //public static VariantArrayStack mVariantArrayStack; // static 关系はここで初期化 public static void Initialize() { // mStorage = null; // 事前に设定されるので、ここで初期化するのはまずい NULL_ARG = new Variant[0]; IsTarminating = false; mWarnOnNonGlobalEvalOperator = false; mUnaryAsteriskIgnoresPropAccess = false; mNativeClassNames = new AList <string>(); mGlobalStringMap = new GlobalStringMap(); //mCompactVariantArrayMagic = 0; //mVariantArrayStack = new VariantArrayStack(); mEvalOperatorIsOnGlobal = false; EnableDebugMode = true; mConsoleOutput = null; mMessageMapper = new MessageMapper(); RandomGeneratorNI.SetRandomBits128(null); //ArrayNI.register(); mVAPool = new VariantPool(); CompileState.mEnableDicFuncQuickHack = true; Variant.Initialize(); DictionaryObject.Initialize(); ArrayObject.Initialize(); TjsByteCodeLoader.Initialize(); CustomObject.Initialize(); MathClass.Initialize(); LexicalAnalyzer.Initialize(); try { mArrayClass = new ArrayClass(); mDictionaryClass = new DictionaryClass(); } catch (VariantException) { } catch (TjsException) { } }