diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt index 0f3484e731d..8bc24e7ca8b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2016 JetBrains s.r.o. + * Copyright 2010-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,10 +19,10 @@ package org.jetbrains.kotlin.idea.quickfix.replaceWith import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.analysis.analyzeInContext import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference +import org.jetbrains.kotlin.idea.codeInliner.CodeToInline +import org.jetbrains.kotlin.idea.codeInliner.CodeToInlineBuilder import org.jetbrains.kotlin.idea.references.KtSimpleNameReference import org.jetbrains.kotlin.idea.references.mainReference -import org.jetbrains.kotlin.idea.codeInliner.CodeToInlineBuilder -import org.jetbrains.kotlin.idea.codeInliner.CodeToInline import org.jetbrains.kotlin.idea.resolve.ResolutionFacade import org.jetbrains.kotlin.idea.resolve.frontendService import org.jetbrains.kotlin.name.FqName @@ -32,9 +32,7 @@ import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.psi.KtUserType import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType import org.jetbrains.kotlin.resolve.* -import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe -import org.jetbrains.kotlin.resolve.descriptorUtil.module import org.jetbrains.kotlin.resolve.lazy.DefaultImportProvider import org.jetbrains.kotlin.resolve.lazy.descriptors.ClassResolutionScopesSupport import org.jetbrains.kotlin.resolve.scopes.* @@ -42,7 +40,6 @@ import org.jetbrains.kotlin.resolve.scopes.utils.chainImportingScopes import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices -import org.jetbrains.kotlin.types.expressions.PreliminaryDeclarationVisitor import java.util.* data class ReplaceWith(val pattern: String, val imports: List) @@ -73,7 +70,7 @@ object ReplaceWithAnnotationAnalyzer { return null } - val module = symbolDescriptor.module + val module = resolutionFacade.moduleDescriptor val explicitImportsScope = buildExplicitImportsScope(annotation, resolutionFacade, module) val defaultImportsScopes = buildDefaultImportsScopes(resolutionFacade, module) val scope = getResolutionScope(symbolDescriptor, symbolDescriptor, @@ -103,7 +100,7 @@ object ReplaceWithAnnotationAnalyzer { } if (typeReference.typeElement !is KtUserType) return null - val module = symbolDescriptor.module + val module = resolutionFacade.moduleDescriptor val explicitImportsScope = buildExplicitImportsScope(annotation, resolutionFacade, module) val defaultImportScopes = buildDefaultImportsScopes(resolutionFacade, module) diff --git a/idea/testData/quickfix/deprecatedSymbolUsage/replaceModToRem.kt b/idea/testData/quickfix/deprecatedSymbolUsage/replaceModToRem.kt new file mode 100644 index 00000000000..ae18c63e867 --- /dev/null +++ b/idea/testData/quickfix/deprecatedSymbolUsage/replaceModToRem.kt @@ -0,0 +1,5 @@ +// "Replace with 'rem(other)'" "true" + +fun test() { + 1.mod(3) +} \ No newline at end of file diff --git a/idea/testData/quickfix/deprecatedSymbolUsage/replaceModToRem.kt.after b/idea/testData/quickfix/deprecatedSymbolUsage/replaceModToRem.kt.after new file mode 100644 index 00000000000..f38417ea8ac --- /dev/null +++ b/idea/testData/quickfix/deprecatedSymbolUsage/replaceModToRem.kt.after @@ -0,0 +1,5 @@ +// "Replace with 'rem(other)'" "true" + +fun test() { + 1.rem(3) +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index 4b2bbe7a8c3..aa190662344 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -4495,6 +4495,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("replaceModToRem.kt") + public void testReplaceModToRem() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/deprecatedSymbolUsage/replaceModToRem.kt"); + doTest(fileName); + } + @TestMetadata("shortenReferences.kt") public void testShortenReferences() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/quickfix/deprecatedSymbolUsage/shortenReferences.kt");