- 
                Notifications
    You must be signed in to change notification settings 
- Fork 14
Closed
Milestone
Description
⚡ tail /tmp/1/* /tmp/2/*
==> /tmp/1/A.java <==
package p1;
public class A {
	public static class B {
		void foo() {}
		static void bar() {}
	}
}
==> /tmp/2/A.java <==
package p1;
public class A {
	public static class B {
		void foo() {}
	}
}
==> /tmp/2/Test.scala <==
class Test {
  new p1.A.B
}
/code/scala on 2.12.x*
⚡ javac -d /tmp /tmp/1/A.java 
/code/scala on 2.12.x*
⚡ dbg scalac-ref heads/2.12.x -classpath /tmp -d /tmp /tmp/2/A.java /tmp/2/Test.scala
In the debugger, I can see that the MethodInlineInfo includes the static method from the stale class file, as built:
    val methods = if (!classSym.isJavaDefined) classMethods else {
      val staticMethods = classSym.companionModule.info.decls.iterator.filter(m => !m.isConstructor && keepMember(m))
      staticMethods ++ classMethods
    }The isCodefinedWith check seems insufficient for nested classes after flatten.