aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse-scan.y
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-06-11 17:31:11 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-06-11 17:31:11 +0000
commitc6226a7e2aabd8d28a282bcad0b0c62767fb6a17 (patch)
tree5c940f59a273b4bbc23e5a9544f817838059fdcb /gcc/java/parse-scan.y
parent9da754bd5e3c704f74ff1019c735e7ac30081b0e (diff)
downloadgcc-c6226a7e2aabd8d28a282bcad0b0c62767fb6a17.zip
gcc-c6226a7e2aabd8d28a282bcad0b0c62767fb6a17.tar.gz
gcc-c6226a7e2aabd8d28a282bcad0b0c62767fb6a17.tar.bz2
jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
* 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. From-SVN: r54516
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 665a7f7..977bbce 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