Skip private members in facades
This commit is contained in:
committed by
Max Kammerer
parent
5b3a7a473e
commit
c63d221da3
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||
import org.jetbrains.kotlin.config.IncrementalCompilation
|
||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils
|
||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||
import org.jetbrains.kotlin.fileClasses.getFileClassType
|
||||
@@ -201,8 +202,9 @@ public class MultifileClassCodegen(
|
||||
if (declaration is JetNamedFunction || declaration is JetProperty) {
|
||||
val descriptor = state.bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, declaration)
|
||||
assert(descriptor is CallableMemberDescriptor) { "Expected callable member, was " + descriptor + " for " + declaration.text }
|
||||
generateCallableMemberTasks.put(descriptor as CallableMemberDescriptor,
|
||||
{ memberCodegen.genFunctionOrProperty(declaration) })
|
||||
if (!Visibilities.isPrivate((descriptor as CallableMemberDescriptor).visibility)) {
|
||||
generateCallableMemberTasks.put(descriptor, { memberCodegen.genFunctionOrProperty(declaration) })
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.config.IncrementalCompilation;
|
||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities;
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticUtils;
|
||||
import org.jetbrains.kotlin.fileClasses.FileClasses;
|
||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassInfo;
|
||||
@@ -356,15 +357,17 @@ public class PackageCodegen {
|
||||
DeclarationDescriptor descriptor = state.getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, declaration);
|
||||
assert descriptor instanceof CallableMemberDescriptor :
|
||||
"Expected callable member, was " + descriptor + " for " + declaration.getText();
|
||||
generateCallableMemberTasks.put(
|
||||
(CallableMemberDescriptor) descriptor,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
memberCodegen.genFunctionOrProperty(declaration);
|
||||
if (!Visibilities.isPrivate(((CallableMemberDescriptor) descriptor).getVisibility())) {
|
||||
generateCallableMemberTasks.put(
|
||||
(CallableMemberDescriptor) descriptor,
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
memberCodegen.genFunctionOrProperty(declaration);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -412,6 +412,10 @@ public class PropertyCodegen {
|
||||
@Nullable JetPropertyAccessor accessor,
|
||||
@NotNull PropertyAccessorDescriptor accessorDescriptor
|
||||
) {
|
||||
if (context instanceof MultifileClassFacadeContext && Visibilities.isPrivate(accessorDescriptor.getVisibility())) {
|
||||
return;
|
||||
}
|
||||
|
||||
FunctionGenerationStrategy strategy;
|
||||
if (accessor == null || !accessor.hasBody()) {
|
||||
if (p instanceof JetProperty && ((JetProperty) p).hasDelegate()) {
|
||||
|
||||
Reference in New Issue
Block a user