Include file name for package-level members in diagnostics
This commit is contained in:
@@ -16,6 +16,17 @@
|
||||
|
||||
package org.jetbrains.kotlin.descriptors;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface SourceFile {
|
||||
SourceFile NO_SOURCE_FILE = new SourceFile() {};
|
||||
SourceFile NO_SOURCE_FILE = new SourceFile() {
|
||||
@Nullable
|
||||
@Override
|
||||
public String getName() {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
@Nullable
|
||||
String getName();
|
||||
}
|
||||
|
||||
@@ -178,6 +178,7 @@ enum class AnnotationArgumentsRenderingPolicy(
|
||||
interface DescriptorRendererOptions {
|
||||
var classifierNamePolicy: ClassifierNamePolicy
|
||||
var withDefinedIn: Boolean
|
||||
var withSourceFileForTopLevel: Boolean
|
||||
var modifiers: Set<DescriptorRendererModifier>
|
||||
var startFromName: Boolean
|
||||
var startFromDeclarationKeyword: Boolean
|
||||
|
||||
@@ -383,6 +383,14 @@ internal class DescriptorRendererImpl(
|
||||
append(" ").append(renderMessage("defined in")).append(" ")
|
||||
val fqName = DescriptorUtils.getFqName(containingDeclaration)
|
||||
append(if (fqName.isRoot) "root package" else renderFqName(fqName))
|
||||
|
||||
if (withSourceFileForTopLevel &&
|
||||
containingDeclaration is PackageFragmentDescriptor &&
|
||||
descriptor is DeclarationDescriptorWithSource) {
|
||||
descriptor.source.containingFile.name?.let { sourceFileName ->
|
||||
append(" ").append(renderMessage("in file")).append(" ").append(sourceFileName)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
||||
|
||||
override var classifierNamePolicy: ClassifierNamePolicy by property(ClassifierNamePolicy.SOURCE_CODE_QUALIFIED)
|
||||
override var withDefinedIn by property(true)
|
||||
override var withSourceFileForTopLevel by property(true)
|
||||
override var modifiers: Set<DescriptorRendererModifier> by property(DescriptorRendererModifier.DEFAULTS)
|
||||
override var startFromName by property(false)
|
||||
override var startFromDeclarationKeyword by property(false)
|
||||
|
||||
Reference in New Issue
Block a user