Initial version of storing SourceElements in descriptors

Introduce SourceElement, JavaSourceElementFactory, DeclarationDescriptorWithSource
Implement getSource() for eager, lazy and java descriptors
This commit is contained in:
Pavel V. Talanov
2014-07-07 21:20:53 +04:00
parent e3b1639edf
commit 59e43020c3
86 changed files with 576 additions and 219 deletions
@@ -62,7 +62,7 @@ private class PackageFragmentProviderForMissingDependencies(val moduleDescriptor
}
private class MissingDependencyErrorClassDescriptor(containing: DeclarationDescriptor, override val fullFqName: FqName)
: MissingDependencyErrorClass, ClassDescriptorImpl(containing, fullFqName.shortName(), Modality.OPEN, listOf()) {
: MissingDependencyErrorClass, ClassDescriptorImpl(containing, fullFqName.shortName(), Modality.OPEN, listOf(), SourceElement.NO_SOURCE) {
private val scope = ScopeWithMissingDependencies(fullFqName, this)
@@ -84,7 +84,7 @@ private class MissingDependencyErrorClassDescriptor(containing: DeclarationDescr
}
{
val emptyConstructor = ConstructorDescriptorImpl.create(this, Annotations.EMPTY, true)
val emptyConstructor = ConstructorDescriptorImpl.create(this, Annotations.EMPTY, true, SourceElement.NO_SOURCE)
emptyConstructor.initialize(listOf(), listOf(), Visibilities.INTERNAL, false)
emptyConstructor.setReturnType(createErrorType("<ERROR RETURN TYPE>"))
initialize(JetScope.EMPTY, setOf(emptyConstructor), emptyConstructor)
@@ -166,4 +166,4 @@ public abstract class JetMultiReference<T : JetElement>(expression: T) : Abstrac
}
return multiResolve(false).map { it.getElement() }.filterNotNull().any { checkElementMatch(it, element) }
}
}
}