Simplified process of filtering out obsolete package parts and loading descriptors from incremental caches.
Now when file is deleted or dirty (compiled right now), its old package part is used. Current package of file doesn't matter.
This commit is contained in:
@@ -62,8 +62,8 @@ public class KotlinCodegenFacade {
|
||||
packageFqNameToFiles.putValue(file.getPackageFqName(), file);
|
||||
}
|
||||
|
||||
Set<FqName> removedPackageFiles = new HashSet<FqName>(state.getPackagesWithRemovedFiles());
|
||||
for (FqName fqName : Sets.union(removedPackageFiles, packageFqNameToFiles.keySet())) {
|
||||
Set<FqName> packagesWithObsoleteParts = new HashSet<FqName>(state.getPackagesWithObsoleteParts());
|
||||
for (FqName fqName : Sets.union(packagesWithObsoleteParts, packageFqNameToFiles.keySet())) {
|
||||
generatePackage(state, fqName, packageFqNameToFiles.get(fqName), errorHandler);
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ public class GenerationState {
|
||||
private final ModuleDescriptor module;
|
||||
|
||||
@NotNull
|
||||
private final Collection<FqName> packagesWithRemovedFiles;
|
||||
private final Collection<FqName> packagesWithObsoleteParts;
|
||||
|
||||
@Nullable
|
||||
private final String moduleId; // for PackageCodegen in incremental compilation mode
|
||||
@@ -142,7 +142,7 @@ public class GenerationState {
|
||||
GenerateClassFilter generateClassFilter,
|
||||
boolean disableInline,
|
||||
boolean disableOptimization,
|
||||
@Nullable Collection<FqName> packagesWithRemovedFiles,
|
||||
@Nullable Collection<FqName> packagesWithObsoleteParts,
|
||||
@Nullable String moduleId,
|
||||
@NotNull DiagnosticSink diagnostics,
|
||||
@Nullable File outDirectory
|
||||
@@ -152,7 +152,7 @@ public class GenerationState {
|
||||
this.module = module;
|
||||
this.files = files;
|
||||
this.moduleId = moduleId;
|
||||
this.packagesWithRemovedFiles = packagesWithRemovedFiles == null ? Collections.<FqName>emptySet() : packagesWithRemovedFiles;
|
||||
this.packagesWithObsoleteParts = packagesWithObsoleteParts == null ? Collections.<FqName>emptySet() : packagesWithObsoleteParts;
|
||||
this.classBuilderMode = builderFactory.getClassBuilderMode();
|
||||
this.disableInline = disableInline;
|
||||
|
||||
@@ -287,8 +287,8 @@ public class GenerationState {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Collection<FqName> getPackagesWithRemovedFiles() {
|
||||
return packagesWithRemovedFiles;
|
||||
public Collection<FqName> getPackagesWithObsoleteParts() {
|
||||
return packagesWithObsoleteParts;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user