class ConstructorCalls { void testNormalConstructor() { new OtherClass(); } void testInnerClassConstructor() { OtherClass oc = new OtherClass(); oc.new InnerClass(); } void testInnerClassConstructorWithNewScope() { new OtherClass().new InnerClass(); } void testInnerInnerClassConstructor() { new OtherClass().new InnerClass().new InnerInnerClass(); } void testAnonymousInnerClassEmptyConstructor() { new OtherClass() {}; } void testAnonymousInnerClassEmptyConstructorInterface() { new OtherInterface() {}; } void testAnonymousInnerClassStringConstructor() { new OtherClass("foo") {}; } } class OtherClass { OtherClass() {} OtherClass(String foo) {} class InnerClass { InnerClass() {} class InnerInnerClass { InnerInnerClass() {} } } } interface OtherInterface { }