Bug 19707 - Non-final variable doesn't shadow field wrt inner class.
Summary: Non-final variable doesn't shadow field wrt inner class.
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: java (show other bugs)
Version: 4.0.0
: P2 minor
Target Milestone: 4.3.0
Assignee: Not yet assigned to anyone
URL:
Keywords: accepts-invalid
Depends on: 28067
Blocks: 18131
  Show dependency treegraph
 
Reported: 2005-01-30 09:45 UTC by Kalle Olavi Niemitalo
Modified: 2007-01-09 20:47 UTC (History)
2 users (show)

See Also:
Host: i386-pc-linux-gnu
Target: i386-pc-linux-gnu
Build: i386-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2005-08-10 23:59:24


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kalle Olavi Niemitalo 2005-01-30 09:45:33 UTC
A GCC checked out from CVS on 2005-01-29 compiles the following
code without complaint, generating a g() that accesses Outer.x:

class Outer {
    int x;
    void f(Object x) {
        class Inner {
            int g() {
                return x;
            }
        }
    }
}

The parameter with the same name should shadow the field, and GCC
should then report an error because the parameter is not final
and even has the wrong type.

$ gcj -v -C nonfinal-shadow.java
Using built-in specs.
Configured with: /home/kalle/src/FOREIGN-CVS/gcc/configure --prefix=/home/kalle
--exec-prefix=/home/kalle/i386-pc-linux-gnu --host=i386-pc-linux-gnu
--build=i386-pc-linux-gnu
Thread model: posix
gcc version 4.0.0 20050129 (experimental)

/home/kalle/stow/gcc/i386-pc-linux-gnu/bin/../libexec/gcc/i386-pc-linux-gnu/4.0.0/jc1 nonfinal-shadow.java -quiet -dumpbase nonfinal-shadow.java -auxbase-strip
NONE -g1 -version -fsyntax-only -femit-class-files -o /dev/null
GNU Java version 4.0.0 20050129 (experimental) (i386-pc-linux-gnu)
	compiled by GNU C version 4.0.0 20050103 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Class path starts here:
    ./
   
/home/kalle/stow/gcc/i386-pc-linux-gnu/bin/../lib/gcc/../../../share/java/libgcj-4.0.0.jar/ (system) (zip)
Comment 1 Andrew Pinski 2005-01-30 14:22:48 UTC
Confirmed.
Comment 2 Tom Tromey 2007-01-09 20:47:01 UTC
All gcj front end bugs have been fixed by the gcj-eclipse branch merge.
I'm mass-closing the affected PRs.
If you believe one of these was closed in error, please reopen it
with a note explaining why.
Thanks.