diff options
| author | Dmitry Jemerov <yole@jetbrains.com> | 2015-02-06 16:10:04 +0100 |
|---|---|---|
| committer | Dmitry Jemerov <yole@jetbrains.com> | 2015-02-06 16:10:04 +0100 |
| commit | 0e76eed8d9fee675542d35f525ff9e8ab6408857 (patch) | |
| tree | a41b330421b453786b789ff53f5316d64c89b293 /src/Analysis | |
| parent | 4ed5b2ec786b0f67405e5db81be2a2d9f4b6e591 (diff) | |
| download | dokka-0e76eed8d9fee675542d35f525ff9e8ab6408857.tar.gz dokka-0e76eed8d9fee675542d35f525ff9e8ab6408857.tar.bz2 dokka-0e76eed8d9fee675542d35f525ff9e8ab6408857.zip | |
use getResolutionScope() from plugin; use simpler way to resolve descriptor in scope; rename @code tag to @sample
Diffstat (limited to 'src/Analysis')
| -rw-r--r-- | src/Analysis/CompilerAPI.kt | 89 |
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") -} |
