steps
- Macro expansion in
A.scala references another source B.scala.
- Change
B.scala.
problem
A.scala doesn't get compiled.
expectation
A.scala gets compiled.
notes
This can be confirmed when "member reference internal dependencies" doesn't contain the entry from A.scala to B.scala.
This was caused by 0f61629:
override def traverse(tree: Tree): Unit = tree match {
....
case MacroExpansionOf(original) if inspectedOriginalTrees.add(original) => traverse(original)
case other => super.traverse(other)
}
This won't traverse into an Apply tree, for instance if it has MacroExpansionAttachment. The fix is to call super.traverse(tree) for MacroExpansionOf case as well.