diff options
Diffstat (limited to 'source/compiler/aslcompiler.y')
-rw-r--r-- | source/compiler/aslcompiler.y | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/source/compiler/aslcompiler.y b/source/compiler/aslcompiler.y index d1f47da3a3a5..f8c5cbbb8c71 100644 --- a/source/compiler/aslcompiler.y +++ b/source/compiler/aslcompiler.y @@ -661,6 +661,7 @@ void * AslLocalAllocate (unsigned int Size); /* Types */ %type <n> SuperName +%type <n> ObjectTypeName %type <n> ArgTerm %type <n> LocalTerm %type <n> DebugTerm @@ -1991,7 +1992,7 @@ NotTerm ObjectTypeTerm : PARSEOP_OBJECTTYPE '(' {$<n>$ = TrCreateLeafNode (PARSEOP_OBJECTTYPE);} - SuperName + ObjectTypeName ')' {$$ = TrLinkChildren ($<n>3,1,$4);} | PARSEOP_OBJECTTYPE '(' error ')' {$$ = AslDoError(); yyclearin;} @@ -2439,6 +2440,18 @@ SuperName | LocalTerm {} | DebugTerm {} | Type6Opcode {} + +/* For ObjectType: SuperName except for UserTerm (method invocation) */ + +ObjectTypeName + : NameString {} + | ArgTerm {} + | LocalTerm {} + | DebugTerm {} + | RefOfTerm {} + | DerefOfTerm {} + | IndexTerm {} + /* | UserTerm {} */ /* Caused reduce/reduce with Type6Opcode->UserTerm */ ; |