|
| WINE_DEFAULT_DEBUG_CHANNEL (jscript) |
|
| WINE_DECLARE_DEBUG_CHANNEL (jscript_disas) |
|
static void | dump_instr_arg (instr_arg_type_t type, instr_arg_t *arg) |
|
static void | dump_code (compiler_ctx_t *ctx, unsigned off) |
|
static HRESULT | compile_expression (compiler_ctx_t *, expression_t *, BOOL) |
|
static HRESULT | compile_statement (compiler_ctx_t *, statement_ctx_t *, statement_t *) |
|
static void * | compiler_alloc (bytecode_t *code, size_t size) |
|
jsstr_t * | compiler_alloc_string_len (compiler_ctx_t *ctx, const WCHAR *str, unsigned len) |
|
static jsstr_t * | compiler_alloc_string (compiler_ctx_t *ctx, const WCHAR *str) |
|
static BOOL | ensure_bstr_slot (compiler_ctx_t *ctx) |
|
static BSTR | compiler_alloc_bstr (compiler_ctx_t *ctx, const WCHAR *str) |
|
static BSTR | compiler_alloc_bstr_len (compiler_ctx_t *ctx, const WCHAR *str, size_t len) |
|
static unsigned | push_instr (compiler_ctx_t *ctx, jsop_t op) |
|
static instr_t * | instr_ptr (compiler_ctx_t *ctx, unsigned off) |
|
static HRESULT | push_instr_int (compiler_ctx_t *ctx, jsop_t op, LONG arg) |
|
static HRESULT | push_instr_str (compiler_ctx_t *ctx, jsop_t op, jsstr_t *str) |
|
static HRESULT | push_instr_str_uint (compiler_ctx_t *ctx, jsop_t op, jsstr_t *str, unsigned arg2) |
|
static HRESULT | push_instr_bstr (compiler_ctx_t *ctx, jsop_t op, const WCHAR *arg) |
|
static HRESULT | push_instr_bstr_uint (compiler_ctx_t *ctx, jsop_t op, const WCHAR *arg1, unsigned arg2) |
|
static HRESULT | push_instr_uint_str (compiler_ctx_t *ctx, jsop_t op, unsigned arg1, const WCHAR *arg2) |
|
static HRESULT | push_instr_double (compiler_ctx_t *ctx, jsop_t op, double arg) |
|
static void | set_arg_uint (compiler_ctx_t *ctx, unsigned instr, unsigned arg) |
|
static HRESULT | push_instr_uint (compiler_ctx_t *ctx, jsop_t op, unsigned arg) |
|
static HRESULT | compile_binary_expression (compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_unary_expression (compiler_ctx_t *ctx, unary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_member_expression (compiler_ctx_t *ctx, member_expression_t *expr) |
|
static unsigned | alloc_label (compiler_ctx_t *ctx) |
|
static void | label_set_addr (compiler_ctx_t *ctx, unsigned label) |
|
static BOOL | is_memberid_expr (expression_type_t type) |
|
static BOOL | bind_local (compiler_ctx_t *ctx, const WCHAR *identifier, int *ret_ref) |
|
static HRESULT | emit_identifier_ref (compiler_ctx_t *ctx, const WCHAR *identifier, unsigned flags) |
|
static HRESULT | emit_identifier (compiler_ctx_t *ctx, const WCHAR *identifier) |
|
static HRESULT | compile_memberid_expression (compiler_ctx_t *ctx, expression_t *expr, unsigned flags) |
|
static HRESULT | compile_increment_expression (compiler_ctx_t *ctx, unary_expression_t *expr, jsop_t op, int n) |
|
static HRESULT | compile_comma_expression (compiler_ctx_t *ctx, binary_expression_t *expr, BOOL emit_ret) |
|
static HRESULT | compile_logical_expression (compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_conditional_expression (compiler_ctx_t *ctx, conditional_expression_t *expr) |
|
static HRESULT | compile_new_expression (compiler_ctx_t *ctx, call_expression_t *expr) |
|
static HRESULT | compile_call_expression (compiler_ctx_t *ctx, call_expression_t *expr, BOOL emit_ret) |
|
static HRESULT | compile_delete_expression (compiler_ctx_t *ctx, unary_expression_t *expr) |
|
static HRESULT | compile_assign_expression (compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_typeof_expression (compiler_ctx_t *ctx, unary_expression_t *expr) |
|
static HRESULT | compile_literal (compiler_ctx_t *ctx, literal_t *literal) |
|
static HRESULT | literal_as_string (compiler_ctx_t *ctx, literal_t *literal, jsstr_t **str) |
|
static HRESULT | compile_array_literal (compiler_ctx_t *ctx, array_literal_expression_t *expr) |
|
static HRESULT | compile_object_literal (compiler_ctx_t *ctx, property_value_expression_t *expr) |
|
static HRESULT | compile_function_expression (compiler_ctx_t *ctx, function_expression_t *expr, BOOL emit_ret) |
|
static BOOL | is_loop_statement (statement_type_t type) |
|
static HRESULT | compile_block_statement (compiler_ctx_t *ctx, statement_t *iter) |
|
static HRESULT | compile_variable_list (compiler_ctx_t *ctx, variable_declaration_t *list) |
|
static HRESULT | compile_var_statement (compiler_ctx_t *ctx, var_statement_t *stat) |
|
static HRESULT | compile_expression_statement (compiler_ctx_t *ctx, expression_statement_t *stat) |
|
static HRESULT | compile_if_statement (compiler_ctx_t *ctx, if_statement_t *stat) |
|
static HRESULT | compile_while_statement (compiler_ctx_t *ctx, while_statement_t *stat) |
|
static HRESULT | compile_for_statement (compiler_ctx_t *ctx, for_statement_t *stat) |
|
static HRESULT | compile_forin_statement (compiler_ctx_t *ctx, forin_statement_t *stat) |
|
static HRESULT | pop_to_stat (compiler_ctx_t *ctx, statement_ctx_t *stat_ctx) |
|
static HRESULT | compile_continue_statement (compiler_ctx_t *ctx, branch_statement_t *stat) |
|
static HRESULT | compile_break_statement (compiler_ctx_t *ctx, branch_statement_t *stat) |
|
static HRESULT | compile_return_statement (compiler_ctx_t *ctx, expression_statement_t *stat) |
|
static HRESULT | compile_with_statement (compiler_ctx_t *ctx, with_statement_t *stat) |
|
static HRESULT | compile_labelled_statement (compiler_ctx_t *ctx, labelled_statement_t *stat) |
|
static HRESULT | compile_switch_statement (compiler_ctx_t *ctx, switch_statement_t *stat) |
|
static HRESULT | compile_throw_statement (compiler_ctx_t *ctx, expression_statement_t *stat) |
|
static HRESULT | compile_try_statement (compiler_ctx_t *ctx, try_statement_t *stat) |
|
static int | function_local_cmp (const void *key, const struct wine_rb_entry *entry) |
|
static function_local_t * | find_local (compiler_ctx_t *ctx, const WCHAR *name) |
|
static BOOL | alloc_local (compiler_ctx_t *ctx, BSTR name, int ref) |
|
static BOOL | alloc_variable (compiler_ctx_t *ctx, const WCHAR *name) |
|
static HRESULT | visit_function_expression (compiler_ctx_t *ctx, function_expression_t *expr) |
|
static HRESULT | visit_expression (compiler_ctx_t *ctx, expression_t *expr) |
|
static HRESULT | visit_variable_list (compiler_ctx_t *ctx, variable_declaration_t *list) |
|
static HRESULT | visit_statement (compiler_ctx_t *, statement_t *) |
|
static HRESULT | visit_block_statement (compiler_ctx_t *ctx, statement_t *iter) |
|
static void | resolve_labels (compiler_ctx_t *ctx, unsigned off) |
|
void | release_bytecode (bytecode_t *code) |
|
static HRESULT | init_code (compiler_ctx_t *compiler, const WCHAR *source) |
|
static HRESULT | compile_function (compiler_ctx_t *ctx, source_elements_t *source, function_expression_t *func_expr, BOOL from_eval, function_code_t *func) |
|
static HRESULT | parse_arguments (compiler_ctx_t *ctx, const WCHAR *args, BSTR *arg_array, unsigned *args_size) |
|
static HRESULT | compile_arguments (compiler_ctx_t *ctx, const WCHAR *args) |
|
HRESULT | compile_script (script_ctx_t *ctx, const WCHAR *code, const WCHAR *args, const WCHAR *delimiter, BOOL from_eval, BOOL use_decode, bytecode_t **ret) |
|
Definition at line 923 of file compile.c.
924{
926
930 break;
933 break;
936 break;
939 break;
942 break;
945 break;
948 break;
951 break;
954 break;
957 break;
960 break;
963 break;
966 break;
969 break;
972 break;
975 break;
978 break;
981 break;
984 break;
991 break;
994 break;
997 break;
1000 break;
1003 break;
1008 break;
1011 break;
1014 break;
1017 break;
1020 break;
1023 break;
1026 break;
1029 break;
1032 break;
1035 break;
1038 break;
1041 break;
1044 break;
1047 break;
1050 break;
1053 break;
1056 break;
1059 break;
1062 break;
1065 break;
1068 break;
1071 break;
1074 break;
1077 break;
1080 break;
1083 break;
1086 break;
1091 break;
1094 break;
1097 break;
1099 }
1100
1103
1105}
static HRESULT compile_comma_expression(compiler_ctx_t *ctx, binary_expression_t *expr, BOOL emit_ret)
static HRESULT compile_new_expression(compiler_ctx_t *ctx, call_expression_t *expr)
static HRESULT compile_conditional_expression(compiler_ctx_t *ctx, conditional_expression_t *expr)
static HRESULT compile_member_expression(compiler_ctx_t *ctx, member_expression_t *expr)
static HRESULT compile_logical_expression(compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op)
static HRESULT compile_binary_expression(compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op)
static HRESULT compile_typeof_expression(compiler_ctx_t *ctx, unary_expression_t *expr)
static HRESULT compile_literal(compiler_ctx_t *ctx, literal_t *literal)
static HRESULT compile_array_literal(compiler_ctx_t *ctx, array_literal_expression_t *expr)
static HRESULT compile_unary_expression(compiler_ctx_t *ctx, unary_expression_t *expr, jsop_t op)
static HRESULT compile_function_expression(compiler_ctx_t *ctx, function_expression_t *expr, BOOL emit_ret)
static HRESULT compile_assign_expression(compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op)
static HRESULT emit_identifier(compiler_ctx_t *ctx, const WCHAR *identifier)
static HRESULT compile_increment_expression(compiler_ctx_t *ctx, unary_expression_t *expr, jsop_t op, int n)
static HRESULT compile_object_literal(compiler_ctx_t *ctx, property_value_expression_t *expr)
static HRESULT compile_call_expression(compiler_ctx_t *ctx, call_expression_t *expr, BOOL emit_ret)
static HRESULT compile_delete_expression(compiler_ctx_t *ctx, unary_expression_t *expr)
#define DEFAULT_UNREACHABLE
Referenced by compile_args(), compile_array_literal(), compile_assign_expression(), compile_assignment(), compile_binary_expression(), compile_call_expression(), compile_comma_expression(), compile_conditional_expression(), compile_const_statement(), compile_delete_expression(), compile_dowhile_statement(), compile_expression(), compile_expression_statement(), compile_for_statement(), compile_foreach_statement(), compile_forin_statement(), compile_forto_statement(), compile_if_statement(), compile_increment_expression(), compile_logical_expression(), compile_member_expression(), compile_memberid_expression(), compile_new_expression(), compile_object_literal(), compile_return_statement(), compile_retval_statement(), compile_select_statement(), compile_switch_statement(), compile_throw_statement(), compile_typeof_expression(), compile_unary_expression(), compile_variable_list(), compile_while_statement(), and compile_with_statement().