diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 2000-11-22 05:25:15 +0000 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2000-11-21 21:25:15 -0800 |
commit | ee5f86dcd77e38029dd8c6e21d31cb123d8472cc (patch) | |
tree | 3ec6f9dedc5c7547f9b4b97ed415f645edd1b217 /gcc/java/parse.h | |
parent | a125d8555a7c049962de97f73829f5938e7fb4e9 (diff) | |
download | gcc-ee5f86dcd77e38029dd8c6e21d31cb123d8472cc.zip gcc-ee5f86dcd77e38029dd8c6e21d31cb123d8472cc.tar.gz gcc-ee5f86dcd77e38029dd8c6e21d31cb123d8472cc.tar.bz2 |
[multiple changes]
2000-10-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (outer_field_access_p): Inherited fields aren't
consider outer fields.
(maybe_build_thisn_access_method): Use
PURE_INNER_CLASS_TYPE_P instead of INNER_CLASS_TYPE_P.
(resolve_expression_name): Trigger an error if a static field
is being accessed as an outer field.
2000-10-24 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (INNER_ENCLOSING_SCOPE_CHECK): Check inherited type in
scope.
(http://gcc.gnu.org/ml/gcc-patches/2000-11/msg01217.html)
From-SVN: r37645
Diffstat (limited to 'gcc/java/parse.h')
-rw-r--r-- | gcc/java/parse.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/java/parse.h b/gcc/java/parse.h index 17c2bd6..3db2580 100644 --- a/gcc/java/parse.h +++ b/gcc/java/parse.h @@ -860,7 +860,12 @@ struct parser_ctxt { && !inherits_from_p (TREE_TYPE (TREE_TYPE (current_this)), \ TREE_TYPE (DECL_CONTEXT (TYPE_NAME (T)))) \ && !common_enclosing_context_p (TREE_TYPE (TREE_TYPE (current_this)), \ - (T))) \ + (T)) \ + && INNER_CLASS_TYPE_P (TREE_TYPE (TREE_TYPE (current_this))) \ + && !inherits_from_p \ + (TREE_TYPE (DECL_CONTEXT \ + (TYPE_NAME (TREE_TYPE (TREE_TYPE (current_this))))),\ + TREE_TYPE (DECL_CONTEXT (TYPE_NAME (T))))) \ /* We don't have a this. */ \ || !current_this)) |