On 2/9/15 4:30 AM, ketmar wrote:
On Mon, 09 Feb 2015 07:32:32 +0000, rumbu wrote:

class Outer {
      class Inner {
          static Inner createInner()
          {
              return new Inner(); //need 'this' to access member
this
          }
      }
}

Is this a bug?

strictly speaking, this is not a bug. compiler doesn't do deep analysis
on nested structures/classes to determine if they really require context
pointer. you can use `static class Inner` to tell the compiler that
`Inner` doesn't require any context.


To expand on this, nested classes (that is, a class nested inside another class) REQUIRE a pointer to the outer class instance (accessed via hidden member outer). The reason for this is Java portability. Seriously :)

-Steve

Reply via email to