summaryrefslogtreecommitdiffstats
path: root/gcc/java/parse-scan.y
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-11 17:31:11 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-11 17:31:11 +0000
commitec31870d5b51b9ac18ca48e8c8736136bd4c0cb0 (patch)
tree5c940f59a273b4bbc23e5a9544f817838059fdcb /gcc/java/parse-scan.y
parent844fa2febf63e7ee06988b295aed7b1f6afca3ba (diff)
downloadppe42-gcc-ec31870d5b51b9ac18ca48e8c8736136bd4c0cb0.tar.gz
ppe42-gcc-ec31870d5b51b9ac18ca48e8c8736136bd4c0cb0.zip
* jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
* parse-scan.y (statement_without_trailing_substatement): Added assert_statement. (assert_statement): New rule. * java-tree.h (struct lang_type) [assertions]: New field. (TYPE_USES_ASSERTIONS): New macro. (CLASS_USES_ASSERTIONS): Likewise. (FIELD_SYNTHETIC): New define. * lex.c (java_lval;): Added ASSERT_TK. * parse.y (ASSERT_TK): Added. (statement_without_trailing_substatement): Added assert_statement. (assert_statement): New rule. (build_assertion): New function. (maybe_generate_pre_expand_clinit): Create and initialize $assertionsDisabled. (lookup_package_type): Removed decl. * keyword.h: Rebuilt. * keyword.gperf (assert): New token. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54516 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/parse-scan.y')
-rw-r--r--gcc/java/parse-scan.y10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/java/parse-scan.y b/gcc/java/parse-scan.y
index 665a7f7e15f..977bbce226d 100644
--- a/gcc/java/parse-scan.y
+++ b/gcc/java/parse-scan.y
@@ -180,6 +180,7 @@ void report PARAMS ((void));
%token SWITCH_TK CONST_TK TRY_TK
%token FOR_TK NEW_TK CONTINUE_TK
%token GOTO_TK PACKAGE_TK THIS_TK
+%token ASSERT_TK
%token BYTE_TK SHORT_TK INT_TK LONG_TK
%token CHAR_TK INTEGRAL_TK
@@ -717,6 +718,7 @@ statement_without_trailing_substatement:
| synchronized_statement
| throw_statement
| try_statement
+| assert_statement
;
empty_statement:
@@ -870,6 +872,14 @@ throw_statement:
THROW_TK expression SC_TK { ++complexity; }
;
+assert_statement:
+ ASSERT_TK expression REL_CL_TK expression SC_TK
+| ASSERT_TK expression SC_TK
+| ASSERT_TK error
+ {yyerror ("Missing term"); RECOVER;}
+| ASSERT_TK expression error
+ {yyerror ("';' expected"); RECOVER;}
+;
synchronized_statement:
synchronized OP_TK expression CP_TK block
| synchronized OP_TK expression CP_TK error
OpenPOWER on IntegriCloud