internal override void Init(BaseScripter scripter, Module m) { base.Init(scripter, m); this.variable_initializers.Clear(); this.static_variable_initializers.Clear(); this.param_ids.Clear(); this.param_type_ids.Clear(); this.param_mods.Clear(); this.local_variables.Clear(); this.ACCESSOR_SWITCH = false; this.has_constructor = false; this.no_gen = false; this.valid_this_context = false; this.assign_operators.Clear(); this.assign_operators.Add("=", base.code.OP_ASSIGN); this.assign_operators.Add("+=", base.code.OP_PLUS); this.assign_operators.Add("-=", base.code.OP_MINUS); this.assign_operators.Add("*=", base.code.OP_MULT); this.assign_operators.Add("/=", base.code.OP_DIV); this.assign_operators.Add("%=", base.code.OP_MOD); this.assign_operators.Add("&=", base.code.OP_BITWISE_AND); this.assign_operators.Add("|=", base.code.OP_BITWISE_OR); this.assign_operators.Add("^=", base.code.OP_BITWISE_XOR); this.assign_operators.Add("<<=", base.code.OP_LEFT_SHIFT); this.assign_operators.Add(">>=", base.code.OP_RIGHT_SHIFT); this.relational_operators.Clear(); this.relational_operators.Add(">", base.code.OP_GT); this.relational_operators.Add("<", base.code.OP_LT); this.relational_operators.Add(">=", base.code.OP_GE); this.relational_operators.Add("<=", base.code.OP_LE); this.relational_operators.Add("is", base.code.OP_IS); this.relational_operators.Add("as", base.code.OP_AS); this.shift_operators.Clear(); this.shift_operators.Add("<<", base.code.OP_LEFT_SHIFT); this.shift_operators.Add(">>", base.code.OP_RIGHT_SHIFT); this.additive_operators.Clear(); this.additive_operators.Add("+", base.code.OP_PLUS); this.additive_operators.Add("-", base.code.OP_MINUS); this.multiplicative_operators.Clear(); this.multiplicative_operators.Add("*", base.code.OP_MULT); this.multiplicative_operators.Add("/", base.code.OP_DIV); this.multiplicative_operators.Add("%", base.code.OP_MOD); this.overloadable_unary_operators.Clear(); this.overloadable_unary_operators.AddObject("+", base.code.OP_UNARY_PLUS); this.overloadable_unary_operators.AddObject("-", base.code.OP_UNARY_MINUS); this.overloadable_unary_operators.AddObject("!", base.code.OP_NOT); this.overloadable_unary_operators.AddObject("~", base.code.OP_COMPLEMENT); this.overloadable_unary_operators.AddObject("++", base.code.OP_INC); this.overloadable_unary_operators.AddObject("--", base.code.OP_DEC); this.overloadable_unary_operators.AddObject("true", base.code.OP_TRUE); this.overloadable_unary_operators.AddObject("false", base.code.OP_TRUE); this.overloadable_binary_operators.Clear(); this.overloadable_binary_operators.AddObject("+", base.code.OP_PLUS); this.overloadable_binary_operators.AddObject("-", base.code.OP_MINUS); this.overloadable_binary_operators.AddObject("*", base.code.OP_MULT); this.overloadable_binary_operators.AddObject("/", base.code.OP_DIV); this.overloadable_binary_operators.AddObject("%", base.code.OP_MOD); this.overloadable_binary_operators.AddObject("&", base.code.OP_BITWISE_AND); this.overloadable_binary_operators.AddObject("|", base.code.OP_BITWISE_OR); this.overloadable_binary_operators.AddObject("^", base.code.OP_BITWISE_XOR); this.overloadable_binary_operators.AddObject("<<", base.code.OP_LEFT_SHIFT); this.overloadable_binary_operators.AddObject(">>", base.code.OP_RIGHT_SHIFT); this.overloadable_binary_operators.AddObject("==", base.code.OP_EQ); this.overloadable_binary_operators.AddObject("!=", base.code.OP_NE); this.overloadable_binary_operators.AddObject(">", base.code.OP_GT); this.overloadable_binary_operators.AddObject("<", base.code.OP_LT); this.overloadable_binary_operators.AddObject(">=", base.code.OP_GE); this.overloadable_binary_operators.AddObject("<=", base.code.OP_LE); }
internal override void Init(BaseScripter scripter, Module m) { base.Init(scripter, m); this.variable_initializers.Clear(); this.static_variable_initializers.Clear(); this.param_ids.Clear(); this.param_type_ids.Clear(); this.param_mods.Clear(); this.local_variables.Clear(); this.has_constructor = false; this.valid_this_context = false; this.explicit_intf_id = 0; this.curr_prop_id = 0; this.new_type_id = 0; this.SKIP_STATEMENT_TERMINATOR = false; this.OPTION_STRICT = true; this.typeof_expression = false; this.for_loop_stack.Clear(); this.exit_kind_stack.Clear(); this.with_stack.Clear(); }
internal void InitExpression(BaseScripter scripter, Module m, int sub_id, string expr) { this.scripter = scripter; this.code = scripter.code; this.symbol_table = scripter.symbol_table; this.scanner.Init(scripter, expr); this.temp_count = 0; this.curr_module = m.NameIndex; this.level_stack.Clear(); this.level_stack.Push(0); this.level_stack.Push(sub_id); this.block_count = 0; this.block_stack.Clear(); this.block_stack.Push(0); this.block_list.Clear(); this.DECLARE_SWITCH = false; }
internal override void Init(BaseScripter scripter, Module m) { base.Init(scripter, m); this.variable_initializers.Clear(); this.static_variable_initializers.Clear(); this.param_ids.Clear(); this.param_type_ids.Clear(); this.param_mods.Clear(); this.local_variables.Clear(); this.has_constructor = false; this.valid_this_context = false; }
internal virtual void Init(BaseScripter scripter, Module m) { this.scripter = scripter; this.code = scripter.code; this.symbol_table = scripter.symbol_table; this.scanner.Init(scripter, m.Text); this.temp_count = 0; this.curr_module = m.NameIndex; this.level_stack.Clear(); this.level_stack.Push(0); this.level_stack.Push(this.RootNamespaceId); this.block_count = 0; this.block_stack.Clear(); this.block_stack.Push(0); this.block_list.Clear(); this.DECLARE_SWITCH = false; this.DECLARATION_CHECK_SWITCH = false; }