aboutsummaryrefslogtreecommitdiff
path: root/src/Analysis/CompilerAPI.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/Analysis/CompilerAPI.kt')
-rw-r--r--src/Analysis/CompilerAPI.kt89
1 files changed, 0 insertions, 89 deletions
diff --git a/src/Analysis/CompilerAPI.kt b/src/Analysis/CompilerAPI.kt
index 20e91e1d..d915e23a 100644
--- a/src/Analysis/CompilerAPI.kt
+++ b/src/Analysis/CompilerAPI.kt
@@ -52,92 +52,3 @@ fun DeclarationDescriptor.isUserCode() =
is CallableMemberDescriptor -> getKind() == CallableMemberDescriptor.Kind.DECLARATION
else -> true
}
-
-public fun getPackageInnerScope(descriptor: PackageFragmentDescriptor): JetScope {
- val module = descriptor.getContainingDeclaration()
- val packageView = module.getPackage(descriptor.fqName)
- val packageScope = packageView!!.getMemberScope()
- return packageScope
-}
-
-public fun getClassInnerScope(outerScope: JetScope, descriptor: ClassDescriptor): JetScope {
- val redeclarationHandler = RedeclarationHandler.DO_NOTHING
-
- val headerScope = WritableScopeImpl(outerScope, descriptor, redeclarationHandler, "Class ${descriptor.getName()} header scope")
- for (typeParameter in descriptor.getTypeConstructor().getParameters()) {
- headerScope.addTypeParameterDescriptor(typeParameter)
- }
- for (constructor in descriptor.getConstructors()) {
- headerScope.addFunctionDescriptor(constructor)
- }
- headerScope.addLabeledDeclaration(descriptor)
- headerScope.changeLockLevel(WritableScope.LockLevel.READING)
-
- val classScope = ChainedScope(descriptor, "Class ${descriptor.getName()} scope", descriptor.getDefaultType().getMemberScope(), headerScope)
- return classScope
-}
-
-public fun getFunctionInnerScope(outerScope: JetScope, descriptor: FunctionDescriptor): JetScope {
- val redeclarationHandler = RedeclarationHandler.DO_NOTHING
-
- val functionScope = WritableScopeImpl(outerScope, descriptor, redeclarationHandler, "Function ${descriptor.getName()} scope")
- val receiver = descriptor.getExtensionReceiverParameter()
- if (receiver != null) {
- functionScope.setImplicitReceiver(receiver)
- }
- for (typeParameter in descriptor.getTypeParameters()) {
- functionScope.addTypeParameterDescriptor(typeParameter)
- }
- for (valueParameterDescriptor in descriptor.getValueParameters()) {
- functionScope.addVariableDescriptor(valueParameterDescriptor)
- }
- functionScope.addLabeledDeclaration(descriptor)
- functionScope.changeLockLevel(WritableScope.LockLevel.READING)
- return functionScope
-}
-
-public fun getPropertyInnerScope(outerScope: JetScope, descriptor: PropertyDescriptor): JetScope {
- val redeclarationHandler = RedeclarationHandler.DO_NOTHING
-
- val propertyScope = WritableScopeImpl(outerScope, descriptor, redeclarationHandler, "Property ${descriptor.getName()} scope")
- val receiver = descriptor.getExtensionReceiverParameter()
- if (receiver != null) {
- propertyScope.setImplicitReceiver(receiver)
- }
- for (typeParameter in descriptor.getTypeParameters()) {
- propertyScope.addTypeParameterDescriptor(typeParameter)
- }
- for (valueParameterDescriptor in descriptor.getValueParameters()) {
- propertyScope.addVariableDescriptor(valueParameterDescriptor)
- }
- for (accessor in descriptor.getAccessors()) {
- propertyScope.addFunctionDescriptor(accessor)
- }
- propertyScope.addLabeledDeclaration(descriptor)
- propertyScope.changeLockLevel(WritableScope.LockLevel.READING)
- return propertyScope
-}
-
-fun getResolutionScope(descriptor: DeclarationDescriptor): JetScope {
- when (descriptor) {
- is PackageFragmentDescriptor ->
- return getPackageInnerScope(descriptor)
-
- is PackageViewDescriptor ->
- return descriptor.getMemberScope()
-
- is ClassDescriptor ->
- return getClassInnerScope(getResolutionScope(descriptor.getContainingDeclaration()), descriptor)
-
- is FunctionDescriptor ->
- return getFunctionInnerScope(getResolutionScope(descriptor.getContainingDeclaration()), descriptor)
-
- is PropertyDescriptor ->
- return getPropertyInnerScope(getResolutionScope(descriptor.getContainingDeclaration()), descriptor)
- }
-
- if (descriptor is DeclarationDescriptorNonRoot)
- return getResolutionScope(descriptor.getContainingDeclaration())
-
- throw IllegalArgumentException("Cannot find resolution scope for root $descriptor")
-}