Remove the usages of some of the deprecated APIs

This commit is contained in:
Dmitry Jemerov
2018-01-03 13:59:02 +01:00
parent 361824e170
commit 0ca2117ac7
24 changed files with 125 additions and 444 deletions
@@ -1,73 +0,0 @@
/*
* Copyright 2010-2015 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.kotlin.idea.completion.confidence;
import com.intellij.codeInsight.completion.CompletionConfidence;
import com.intellij.codeInsight.completion.CompletionParameters;
import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.ThreeState;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.psi.*;
public class UnfocusedPossibleFunctionParameter extends CompletionConfidence {
@NotNull
@Override
public ThreeState shouldFocusLookup(@NotNull CompletionParameters parameters) {
// 1. Do not automatically insert completion for first reference expression in block inside
// function literal if it has no parameters yet.
// 2. The same but for the case when first expression is additionally surrounded with brackets
PsiElement position = parameters.getPosition();
KtLambdaExpression functionLiteral = PsiTreeUtil.getParentOfType(
position, KtLambdaExpression.class);
if (functionLiteral != null) {
PsiElement expectedReference = position.getParent();
if (expectedReference instanceof KtSimpleNameExpression) {
if (PsiTreeUtil.findChildOfType(functionLiteral, KtParameterList.class) == null) {
{
// 1.
PsiElement expectedBlock = expectedReference.getParent();
if (expectedBlock instanceof KtBlockExpression) {
if (expectedReference.getPrevSibling() == null) {
return ThreeState.NO;
}
}
}
{
// 2.
PsiElement expectedParenthesized = expectedReference.getParent();
if (expectedParenthesized instanceof KtParenthesizedExpression) {
PsiElement expectedBlock = expectedParenthesized.getParent();
if (expectedBlock instanceof KtBlockExpression) {
if (expectedParenthesized.getPrevSibling() == null) {
return ThreeState.NO;
}
}
}
}
}
}
}
return ThreeState.UNSURE;
}
}
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2016 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.configuration package org.jetbrains.kotlin.idea.configuration
@@ -22,10 +11,7 @@ import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleUtilCore import com.intellij.openapi.module.ModuleUtilCore
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.openapi.project.ProjectBundle import com.intellij.openapi.project.ProjectBundle
import com.intellij.openapi.roots.ModuleRootAdapter import com.intellij.openapi.roots.*
import com.intellij.openapi.roots.ModuleRootEvent
import com.intellij.openapi.roots.ModuleRootManager
import com.intellij.openapi.roots.ModuleRootModificationUtil
import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService
import com.intellij.openapi.ui.popup.JBPopupFactory import com.intellij.openapi.ui.popup.JBPopupFactory
import com.intellij.openapi.ui.popup.ListPopup import com.intellij.openapi.ui.popup.ListPopup
@@ -54,7 +40,7 @@ class KotlinSetupEnvironmentNotificationProvider(
notifications: EditorNotifications) : EditorNotifications.Provider<EditorNotificationPanel>() { notifications: EditorNotifications) : EditorNotifications.Provider<EditorNotificationPanel>() {
init { init {
myProject.messageBus.connect(myProject).subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootAdapter() { myProject.messageBus.connect(myProject).subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener {
override fun rootsChanged(event: ModuleRootEvent?) { override fun rootsChanged(event: ModuleRootEvent?) {
notifications.updateAllNotifications() notifications.updateAllNotifications()
} }
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.debugger package org.jetbrains.kotlin.idea.debugger
@@ -19,7 +8,6 @@ package org.jetbrains.kotlin.idea.debugger
import com.intellij.openapi.components.State import com.intellij.openapi.components.State
import com.intellij.openapi.components.Storage import com.intellij.openapi.components.Storage
import com.intellij.openapi.components.StoragePathMacros
import com.intellij.openapi.options.Configurable import com.intellij.openapi.options.Configurable
import com.intellij.openapi.options.SimpleConfigurable import com.intellij.openapi.options.SimpleConfigurable
import com.intellij.openapi.util.Getter import com.intellij.openapi.util.Getter
@@ -29,7 +17,7 @@ import com.intellij.xdebugger.settings.DebuggerSettingsCategory
import com.intellij.xdebugger.settings.XDebuggerSettings import com.intellij.xdebugger.settings.XDebuggerSettings
import org.jetbrains.kotlin.idea.debugger.stepping.KotlinSteppingConfigurableUi import org.jetbrains.kotlin.idea.debugger.stepping.KotlinSteppingConfigurableUi
@State(name = "KotlinDebuggerSettings", storages = arrayOf(Storage(file = StoragePathMacros.APP_CONFIG + "/kotlin_debug.xml"))) @State(name = "KotlinDebuggerSettings", storages = arrayOf(Storage("kotlin_debug.xml")))
class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>("kotlin_debugger"), Getter<KotlinDebuggerSettings> { class KotlinDebuggerSettings : XDebuggerSettings<KotlinDebuggerSettings>("kotlin_debugger"), Getter<KotlinDebuggerSettings> {
var DEBUG_RENDER_DELEGATED_PROPERTIES: Boolean = true var DEBUG_RENDER_DELEGATED_PROPERTIES: Boolean = true
var DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES: Boolean = true var DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES: Boolean = true
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2017 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.debugger.surroundWith package org.jetbrains.kotlin.idea.debugger.surroundWith
@@ -26,6 +15,7 @@ import com.intellij.openapi.command.WriteCommandAction
import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.Editor
import com.intellij.openapi.editor.ScrollType import com.intellij.openapi.editor.ScrollType
import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.progress.ProgressIndicator
import com.intellij.openapi.progress.util.ProgressWindow
import com.intellij.openapi.progress.util.ProgressWindowWithNotification import com.intellij.openapi.progress.util.ProgressWindowWithNotification
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.openapi.util.TextRange import com.intellij.openapi.util.TextRange
@@ -59,7 +49,7 @@ class KotlinRuntimeTypeCastSurrounder: KotlinExpressionSurrounder() {
val debuggerContext = DebuggerManagerEx.getInstanceEx(project).context val debuggerContext = DebuggerManagerEx.getInstanceEx(project).context
val debuggerSession = debuggerContext.debuggerSession val debuggerSession = debuggerContext.debuggerSession
if (debuggerSession != null) { if (debuggerSession != null) {
val progressWindow = ProgressWindowWithNotification(true, expression.project) val progressWindow = ProgressWindow(true, expression.project)
val worker = SurroundWithCastWorker(editor, expression, debuggerContext, progressWindow) val worker = SurroundWithCastWorker(editor, expression, debuggerContext, progressWindow)
progressWindow.title = DebuggerBundle.message("title.evaluating") progressWindow.title = DebuggerBundle.message("title.evaluating")
debuggerContext.debugProcess?.managerThread?.startProgress(worker, progressWindow) debuggerContext.debugProcess?.managerThread?.startProgress(worker, progressWindow)
@@ -1,29 +1,20 @@
/* /*
* Copyright 2010-2017 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.versions package org.jetbrains.kotlin.idea.versions
import com.intellij.openapi.components.* import com.intellij.openapi.components.PersistentStateComponent
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.components.State
import com.intellij.openapi.module.Module import com.intellij.openapi.module.Module
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.util.xmlb.XmlSerializerUtil import com.intellij.util.xmlb.XmlSerializerUtil
import org.jetbrains.kotlin.idea.configuration.ModuleSourceRootGroup import org.jetbrains.kotlin.idea.configuration.ModuleSourceRootGroup
import org.jetbrains.kotlin.idea.configuration.toModuleGroup import org.jetbrains.kotlin.idea.configuration.toModuleGroup
@State(name = "SuppressABINotification", storages = arrayOf(Storage(file = StoragePathMacros.PROJECT_FILE))) @State(name = "SuppressABINotification")
class SuppressNotificationState : PersistentStateComponent<SuppressNotificationState> { class SuppressNotificationState : PersistentStateComponent<SuppressNotificationState> {
var isSuppressed: Boolean = false var isSuppressed: Boolean = false
var modulesWithSuppressedNotConfigured = sortedSetOf<String>() var modulesWithSuppressedNotConfigured = sortedSetOf<String>()
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2016 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.versions package org.jetbrains.kotlin.idea.versions
@@ -29,8 +18,8 @@ import com.intellij.openapi.progress.ProcessCanceledException
import com.intellij.openapi.project.DumbService import com.intellij.openapi.project.DumbService
import com.intellij.openapi.project.IndexNotReadyException import com.intellij.openapi.project.IndexNotReadyException
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.openapi.roots.ModuleRootAdapter
import com.intellij.openapi.roots.ModuleRootEvent import com.intellij.openapi.roots.ModuleRootEvent
import com.intellij.openapi.roots.ModuleRootListener
import com.intellij.openapi.roots.libraries.Library import com.intellij.openapi.roots.libraries.Library
import com.intellij.openapi.ui.popup.JBPopupFactory import com.intellij.openapi.ui.popup.JBPopupFactory
import com.intellij.openapi.ui.popup.PopupStep import com.intellij.openapi.ui.popup.PopupStep
@@ -63,7 +52,7 @@ class UnsupportedAbiVersionNotificationPanelProvider(private val project: Projec
init { init {
val connection = project.messageBus.connect() val connection = project.messageBus.connect()
connection.subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootAdapter() { connection.subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener {
override fun rootsChanged(event: ModuleRootEvent?) { override fun rootsChanged(event: ModuleRootEvent?) {
updateNotifications() updateNotifications()
} }
@@ -1,23 +1,11 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.liveTemplates package org.jetbrains.kotlin.idea.liveTemplates
import com.intellij.codeInsight.lookup.LookupManager import com.intellij.codeInsight.lookup.LookupManager
import com.intellij.codeInsight.template.TemplateManager
import com.intellij.codeInsight.template.impl.TemplateManagerImpl import com.intellij.codeInsight.template.impl.TemplateManagerImpl
import com.intellij.codeInsight.template.impl.TemplateState import com.intellij.codeInsight.template.impl.TemplateState
import com.intellij.ide.DataManager import com.intellij.ide.DataManager
@@ -37,12 +25,7 @@ class LiveTemplatesTest : KotlinLightCodeInsightFixtureTestCase() {
override fun setUp() { override fun setUp() {
super.setUp() super.setUp()
myFixture.testDataPath = File(TEST_DATA_BASE_PATH).path + File.separator myFixture.testDataPath = File(TEST_DATA_BASE_PATH).path + File.separator
(TemplateManager.getInstance(project) as TemplateManagerImpl).setTemplateTesting(true) TemplateManagerImpl.setTemplateTesting(myModule.project, testRootDisposable)
}
override fun tearDown() {
(TemplateManager.getInstance(project) as TemplateManagerImpl).setTemplateTesting(false)
super.tearDown()
} }
fun testSout() { fun testSout() {
@@ -310,7 +293,10 @@ class LiveTemplatesTest : KotlinLightCodeInsightFixtureTestCase() {
private fun doAction(actionId: String) { private fun doAction(actionId: String) {
val actionManager = EditorActionManager.getInstance() val actionManager = EditorActionManager.getInstance()
val actionHandler = actionManager.getActionHandler(actionId) val actionHandler = actionManager.getActionHandler(actionId)
actionHandler.execute(myFixture.editor, DataManager.getInstance().getDataContext(myFixture.editor.component)) actionHandler.execute(
myFixture.editor, myFixture.editor.caretModel.currentCaret,
DataManager.getInstance().getDataContext(myFixture.editor.component)
)
} }
private fun assertStringItems(@NonNls vararg items: String) { private fun assertStringItems(@NonNls vararg items: String) {
-2
View File
@@ -457,8 +457,6 @@
implementationClass="org.jetbrains.kotlin.idea.completion.KDocCompletionContributor"/> implementationClass="org.jetbrains.kotlin.idea.completion.KDocCompletionContributor"/>
<completion.confidence language="kotlin" implementationClass="com.intellij.codeInsight.completion.UnfocusedNameIdentifier"/> <completion.confidence language="kotlin" implementationClass="com.intellij.codeInsight.completion.UnfocusedNameIdentifier"/>
<completion.confidence language="kotlin"
implementationClass="org.jetbrains.kotlin.idea.completion.confidence.UnfocusedPossibleFunctionParameter"/>
<completion.confidence language="kotlin" implementationClass="com.intellij.codeInsight.completion.AlwaysFocusLookup" order="last"/> <completion.confidence language="kotlin" implementationClass="com.intellij.codeInsight.completion.AlwaysFocusLookup" order="last"/>
<completion.confidence language="kotlin" implementationClass="org.jetbrains.kotlin.idea.completion.confidence.EnableAutopopupInStringTemplate"/> <completion.confidence language="kotlin" implementationClass="org.jetbrains.kotlin.idea.completion.confidence.EnableAutopopupInStringTemplate"/>
<completion.confidence language="kotlin" implementationClass="com.intellij.codeInsight.completion.SkipAutopopupInStrings"/> <completion.confidence language="kotlin" implementationClass="com.intellij.codeInsight.completion.SkipAutopopupInStrings"/>
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea package org.jetbrains.kotlin.idea
@@ -23,17 +12,13 @@ import com.intellij.notification.NotificationDisplayType
import com.intellij.notification.NotificationGroup import com.intellij.notification.NotificationGroup
import com.intellij.notification.NotificationType import com.intellij.notification.NotificationType
import com.intellij.openapi.Disposable import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ApplicationInfo import com.intellij.openapi.application.*
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.application.PathManager
import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.progress.ProgressIndicator
import com.intellij.openapi.progress.ProgressManager import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.progress.Task import com.intellij.openapi.progress.Task
import com.intellij.openapi.updateSettings.impl.PluginDownloader import com.intellij.openapi.updateSettings.impl.PluginDownloader
import com.intellij.openapi.updateSettings.impl.UpdateChecker
import com.intellij.openapi.updateSettings.impl.UpdateSettings import com.intellij.openapi.updateSettings.impl.UpdateSettings
import com.intellij.openapi.util.JDOMUtil import com.intellij.openapi.util.JDOMUtil
import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.util.SystemInfo
@@ -176,7 +161,7 @@ class KotlinPluginUpdater(val propertiesComponent: PropertiesComponent) : Dispos
val buildNumber = ApplicationInfo.getInstance().apiVersion val buildNumber = ApplicationInfo.getInstance().apiVersion
val currentVersion = KotlinPluginUtil.getPluginVersion() val currentVersion = KotlinPluginUtil.getPluginVersion()
val os = URLEncoder.encode(SystemInfo.OS_NAME + " " + SystemInfo.OS_VERSION, CharsetToolkit.UTF8) val os = URLEncoder.encode(SystemInfo.OS_NAME + " " + SystemInfo.OS_VERSION, CharsetToolkit.UTF8)
val uid = UpdateChecker.getInstallationUID(propertiesComponent) val uid = PermanentInstallationID.get()
val url = "https://plugins.jetbrains.com/plugins/list?pluginId=6954&build=$buildNumber&pluginVersion=$currentVersion&os=$os&uuid=$uid" val url = "https://plugins.jetbrains.com/plugins/list?pluginId=6954&build=$buildNumber&pluginVersion=$currentVersion&os=$os&uuid=$uid"
val responseDoc = HttpRequests.request(url).connect { val responseDoc = HttpRequests.request(url).connect {
JDOMUtil.load(it.inputStream) JDOMUtil.load(it.inputStream)
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2017 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.compiler.configuration; package org.jetbrains.kotlin.idea.compiler.configuration;
@@ -300,7 +289,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co
fileChooser.addBrowseFolderListener(title, null, null, fileChooser.addBrowseFolderListener(title, null, null,
new FileChooserDescriptor(forFiles, !forFiles, false, false, false, false), new FileChooserDescriptor(forFiles, !forFiles, false, false, false, false),
TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT, false); TextComponentAccessor.TEXT_FIELD_WHOLE_TEXT);
} }
private static boolean isModified(@NotNull TextFieldWithBrowseButton chooser, @Nullable String currentValue) { private static boolean isModified(@NotNull TextFieldWithBrowseButton chooser, @Nullable String currentValue) {
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.editor; package org.jetbrains.kotlin.idea.editor;
@@ -25,8 +14,13 @@ import javax.swing.*;
public class KotlinEditorOptionsConfigurable extends BeanConfigurable<KotlinEditorOptions> implements UnnamedConfigurable { public class KotlinEditorOptionsConfigurable extends BeanConfigurable<KotlinEditorOptions> implements UnnamedConfigurable {
public KotlinEditorOptionsConfigurable() { public KotlinEditorOptionsConfigurable() {
super(KotlinEditorOptions.getInstance()); super(KotlinEditorOptions.getInstance());
checkBox("enableJavaToKotlinConversion", "Convert pasted Java code to Kotlin"); KotlinEditorOptions instance = KotlinEditorOptions.getInstance();
checkBox("donTShowConversionDialog", "Don't show Java to Kotlin conversion dialog on paste"); checkBox("Convert pasted Java code to Kotlin",
instance::isEnableJavaToKotlinConversion,
instance::setEnableJavaToKotlinConversion);
checkBox("Don't show Java to Kotlin conversion dialog on paste",
instance::isDonTShowConversionDialog,
instance::setDonTShowConversionDialog);
} }
@Override @Override
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.editor package org.jetbrains.kotlin.idea.editor
@@ -32,8 +21,14 @@ import com.intellij.psi.tree.TokenSet
import com.intellij.util.IncorrectOperationException import com.intellij.util.IncorrectOperationException
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.KtDotQualifiedExpression
import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.KtFunctionLiteral
import org.jetbrains.kotlin.psi.KtStringTemplateExpression
import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.psi.psiUtil.isSingleQuoted
import org.jetbrains.kotlin.psi.psiUtil.startOffset
class KotlinEnterHandler: EnterHandlerDelegateAdapter() { class KotlinEnterHandler: EnterHandlerDelegateAdapter() {
companion object { companion object {
@@ -74,7 +69,7 @@ class KotlinEnterHandler: EnterHandlerDelegateAdapter() {
val isBeforeRBrace = elementAfter == null || elementAfter.node!!.elementType == KtTokens.RBRACE val isBeforeRBrace = elementAfter == null || elementAfter.node!!.elementType == KtTokens.RBRACE
if (isAfterLBraceOrArrow && isBeforeRBrace && (elementBefore!!.parent is KtFunctionLiteral)) { if (isAfterLBraceOrArrow && isBeforeRBrace && (elementBefore!!.parent is KtFunctionLiteral)) {
originalHandler?.execute(editor, dataContext) originalHandler?.execute(editor, editor.caretModel.currentCaret, dataContext)
PsiDocumentManager.getInstance(file.getProject()).commitDocument(document) PsiDocumentManager.getInstance(file.getProject()).commitDocument(document)
try { try {
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2016 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.highlighter package org.jetbrains.kotlin.idea.highlighter
@@ -40,7 +29,7 @@ class KotlinSuspendCallLineMarkerProvider : LineMarkerProvider {
callElement, callElement,
callElement.textRange, callElement.textRange,
KotlinIcons.SUSPEND_CALL, KotlinIcons.SUSPEND_CALL,
Pass.UPDATE_OVERRIDDEN_MARKERS, Pass.LINE_MARKERS,
{ message }, { message },
null, null,
GutterIconRenderer.Alignment.RIGHT GutterIconRenderer.Alignment.RIGHT
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2017 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.intentions package org.jetbrains.kotlin.idea.intentions
@@ -90,7 +79,7 @@ class UsePropertyAccessSyntaxInspection : IntentionBasedInspection<KtCallExpress
class NotPropertiesServiceImpl(private val project: Project) : NotPropertiesService { class NotPropertiesServiceImpl(private val project: Project) : NotPropertiesService {
override fun getNotProperties(element: PsiElement): Set<FqNameUnsafe> { override fun getNotProperties(element: PsiElement): Set<FqNameUnsafe> {
val profile = InspectionProjectProfileManager.getInstance(project).inspectionProfile val profile = InspectionProjectProfileManager.getInstance(project).currentProfile
val tool = profile.getUnwrappedTool(USE_PROPERTY_ACCESS_INSPECTION, element) val tool = profile.getUnwrappedTool(USE_PROPERTY_ACCESS_INSPECTION, element)
return (tool?.fqNameList ?: default.map(::FqNameUnsafe)).toSet() return (tool?.fqNameList ?: default.map(::FqNameUnsafe)).toSet()
} }
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.refactoring.introduce.introduceVariable; package org.jetbrains.kotlin.idea.refactoring.introduce.introduceVariable;
@@ -303,7 +292,7 @@ public class KotlinInplaceVariableIntroducer<D extends KtCallableDeclaration> ex
TemplateManagerImpl.getTemplateState(InjectedLanguageUtil.getTopLevelEditor(myEditor)); TemplateManagerImpl.getTemplateState(InjectedLanguageUtil.getTopLevelEditor(myEditor));
if (templateState != null) { if (templateState != null) {
myEditor.putUserData(INTRODUCE_RESTART, true); myEditor.putUserData(INTRODUCE_RESTART, true);
templateState.cancelTemplate(); templateState.gotoEnd(true);
} }
} }
}.execute(); }.execute();
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.ui package org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.ui
@@ -176,27 +165,25 @@ class KotlinAwareMoveFilesOrDirectoriesDialog(
} }
project.executeCommand(RefactoringBundle.message("move.title"), null) { project.executeCommand(RefactoringBundle.message("move.title"), null) {
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL) { runWriteAction {
runWriteAction { val directoryName = targetDirectoryField.childComponent.text.replace(File.separatorChar, '/')
val directoryName = targetDirectoryField.childComponent.text.replace(File.separatorChar, '/') try {
try { targetDirectory = DirectoryUtil.mkdirs(PsiManager.getInstance(project), directoryName)
targetDirectory = DirectoryUtil.mkdirs(PsiManager.getInstance(project), directoryName)
}
catch (e: IncorrectOperationException) {
// ignore
}
} }
catch (e: IncorrectOperationException) {
if (targetDirectory == null) { // ignore
CommonRefactoringUtil.showErrorMessage(title,
RefactoringBundle.message("cannot.create.directory"),
helpID,
project)
return@allowStartingDumbModeInside
} }
callback(this@KotlinAwareMoveFilesOrDirectoriesDialog)
} }
if (targetDirectory == null) {
CommonRefactoringUtil.showErrorMessage(title,
RefactoringBundle.message("cannot.create.directory"),
helpID,
project)
return@executeCommand
}
callback(this@KotlinAwareMoveFilesOrDirectoriesDialog)
} }
} }
} }
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.inspections package org.jetbrains.kotlin.idea.inspections
@@ -39,7 +28,7 @@ class KotlinCleanupInspectionTest(): KotlinLightCodeInsightFixtureTestCase() {
val managerEx = InspectionManager.getInstance(project) val managerEx = InspectionManager.getInstance(project)
val globalContext = managerEx.createNewGlobalContext(false) as GlobalInspectionContextBase val globalContext = managerEx.createNewGlobalContext(false) as GlobalInspectionContextBase
val analysisScope = AnalysisScope(myFixture.file) val analysisScope = AnalysisScope(myFixture.file)
val profile = InspectionProjectProfileManager.getInstance(project).inspectionProfile val profile = InspectionProjectProfileManager.getInstance(project).currentProfile
globalContext.codeCleanup(analysisScope, profile, "Cleanup", null, true) globalContext.codeCleanup(analysisScope, profile, "Cleanup", null, true)
myFixture.checkResultByFile(result) myFixture.checkResultByFile(result)
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.intentions.declarations; package org.jetbrains.kotlin.idea.intentions.declarations;
@@ -30,7 +19,8 @@ import java.io.File;
public abstract class AbstractJoinLinesTest extends LightCodeInsightTestCase { public abstract class AbstractJoinLinesTest extends LightCodeInsightTestCase {
public void doTest(@NotNull String path) throws Exception { public void doTest(@NotNull String path) throws Exception {
configureByFile(path); configureByFile(path);
new JoinLinesHandler(null).execute(getEditor(), getCurrentEditorDataContext()); new JoinLinesHandler(null).execute(getEditor(), getEditor().getCaretModel().getCurrentCaret(),
getCurrentEditorDataContext());
String afterFilePath = path + ".after"; String afterFilePath = path + ".after";
try { try {
checkResultByFile(afterFilePath); checkResultByFile(afterFilePath);
@@ -1,22 +1,11 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.kdoc; package org.jetbrains.kotlin.idea.kdoc;
import com.intellij.codeInsight.TargetElementUtilBase; import com.intellij.codeInsight.TargetElementUtil;
import com.intellij.ide.startup.impl.StartupManagerImpl; import com.intellij.ide.startup.impl.StartupManagerImpl;
import com.intellij.openapi.startup.StartupManager; import com.intellij.openapi.startup.StartupManager;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
@@ -52,9 +41,9 @@ public class KdocRenameTest extends LightCodeInsightTestCase {
private void doTest(String newName) throws Exception { private void doTest(String newName) throws Exception {
configureByFile(getTestName(false) + ".kt"); configureByFile(getTestName(false) + ".kt");
PsiElement element = TargetElementUtilBase PsiElement element = TargetElementUtil
.findTargetElement(myEditor, .findTargetElement(myEditor,
TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED); TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
assertNotNull(element); assertNotNull(element);
new RenameProcessor(getProject(), element, newName, true, true).run(); new RenameProcessor(getProject(), element, newName, true, true).run();
checkResultByFile(getTestName(false) + ".kt.after"); checkResultByFile(getTestName(false) + ".kt.after");
@@ -1,22 +1,10 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.parameterInfo; package org.jetbrains.kotlin.idea.parameterInfo;
import com.intellij.codeInsight.hint.HintUtil;
import com.intellij.lang.parameterInfo.ParameterInfoUIContext; import com.intellij.lang.parameterInfo.ParameterInfoUIContext;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
@@ -54,7 +42,7 @@ public class MockParameterInfoUIContext implements ParameterInfoUIContext {
String resultText = "Text: (" + highlightedText + "), " + String resultText = "Text: (" + highlightedText + "), " +
"Disabled: " + isDisabled + ", " + "Disabled: " + isDisabled + ", " +
"Strikeout: " + strikeout + ", " + "Strikeout: " + strikeout + ", " +
"Green: " + background.equals(KotlinParameterInfoWithCallHandlerBase.GREEN_BACKGROUND); "Green: " + KotlinParameterInfoWithCallHandlerBase.GREEN_BACKGROUND.equals(background);
result.add(resultText); result.add(resultText);
// return value not used, just return something // return value not used, just return something
@@ -82,7 +70,7 @@ public class MockParameterInfoUIContext implements ParameterInfoUIContext {
@Override @Override
public Color getDefaultParameterColor() { public Color getDefaultParameterColor() {
return HintUtil.INFORMATION_COLOR; return null;
} }
public String getResultText() { public String getResultText() {
@@ -1,35 +1,25 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.refactoring package org.jetbrains.kotlin.idea.refactoring
import com.intellij.codeInsight.TargetElementUtilBase import com.intellij.codeInsight.TargetElementUtil
import com.intellij.codeInsight.template.TemplateManager
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.actionSystem.impl.SimpleDataContext
import com.intellij.openapi.command.WriteCommandAction
import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler
import com.intellij.testFramework.LightPlatformCodeInsightTestCase import com.intellij.testFramework.LightPlatformCodeInsightTestCase
import com.intellij.testFramework.fixtures.CodeInsightTestUtil import com.intellij.testFramework.fixtures.CodeInsightTestUtil
import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler
import kotlin.test.*
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
import com.intellij.openapi.actionSystem.impl.SimpleDataContext
import com.intellij.openapi.actionSystem.CommonDataKeys
import org.jetbrains.kotlin.idea.refactoring.rename.RenameKotlinImplicitLambdaParameter import org.jetbrains.kotlin.idea.refactoring.rename.RenameKotlinImplicitLambdaParameter
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
import com.intellij.codeInsight.template.TemplateManager
import com.intellij.openapi.command.WriteCommandAction
import org.jetbrains.kotlin.idea.refactoring.rename.findElementForRename import org.jetbrains.kotlin.idea.refactoring.rename.findElementForRename
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
import org.jetbrains.kotlin.psi.KtNameReferenceExpression import org.jetbrains.kotlin.psi.KtNameReferenceExpression
import kotlin.test.assertFalse
import kotlin.test.assertTrue
class InplaceRenameTest : LightPlatformCodeInsightTestCase() { class InplaceRenameTest : LightPlatformCodeInsightTestCase() {
override fun isRunInWriteAction(): Boolean = false override fun isRunInWriteAction(): Boolean = false
@@ -143,9 +133,9 @@ class InplaceRenameTest : LightPlatformCodeInsightTestCase() {
private fun doTestInplaceRename(newName: String?) { private fun doTestInplaceRename(newName: String?) {
configureByFile(getTestName(false) + ".kt") configureByFile(getTestName(false) + ".kt")
val element = TargetElementUtilBase.findTargetElement( val element = TargetElementUtil.findTargetElement(
LightPlatformCodeInsightTestCase.myEditor, LightPlatformCodeInsightTestCase.myEditor,
TargetElementUtilBase.ELEMENT_NAME_ACCEPTED or TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED TargetElementUtil.ELEMENT_NAME_ACCEPTED or TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED
) )
assertNotNull(element) assertNotNull(element)
@@ -1,22 +1,11 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.refactoring.rename; package org.jetbrains.kotlin.idea.refactoring.rename;
import com.intellij.codeInsight.TargetElementUtilBase; import com.intellij.codeInsight.TargetElementUtil;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import com.intellij.refactoring.rename.RenameProcessor; import com.intellij.refactoring.rename.RenameProcessor;
import com.intellij.testFramework.LightCodeInsightTestCase; import com.intellij.testFramework.LightCodeInsightTestCase;
@@ -61,9 +50,9 @@ public class SimpleNameReferenceRenameTest extends LightCodeInsightTestCase {
private void doTest(String newName) throws Exception { private void doTest(String newName) throws Exception {
configureByFile(getTestName(true) + ".kt"); configureByFile(getTestName(true) + ".kt");
PsiElement element = TargetElementUtilBase PsiElement element = TargetElementUtil
.findTargetElement(myEditor, .findTargetElement(myEditor,
TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED); TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED);
assertNotNull(element); assertNotNull(element);
new RenameProcessor(getProject(), element, newName, true, true).run(); new RenameProcessor(getProject(), element, newName, true, true).run();
checkResultByFile(getTestName(true) + ".kt.after"); checkResultByFile(getTestName(true) + ".kt.after");
@@ -1,22 +1,11 @@
/* /*
* Copyright 2010-2015 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.refactoring.safeDelete; package org.jetbrains.kotlin.idea.refactoring.safeDelete;
import com.intellij.codeInsight.TargetElementUtilBase; import com.intellij.codeInsight.TargetElementUtil;
import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiClass; import com.intellij.psi.PsiClass;
@@ -130,8 +119,8 @@ public abstract class AbstractSafeDeleteTest extends KotlinLightCodeInsightFixtu
PsiElement elementAtCaret = null; PsiElement elementAtCaret = null;
for (Editor editor : editors) { for (Editor editor : editors) {
elementAtCaret = TargetElementUtilBase.findTargetElement( elementAtCaret = TargetElementUtil.findTargetElement(
editor, TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtilBase.ELEMENT_NAME_ACCEPTED editor, TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED | TargetElementUtil.ELEMENT_NAME_ACCEPTED
); );
if (elementAtCaret != null) break; if (elementAtCaret != null) break;
} }
@@ -1,17 +1,6 @@
/* /*
* Copyright 2010-2016 JetBrains s.r.o. * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* * that can be found in the license/LICENSE.txt file.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.stubs package org.jetbrains.kotlin.idea.stubs
@@ -123,8 +112,7 @@ fun Module.createFacet(
useProjectSettings: Boolean = true, useProjectSettings: Boolean = true,
implementedModuleName: String? = null implementedModuleName: String? = null
) { ) {
val accessToken = WriteAction.start() WriteAction.run<Throwable> {
try {
val modelsProvider = IdeModifiableModelsProviderImpl(project) val modelsProvider = IdeModifiableModelsProviderImpl(project)
with (getOrCreateFacet(modelsProvider, useProjectSettings).configuration.settings) { with (getOrCreateFacet(modelsProvider, useProjectSettings).configuration.settings) {
initializeIfNeeded( initializeIfNeeded(
@@ -138,7 +126,4 @@ fun Module.createFacet(
} }
modelsProvider.commit() modelsProvider.commit()
} }
finally {
accessToken.finish()
}
} }