diff options
author | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-10-05 07:17:34 +0000 |
---|---|---|
committer | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-10-05 07:17:34 +0000 |
commit | bc099162c31da09a5b1792bdc7c45554535d9326 (patch) | |
tree | 4d5c18c324994e5c054b7c48872b57170975b1b9 /gcc/java/parse.y | |
parent | 5e0bc83fe6ffedc565a20311a87d4a55a70062eb (diff) | |
download | gcc-bc099162c31da09a5b1792bdc7c45554535d9326.tar.gz |
Tue Oct 3 13:44:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (find_local_variable): Removed uncessary type check and
fixed range check typo. From Corey Minyard.
Wed Sep 13 16:06:52 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (give_name_to_locals): New local `code_offset'. Call
`maybe_adjust_start_pc.'
* expr.c (note_instructions): New function.
(expand_byte_code): Don't collect insn starts here.
(peek_opcode_at_pc): New function.
(maybe_adjust_start_pc): Likewise.
* java-tree.h (maybe_adjust_start_pc): Declare.
(note_instructions): Likewise.
* jcf-parse.c (parse_class_file): Call `note_instructions.'
Wed Sep 13 11:50:35 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (field_access:): Fixed indentation.
(qualify_ambiguous_name): Properly qualify `this.a[b].c'.
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00067.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36717 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r-- | gcc/java/parse.y | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 6ae90d44a2f..5db2edcc076 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -2172,8 +2172,7 @@ field_access: { $$ = build_binop (COMPONENT_REF, $2.location, $1, $3); } */ | SUPER_TK DOT_TK identifier { - tree super_wfl = - build_wfl_node (super_identifier_node); + tree super_wfl = build_wfl_node (super_identifier_node); EXPR_WFL_LINECOL (super_wfl) = $1.location; $$ = make_qualified_name (super_wfl, $3, $2.location); } @@ -10741,6 +10740,17 @@ qualify_ambiguous_name (id) /* If we have a THIS (from a primary), we set the context accordingly */ if (name == this_identifier_node) { + /* This isn't really elegant. One more added irregularity + before I start using COMPONENT_REF (hopefully very soon.) */ + if (TREE_CODE (TREE_PURPOSE (qual)) == ARRAY_REF + && TREE_CODE (TREE_OPERAND (TREE_PURPOSE (qual), 0)) == + EXPR_WITH_FILE_LOCATION + && EXPR_WFL_NODE (TREE_OPERAND (TREE_PURPOSE (qual), 0)) == + this_identifier_node) + { + qual = TREE_OPERAND (TREE_PURPOSE (qual), 0); + qual = EXPR_WFL_QUALIFICATION (qual); + } qual = TREE_CHAIN (qual); qual_wfl = QUAL_WFL (qual); if (TREE_CODE (qual_wfl) == CALL_EXPR) |