JPS mappings for incremental compilation refactoring: some optimizations and test data corrections

GitOrigin-RevId: 7f9f1514e3c52103ad18ed67f19ae504dc6dfcc1
This commit is contained in:
Eugene Zhuravlev
2024-04-19 15:50:00 +00:00
committed by intellij-monorepo-bot
parent a08ef89ea9
commit b9eb0cd88d
5 changed files with 9 additions and 20 deletions
@@ -45,12 +45,15 @@ public final class KotlinAwareJavaDifferentiateStrategy extends JvmDifferentiate
affectClassLookupUsages(context, addedClass);
}
else {
debug("Affecting lookup usages for top-level functions in a newly added file ", addedClass.getName());
for (KmFunction kmFunction : container.getFunctions()) {
Visibility visibility = Attributes.getVisibility(kmFunction);
if (visibility != Visibility.PRIVATE && visibility != Visibility.PRIVATE_TO_THIS) {
affectMemberLookupUsages(context, addedClass, kmFunction.getName(), future);
}
debug("Affecting lookup usages for top-level functions and properties in a newly added file ", addedClass.getName());
String scopeName = getKotlinName(addedClass);
EnumSet<Visibility> privateAccess = EnumSet.of(Visibility.LOCAL, Visibility.INTERNAL, Visibility.PRIVATE, Visibility.PRIVATE_TO_THIS);
for (String symbolName : unique(flat(
map(filter(container.getFunctions(), f -> !privateAccess.contains(Attributes.getVisibility(f))), KmFunction::getName),
map(filter(container.getProperties(), p -> !privateAccess.contains(Attributes.getVisibility(p))), KmProperty::getName)
))) {
context.affectUsage(new LookupNameUsage(scopeName, symbolName));
debug("Affect ", "lookup '" + symbolName + "'", " usage owned by node '", addedClass.getName(), "'");
}
}
}
@@ -7,16 +7,12 @@ End of files
Cleaning output files:
out/production/module/foo/B.class
out/production/module/use/CreateAKt.class
out/production/module/use/CreateBKt.class
out/production/module/use/UseAfooKt.class
out/production/module/use/UseBbarKt.class
End of files
Compiling files:
src/B.kt
src/createA.kt
src/createB.kt
src/useAfoo.kt
src/useBbar.kt
End of files
Exit code: ABORT
------------------------------------------
@@ -30,9 +26,7 @@ Compiling files:
src/A.kt
src/B.kt
src/createA.kt
src/createB.kt
src/useAfoo.kt
src/useBbar.kt
End of files
Exit code: OK
------------------------------------------
@@ -13,7 +13,6 @@ Cleaning output files:
out/production/module/B.class
out/production/module/BKt.class
out/production/module/GetAKt.class
out/production/module/GetBKt.class
out/production/module/META-INF/module.kotlin_module
out/production/module/UseAKt.class
out/production/module/UseBKt.class
@@ -21,7 +20,6 @@ End of files
Compiling files:
src/B.kt
src/getA.kt
src/getB.kt
src/useA.kt
src/useB.kt
End of files
@@ -46,7 +44,6 @@ Compiling files:
src/A.kt
src/B.kt
src/getA.kt
src/getB.kt
src/useA.kt
src/useB.kt
End of files
@@ -62,7 +59,6 @@ Compiling files:
src/A.kt
src/B.kt
src/getA.kt
src/getB.kt
src/useA.kt
src/useB.kt
End of files
@@ -7,11 +7,9 @@ Exit code: OK
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/FunAKt.class
out/production/module/use/UseAKt.class
End of files
Compiling files:
src/funA.kt
src/useA.kt
End of files
Exit code: OK
@@ -7,11 +7,9 @@ Exit code: OK
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/Foo1Kt.class
out/production/module/use/UseKt.class
End of files
Compiling files:
src/foo1.kt
src/use.kt
End of files
Exit code: OK