Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
8b66110e
Commit
8b66110e
authored
Nov 18, 2011
by
Jacek Caban
Committed by
Alexandre Julliard
Nov 18, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jscript: Store expression type in expression_t.
parent
fe9cb0c2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
63 additions
and
61 deletions
+63
-61
engine.h
dlls/jscript/engine.h
+62
-61
parser.y
dlls/jscript/parser.y
+1
-0
No files found.
dlls/jscript/engine.h
View file @
8b66110e
...
...
@@ -291,9 +291,71 @@ typedef struct {
}
u
;
}
exprval_t
;
typedef
enum
{
EXPR_COMMA
,
EXPR_OR
,
EXPR_AND
,
EXPR_BOR
,
EXPR_BXOR
,
EXPR_BAND
,
EXPR_INSTANCEOF
,
EXPR_IN
,
EXPR_ADD
,
EXPR_SUB
,
EXPR_MUL
,
EXPR_DIV
,
EXPR_MOD
,
EXPR_DELETE
,
EXPR_VOID
,
EXPR_TYPEOF
,
EXPR_MINUS
,
EXPR_PLUS
,
EXPR_POSTINC
,
EXPR_POSTDEC
,
EXPR_PREINC
,
EXPR_PREDEC
,
EXPR_EQ
,
EXPR_EQEQ
,
EXPR_NOTEQ
,
EXPR_NOTEQEQ
,
EXPR_LESS
,
EXPR_LESSEQ
,
EXPR_GREATER
,
EXPR_GREATEREQ
,
EXPR_BITNEG
,
EXPR_LOGNEG
,
EXPR_LSHIFT
,
EXPR_RSHIFT
,
EXPR_RRSHIFT
,
EXPR_ASSIGN
,
EXPR_ASSIGNLSHIFT
,
EXPR_ASSIGNRSHIFT
,
EXPR_ASSIGNRRSHIFT
,
EXPR_ASSIGNADD
,
EXPR_ASSIGNSUB
,
EXPR_ASSIGNMUL
,
EXPR_ASSIGNDIV
,
EXPR_ASSIGNMOD
,
EXPR_ASSIGNAND
,
EXPR_ASSIGNOR
,
EXPR_ASSIGNXOR
,
EXPR_COND
,
EXPR_ARRAY
,
EXPR_MEMBER
,
EXPR_NEW
,
EXPR_CALL
,
EXPR_THIS
,
EXPR_FUNC
,
EXPR_IDENT
,
EXPR_ARRAYLIT
,
EXPR_PROPVAL
,
EXPR_LITERAL
}
expression_type_t
;
typedef
HRESULT
(
*
expression_eval_t
)(
script_ctx_t
*
,
expression_t
*
,
DWORD
,
jsexcept_t
*
,
exprval_t
*
);
struct
_expression_t
{
expression_type_t
type
;
expression_eval_t
eval
;
};
...
...
@@ -396,67 +458,6 @@ typedef struct {
prop_val_t
*
property_list
;
}
property_value_expression_t
;
typedef
enum
{
EXPR_COMMA
,
EXPR_OR
,
EXPR_AND
,
EXPR_BOR
,
EXPR_BXOR
,
EXPR_BAND
,
EXPR_INSTANCEOF
,
EXPR_IN
,
EXPR_ADD
,
EXPR_SUB
,
EXPR_MUL
,
EXPR_DIV
,
EXPR_MOD
,
EXPR_DELETE
,
EXPR_VOID
,
EXPR_TYPEOF
,
EXPR_MINUS
,
EXPR_PLUS
,
EXPR_POSTINC
,
EXPR_POSTDEC
,
EXPR_PREINC
,
EXPR_PREDEC
,
EXPR_EQ
,
EXPR_EQEQ
,
EXPR_NOTEQ
,
EXPR_NOTEQEQ
,
EXPR_LESS
,
EXPR_LESSEQ
,
EXPR_GREATER
,
EXPR_GREATEREQ
,
EXPR_BITNEG
,
EXPR_LOGNEG
,
EXPR_LSHIFT
,
EXPR_RSHIFT
,
EXPR_RRSHIFT
,
EXPR_ASSIGN
,
EXPR_ASSIGNLSHIFT
,
EXPR_ASSIGNRSHIFT
,
EXPR_ASSIGNRRSHIFT
,
EXPR_ASSIGNADD
,
EXPR_ASSIGNSUB
,
EXPR_ASSIGNMUL
,
EXPR_ASSIGNDIV
,
EXPR_ASSIGNMOD
,
EXPR_ASSIGNAND
,
EXPR_ASSIGNOR
,
EXPR_ASSIGNXOR
,
EXPR_COND
,
EXPR_ARRAY
,
EXPR_MEMBER
,
EXPR_NEW
,
EXPR_CALL
,
EXPR_THIS
,
EXPR_FUNC
,
EXPR_IDENT
,
EXPR_ARRAYLIT
,
EXPR_PROPVAL
,
EXPR_LITERAL
}
expression_type_t
;
HRESULT
function_expression_eval
(
script_ctx_t
*
,
expression_t
*
,
DWORD
,
jsexcept_t
*
,
exprval_t
*
)
DECLSPEC_HIDDEN
;
HRESULT
conditional_expression_eval
(
script_ctx_t
*
,
expression_t
*
,
DWORD
,
jsexcept_t
*
,
exprval_t
*
)
DECLSPEC_HIDDEN
;
HRESULT
array_expression_eval
(
script_ctx_t
*
,
expression_t
*
,
DWORD
,
jsexcept_t
*
,
exprval_t
*
)
DECLSPEC_HIDDEN
;
...
...
dlls/jscript/parser.y
View file @
8b66110e
...
...
@@ -1369,6 +1369,7 @@ static void *new_expression(parser_ctx_t *ctx, expression_type_t type, size_t si
{
expression_t *ret = parser_alloc(ctx, size ? size : sizeof(*ret));
ret->type = type;
ret->eval = expression_eval_table[type];
return ret;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment