public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug java/32638]  New: Wrong selection of field in inner class when outer class and super class have a relevant filed named the same
@ 2007-07-05 17:12 mark at gcc dot gnu dot org
  2007-07-05 17:31 ` [Bug java/32638] " tromey at gcc dot gnu dot org
  2007-07-05 18:34 ` mark at klomp dot org
  0 siblings, 2 replies; 3+ messages in thread
From: mark at gcc dot gnu dot org @ 2007-07-05 17:12 UTC (permalink / raw)
  To: java-prs

The following program should print true, but prints false when compiled with
gcj -C because the wrong field o is selected in the anonymous inner class (the
protected field named o in the super class is more specific than the field o in
the enclosing method).

public class t
{
  static abstract class a
  {
    protected Object o = new Object();
    abstract void print(Object input);
  }

  static class b
  {
    void m()
    {
      final Object o = new Object();
      a x = new a()
        {
          void print(Object input)
          {
            System.out.println(o != input);
          }
        };
      x.print(o);
    }
  }

  public static void main(String[] args)
  {
    new b().m();
  }
}

Since this is pretty hard to see why this code works/doesn't work in the first
place (the super class could be in a completely different file and the field in
the outer class certainly looks like it would be the one that is used in the
inner class) a warning for this kind of usage would be nice.

gcj (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13)


-- 
           Summary: Wrong selection of field in inner class when outer class
                    and super class have a relevant filed named the same
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mark at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32638


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-07-05 18:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-05 17:12 [Bug java/32638] New: Wrong selection of field in inner class when outer class and super class have a relevant filed named the same mark at gcc dot gnu dot org
2007-07-05 17:31 ` [Bug java/32638] " tromey at gcc dot gnu dot org
2007-07-05 18:34 ` mark at klomp dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).