methodSpec : K_METHOD \r
;\r
\r
-instr : INSTR_NONE {/* currentInstr = new InstrNone ((OpCode) $1);*/}\r
+instr : INSTR_NONE \r
+ { \r
+ codegen.CodeBuffer.Inst ((Op) $1); \r
+ }\r
| INSTR_VAR int32 {/* currentInstr = new InstrVar ((OpCode) $1, $2);*/}\r
| INSTR_VAR id {/* currentInstr = new InstrVar ((OpCode) $1, $2); */}\r
| INSTR_I int32 {/* currentInstr = new InstrI ((OpCode) $1, (Int32) $2);*/}\r
| instr_r_head bytes CLOSE_PARENS \r
| INSTR_BRTARGET int32 \r
| INSTR_BRTARGET id \r
- | INSTR_METHOD binding_flags type full_type DOUBLE_COLON call_name OPEN_PARENS arg_list CLOSE_PARENS \r
+ | INSTR_METHOD binding_flags type type_ref DOUBLE_COLON call_name OPEN_PARENS arg_list CLOSE_PARENS \r
{\r
/*\r
if (OpCodes.Call.Equals ((OpCode)$1) || OpCodes.Callvirt.Equals ((OpCode)$1)) {\r
;\r
\r
named_arg\r
- : full_type ID\r
+ : type_ref ID\r
{\r
$$ = new DictionaryEntry ((string) $1, (string) $2);\r
}\r
| K_DEFAULT { $$ = (CallConv) $1 | CallConv.Default; }\r
| K_VARARG { $$ = (CallConv) $1 | CallConv.Vararg; }\r
| K_UNMANAGED K_CDECL { $$ = (CallConv) $1 | CallConv.Cdecl; }\r
- | K_UNMANAGED K_STALL { }\r
| K_UNMANAGED K_THISCALL { $$ = (CallConv) $1 | CallConv.Thiscall; }\r
| K_UNMANAGED K_FASTCALL { $$ = (CallConv) $1 | CallConv.Fastcall; }\r
;\r