diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 62b20f814..cf095f959 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -6,10 +6,24 @@ + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/.idea/gradle.xml b/.idea/gradle.xml index f71853552..5fc0cc04d 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,10 +1,14 @@ + - \ No newline at end of file + diff --git a/.idea/misc.xml b/.idea/misc.xml index a02a94c23..a746f87d8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + - \ No newline at end of file + diff --git a/.idea/modules.xml b/.idea/modules.xml index bab40e6d7..fde4a8d47 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -9,6 +9,19 @@ + + + + + + + + + + + + + @@ -16,4 +29,4 @@ - \ No newline at end of file + diff --git a/build.gradle b/build.gradle index 37aeb1ebb..e290cef24 100644 --- a/build.gradle +++ b/build.gradle @@ -19,11 +19,12 @@ plugins { id 'de.undercouch.download' version '3.3.0' - id 'org.jetbrains.intellij' version '0.4.9' - id "org.jetbrains.grammarkit" version "2020.3.2" + id 'org.jetbrains.intellij' version '1.10.1' + id "org.jetbrains.grammarkit" version "2022.3" id "com.asarkar.gradle.build-time-tracker" version "2.0.4" } +import org.jetbrains.intellij.DependenciesUtils import org.jetbrains.grammarkit.tasks.* if (!project.hasProperty('targetVersion')) { @@ -97,25 +98,27 @@ allprojects { type = 'IU' version = "IU-${ideaVersion}" pluginName = "intellij-haxe-${ideaVersion}" - ideaDependencyCachePath "${ideaBaseDir}" + ideaDependencyCachePath = "${ideaBaseDir}" // Specify the sandbox so that Gradle doesn't try to make it relative to each sub-project. - sandboxDirectory "${project.rootDir}/build/idea-sandbox" + sandboxDir = "${project.rootDir}/build/idea-sandbox" // Don't let gradle fill in since/until, we fill them via patchCustomTags using the properties file. - updateSinceUntilBuild false + updateSinceUntilBuild = false // Include the "java" built-in plugin for 2019.2 and later builds. if (requiresJavaPlugin) { System.println("Including java plugin for version >= 2019.2") - plugins += 'java' // 2019.2 + only. Causes build errors on earlier versions. + plugins.add('java') // 2019.2 + only. Causes build errors on earlier versions. } // Flex support was unbundled for version 2020.2. if (requiresFlexPlugin) { System.println("Including Flex plugin for version >= 2020.2") String versionWithMajor = ideaVersion.substring(0, 6); switch (versionWithMajor) { - case "2020.2" : plugins += 'com.intellij.flex:202.6397.59'; break - case "2020.3" : plugins += 'com.intellij.flex:203.5981.155'; break - case "2021.1" : plugins += 'com.intellij.flex:211.6693.111'; break + case "2020.2" : plugins.add('com.intellij.flex:202.6397.59'); break + case "2020.3" : plugins.add('com.intellij.flex:203.5981.155'); break + case "2021.1" : plugins.add('com.intellij.flex:211.6693.111'); break + case "2022.3" : plugins.add('com.intellij.flex:223.7571.4'); break + case "2022.3.3" : plugins.add('com.intellij.flex:223.8617.9'); break } } @@ -152,14 +155,15 @@ idea.module { generatedSourceDirs += file('gen') } dependencies { + implementation 'ch.qos.reload4j:reload4j:1.2.25' - compile files('gen') { + implementation files('gen') { builtBy 'generateSources' } - compile project(':common') - compile project(':jps-plugin') - compile project(':hxcpp-debugger-protocol') + implementation project(':common') + implementation project(':jps-plugin') + implementation project(':hxcpp-debugger-protocol') String flexPluginDir = "${ideaTargetDir}" if (requiresFlexPlugin) { @@ -181,7 +185,7 @@ dependencies { testCompileOnly files(flexShared) testCompileOnly files(flexSupport) - testCompileOnly files("${ideaTargetDir}/lib/ openapi.jar") + testCompileOnly files("${ideaTargetDir}/lib/openapi.jar") testCompileOnly files("${ideaTargetDir}/lib/util.jar") } @@ -189,7 +193,7 @@ dependencies { afterEvaluate { dependencies { if (requiresJavaPlugin) { - compile intellijPlugin('java') { include("${ideaTargetDir}/plugins/java/lib/jps-builders.jar") } + implementation DependenciesUtils.intellijPlugin(project, 'java') { include("${ideaTargetDir}/plugins/java/lib/jps-builders.jar") } } } } @@ -201,7 +205,7 @@ runIde { Properties props = System.getProperties() for (String pname : props.propertyNames()) { for (String prefix : prefixesToInclude) { - if (pname.startsWith(prefix)) { + if (pname.startsWith(prefix) && pname != 'idea.home.path') { String pval = props.get(pname) if (pval.contains(" ") && !pval.startsWith("'")) { // Strings containing spaces require quoting. @@ -241,10 +245,14 @@ processResources { } patchPluginXml { + def props = findSdkValuesAndProperties(file("${ideaTargetDir}/build.txt")) + sinceBuild = props.getProperty("plugin.installable.since") + untilBuild = props.getProperty("plugin.installable.until") + pluginXmlFiles = [ - 'src/META-INF/plugin.xml', - 'src/META-INF/debugger-support.xml', - 'src/META-INF/flex-debugger-support.xml' + file('src/META-INF/plugin.xml'), + file('src/META-INF/debugger-support.xml'), + file('src/META-INF/flex-debugger-support.xml') ] } @@ -320,13 +328,13 @@ task cleanGenerated(type: Delete, group: 'generate') { task generateHaxeParser(dependsOn: ':setupTools', type: JavaExec, group: 'generate') { workingDir = "${toolDir}" main '-jar' - args = ['grammar-kit.jar', "${generatedSrcDir}", "${grammarHaxe}"] + args = ['--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', '--add-opens=java.base/java.util=ALL-UNNAMED', '--add-opens=java.base/java.lang=ALL-UNNAMED', 'grammar-kit.jar', "${generatedSrcDir}", "${grammarHaxe}"] inputs.file "${grammarHaxe}" outputs.upToDateWhen { file("${generatedSrcDir}/com/intellij/plugins/haxe/lang").exists() } } -task generateHaxeLexer(group: 'generate', dependsOn:'generateHaxeParser', type: GenerateLexer) { +task generateHaxeLexer(group: 'generate', dependsOn:'generateHaxeParser', type: GenerateLexerTask) { source = "${haxeFlex}" targetDir = "${generatedSrcDir}/com/intellij/plugins/haxe/lang/lexer" targetClass = "com.intellij.plugins.haxe.lang.lexer._HaxeLexer" @@ -335,7 +343,7 @@ task generateHaxeLexer(group: 'generate', dependsOn:'generateHaxeParser', type: outputs.upToDateWhen { file("${generatedSrcDir}/com/intellij/plugins/haxe/lang/lexer/_HaxeLexer.java").exists() } } -task generateHxmlLexer(group: 'generate', dependsOn:'generateHxmlParser', type: GenerateLexer) { +task generateHxmlLexer(group: 'generate', dependsOn:'generateHxmlParser', type: GenerateLexerTask) { source = "${hxmlFlex}" targetDir = "${generatedSrcDir}/com/intellij/plugins/haxe/hxml/lexer" targetClass = "com.intellij.plugins.haxe.hxml.lexer.HXMLLexer" @@ -344,7 +352,7 @@ task generateHxmlLexer(group: 'generate', dependsOn:'generateHxmlParser', type: outputs.upToDateWhen { file("${generatedSrcDir}/com/intellij/plugins/haxe/hxml/lexer/HXMLLexer.java").exists() } } -task generateMetadataLexer(group: 'generate', dependsOn:'generateMetadataParser', type: GenerateLexer) { +task generateMetadataLexer(group: 'generate', dependsOn:'generateMetadataParser', type: GenerateLexerTask) { source = "${metadataFlex}" targetDir = "${generatedSrcDir}/com/intellij/plugins/haxe/metadata/lexer" targetClass = "com.intellij.plugins.haxe.metadata.lexer.MetadataLexer" @@ -359,7 +367,7 @@ task generateMetadataLexer(group: 'generate', dependsOn:'generateMetadataParser' task generateHxmlParser(dependsOn: ':setupTools', type: JavaExec, group: 'generate') { workingDir = "${toolDir}" main '-jar' - args = ['grammar-kit.jar', "${generatedSrcDir}", "${grammarHxml}"] + args = ['--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', '--add-opens=java.base/java.util=ALL-UNNAMED', '--add-opens=java.base/java.lang=ALL-UNNAMED', 'grammar-kit.jar', "${generatedSrcDir}", "${grammarHxml}"] inputs.file "${grammarHxml}" outputs.upToDateWhen { file("${generatedSrcDir}/com/intellij/plugins/haxe/hxml").exists() } @@ -368,7 +376,7 @@ task generateHxmlParser(dependsOn: ':setupTools', type: JavaExec, group: 'genera task generateMetadataParser(dependsOn: ':setupTools', type: JavaExec, group: 'generate') { workingDir = "${toolDir}" main '-jar' - args = ['grammar-kit.jar', "${generatedSrcDir}", "${grammarMetadata}"] + args = ['--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', '--add-opens=java.base/java.util=ALL-UNNAMED', '--add-opens=java.base/java.lang=ALL-UNNAMED', 'grammar-kit.jar', "${generatedSrcDir}", "${grammarMetadata}"] inputs.file "${grammarMetadata}" outputs.upToDateWhen { file("${generatedSrcDir}/com/intellij/plugins/haxe/metadata").exists() } @@ -430,6 +438,7 @@ Properties findSdkValuesAndProperties(File buildFile) { // Lookup table for properties files. Add new versions here. def propertiesFile = "" switch (Integer.valueOf(codeLine, 10)) { + case 223: propertiesFile = "idea_v22.properties"; break case 211: propertiesFile = "idea_v21.properties"; break case 203: propertiesFile = "idea_v20.3.properties"; break case 202: propertiesFile = "idea_v20.properties"; break diff --git a/gradle.properties b/gradle.properties index 20f253b94..01a4b64ef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,15 +25,14 @@ org.gradle.daemon.idletimeout=1 # Avoid out of memmory on compile org.gradle.jvmargs=-Xms512m -Xmx512m -defaultIdeaVersion=2020.2.1 - +latest2022Version=2022.3.3 latest2020Version=2020.2.1 latest2019Version=2019.3.5 latest2018Version=2018.3.6 latest2017Version=2017.3.5 latest2016Version=2016.3.8 -defaultIdeaVersion=2021.1 +defaultIdeaVersion=2022.3 jarNametruncateMinor=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index be52383ef..e750102e0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/intellij-haxe.iml b/intellij-haxe.iml index 857a066b2..3c281b801 100644 --- a/intellij-haxe.iml +++ b/intellij-haxe.iml @@ -5,7 +5,6 @@ - diff --git a/jps-plugin/build.gradle b/jps-plugin/build.gradle index bdec07309..26331070d 100644 --- a/jps-plugin/build.gradle +++ b/jps-plugin/build.gradle @@ -25,7 +25,7 @@ buildSearchableOptions.enabled = false sourceSets.main.java.srcDir "src" dependencies { - compile project(':common') + implementation project(':common') } processResources { diff --git a/properties/idea_v22.properties b/properties/idea_v22.properties new file mode 100644 index 000000000..f4413ec8f --- /dev/null +++ b/properties/idea_v22.properties @@ -0,0 +1,33 @@ +# +# Copyright 2023 rosingrind +# + +# +# Properties for building against IDEA version 2022. +# + +# Target version of IDEA that we typically build for. +# This is appended to the name of the intellij-haxe-XXX jar file. +idea.version=2022 + +# Human-readable versions of IDEA that this build is compatible with. +plugin.compatibility.description=IDEA 2022.x + +# ################################################### +# IDEA build IDs that are compatible with this plugin. +# ################################################### +# +# IDEA builds prior to this one will not install this plugin. +# +plugin.installable.since=223 +# +# IDEA builds after this one will not install this plugin. +# +plugin.installable.until=223.* + + +# ################################################### +# Java compatibility. +# ################################################### +plugin.java.source.compatibility=17 +plugin.java.target.compatibility=17 diff --git a/src/META-INF/plugin.xml b/src/META-INF/plugin.xml index 22eda0a38..5173e076b 100644 --- a/src/META-INF/plugin.xml +++ b/src/META-INF/plugin.xml @@ -9,7 +9,7 @@ ~ 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 + ~ https://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, @@ -36,7 +36,7 @@ - + @@ -48,11 +48,11 @@ - + - + @@ -80,7 +80,7 @@ com.intellij.modules.ultimate - 999 Unreleased Post 1.3.1@plugin.dev.version@ for @plugin.compatibility.description@ + DEV @plugin.dev.version@ for @plugin.compatibility.description@ Unreleased changes

@@ -481,7 +481,7 @@
  • Use implicit classpath entries during classpath operations. (e.g. haxe/std)
  • Remove "statics of XXX" from the debugger variable window pane. (The Haxe debugger - at http://github.com/tivo/hxcpp-debugger has been updated to show statics + at https://github.com/tivo/hxcpp-debugger has been updated to show statics as part of the object tree for objects in view.
  • Remove error embellishments before displaying errors in the debugger variable pane.
  • diff --git a/src/common/com/intellij/plugins/haxe/compilation/HaxeCompiler.java b/src/common/com/intellij/plugins/haxe/compilation/HaxeCompiler.java index b5043650e..84e5bd0ed 100644 --- a/src/common/com/intellij/plugins/haxe/compilation/HaxeCompiler.java +++ b/src/common/com/intellij/plugins/haxe/compilation/HaxeCompiler.java @@ -25,7 +25,6 @@ import com.intellij.execution.configurations.RunConfigurationModule; import com.intellij.execution.executors.DefaultDebugExecutor; import com.intellij.openapi.compiler.*; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleType; import com.intellij.openapi.module.ModuleUtil; @@ -48,6 +47,7 @@ import com.intellij.plugins.haxe.runner.debugger.HaxeDebugRunner; import com.intellij.plugins.haxe.tests.runner.HaxeTestsConfiguration; import com.intellij.plugins.haxe.util.HaxeCommonCompilerUtil; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeSdkUtilBase; import com.intellij.util.PathUtil; import org.jetbrains.annotations.NotNull; @@ -58,7 +58,7 @@ import java.util.List; public class HaxeCompiler implements FileProcessingCompiler { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.compilation.HaxeCompiler"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.compilation.HaxeCompiler"); /* // flag to indicate whether a module needs to be built @@ -187,7 +187,7 @@ private static boolean compileModule(final CompileContext context, } public static HaxeCommonCompilerUtil.CompilationContext createDummyCompilationContext(final Module module) { - DummyCompileContext context = new DummyCompileContext() { + DummyCompileContext context = new DummyCompileContext(module.getProject()) { @Override public Project getProject() { return module.getProject(); diff --git a/src/common/com/intellij/plugins/haxe/config/sdk/HaxeSdkUtil.java b/src/common/com/intellij/plugins/haxe/config/sdk/HaxeSdkUtil.java index 383a67508..6b2b463e5 100644 --- a/src/common/com/intellij/plugins/haxe/config/sdk/HaxeSdkUtil.java +++ b/src/common/com/intellij/plugins/haxe/config/sdk/HaxeSdkUtil.java @@ -18,13 +18,13 @@ */ package com.intellij.plugins.haxe.config.sdk; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.projectRoots.SdkModificator; import com.intellij.openapi.roots.JavadocOrderRootType; import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeFileUtil; import com.intellij.plugins.haxe.util.HaxeProcessUtil; import com.intellij.plugins.haxe.util.HaxeSdkUtilBase; @@ -39,7 +39,7 @@ import java.util.regex.Pattern; public class HaxeSdkUtil extends HaxeSdkUtilBase { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.config.sdk.HaxeSdkUtil"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.config.sdk.HaxeSdkUtil"); private static final Pattern VERSION_MATCHER = Pattern.compile("(\\d+(\\.\\d+)+)"); @Nullable diff --git a/src/common/com/intellij/plugins/haxe/editor/smartEnter/HaxeSmartEnterProcessor.java b/src/common/com/intellij/plugins/haxe/editor/smartEnter/HaxeSmartEnterProcessor.java index 10b8e63a1..57002543b 100644 --- a/src/common/com/intellij/plugins/haxe/editor/smartEnter/HaxeSmartEnterProcessor.java +++ b/src/common/com/intellij/plugins/haxe/editor/smartEnter/HaxeSmartEnterProcessor.java @@ -19,10 +19,10 @@ package com.intellij.plugins.haxe.editor.smartEnter; import com.intellij.codeInsight.editorActions.smartEnter.SmartEnterProcessor; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.plugins.haxe.lang.psi.HaxeFile; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.util.IncorrectOperationException; @@ -35,7 +35,7 @@ * Created by as3boyan on 06.10.14. */ public class HaxeSmartEnterProcessor extends SmartEnterProcessor { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.editor.smartEnter.HaxeSmartEnterProcessor"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.editor.smartEnter.HaxeSmartEnterProcessor"); private static final Fixer[] ourFixers; diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxeClasspath.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxeClasspath.java index a87945a8d..5a918de27 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxeClasspath.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxeClasspath.java @@ -18,7 +18,7 @@ */ package com.intellij.plugins.haxe.haxelib; -import com.intellij.openapi.diagnostic.Logger; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -30,7 +30,7 @@ */ public class HaxeClasspath { - static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeClasspath"); + static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeClasspath"); /** * An immutable empty classpath that can be re-used. diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxeLibraryList.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxeLibraryList.java index 8d46165d8..befbdf1bb 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxeLibraryList.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxeLibraryList.java @@ -18,10 +18,10 @@ */ package com.intellij.plugins.haxe.haxelib; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.ModuleRootManager; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -33,7 +33,7 @@ */ public class HaxeLibraryList { - static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeLibraryList"); + static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeLibraryList"); /** * Minimum size to use for new lists. diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibClasspathUtils.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibClasspathUtils.java index 143f493eb..98c9bc283 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibClasspathUtils.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibClasspathUtils.java @@ -21,7 +21,6 @@ import com.google.common.base.Joiner; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; @@ -40,6 +39,7 @@ import com.intellij.plugins.haxe.hxml.psi.HXMLClasspath; import com.intellij.plugins.haxe.hxml.psi.HXMLPsiImplUtil; import com.intellij.plugins.haxe.ide.module.HaxeModuleSettings; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeSdkUtilBase; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; @@ -61,7 +61,7 @@ */ public class HaxelibClasspathUtils { - static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibClasspathUtils"); + static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibClasspathUtils"); static { LOG.setLevel(Level.DEBUG); } diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibItem.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibItem.java index 387345ef0..a6f28fb2e 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibItem.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibItem.java @@ -18,7 +18,7 @@ */ package com.intellij.plugins.haxe.haxelib; -import com.intellij.openapi.diagnostic.Logger; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -33,7 +33,7 @@ */ public class HaxelibItem extends HaxeClasspathEntry { - Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibItem"); + HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibItem"); public static final List EMPTY_LIST = new ArrayList(0); @@ -47,4 +47,4 @@ public HaxelibItem(@NotNull String classpathUrl) { // XXX: Can we just steal the last part of the url path as the name? myName = HaxelibNameUtil.parseHaxelibNameFromPath(classpathUrl); } -} \ No newline at end of file +} diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCache.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCache.java index bf22dbef4..c2df1e3d4 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCache.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCache.java @@ -18,8 +18,8 @@ */ package com.intellij.plugins.haxe.haxelib; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeDebugTimeLog; import org.apache.log4j.Level; import org.jetbrains.annotations.NotNull; @@ -38,7 +38,7 @@ */ public final class HaxelibLibraryCache { - static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeLibraryManager"); + static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeLibraryManager"); { LOG.setLevel(Level.DEBUG); } diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCacheManager.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCacheManager.java index cad93aef0..42c2e612d 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCacheManager.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibLibraryCacheManager.java @@ -17,9 +17,9 @@ */ package com.intellij.plugins.haxe.haxelib; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.apache.log4j.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -42,7 +42,7 @@ */ public class HaxelibLibraryCacheManager { - static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeLibraryManager"); + static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxeLibraryManager"); static { LOG.setLevel(Level.DEBUG); } diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibModuleManager.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibModuleManager.java index c687dc39b..795fbdf4e 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibModuleManager.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibModuleManager.java @@ -19,9 +19,9 @@ import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.apache.log4j.Level; import org.jetbrains.annotations.NotNull; @@ -30,7 +30,7 @@ */ public class HaxelibModuleManager implements com.intellij.openapi.module.ModuleComponent { - static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibManager"); + static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibManager"); static { LOG.setLevel(Level.DEBUG); } diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibProjectUpdater.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibProjectUpdater.java index 9241a511b..b24223029 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibProjectUpdater.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibProjectUpdater.java @@ -21,7 +21,6 @@ import com.intellij.ide.highlighter.XmlFileType; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleUtil; import com.intellij.openapi.progress.PerformInBackgroundOption; @@ -46,10 +45,7 @@ import com.intellij.plugins.haxe.ide.module.HaxeModuleSettings; import com.intellij.plugins.haxe.ide.module.HaxeModuleType; import com.intellij.plugins.haxe.nmml.NMMLFileType; -import com.intellij.plugins.haxe.util.HaxeDebugTimeLog; -import com.intellij.plugins.haxe.util.HaxeDebugUtil; -import com.intellij.plugins.haxe.util.HaxeFileUtil; -import com.intellij.plugins.haxe.util.Lambda; +import com.intellij.plugins.haxe.util.*; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.psi.xml.XmlFile; @@ -82,7 +78,7 @@ */ public class HaxelibProjectUpdater { - static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibManager"); + static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.haxelib.HaxelibManager"); { LOG.setLevel(Level.DEBUG); @@ -425,7 +421,7 @@ private void assertEntriesAreManaged(HaxeLibraryList list, final String msg) { list.iterate(new HaxeLibraryList.Lambda() { @Override public boolean processEntry(HaxeLibraryReference entry) { - LOG.assertTrue(entry.isManaged(), msg); + LOG.assertLog(entry.isManaged(), msg); return true; } }); @@ -943,7 +939,7 @@ private void updateProject(@NotNull final ProjectTracker tracker, toRemove.iterate(new HaxeLibraryList.Lambda() { @Override public boolean processEntry(HaxeLibraryReference entry) { - LOG.assertTrue(entry.isManaged(), "Attempting to automatically remove a library that was not marked as managed."); + LOG.assertLog(entry.isManaged(), "Attempting to automatically remove a library that was not marked as managed."); return true; } }); @@ -952,7 +948,7 @@ public boolean processEntry(HaxeLibraryReference entry) { toAdd.iterate(new HaxeLibraryList.Lambda() { @Override public boolean processEntry(HaxeLibraryReference entry) { - LOG.assertTrue(entry.isManaged(), "Attempting to automatically add a library that is not marked as managed."); + LOG.assertLog(entry.isManaged(), "Attempting to automatically add a library that is not marked as managed."); return true; } }); @@ -975,7 +971,7 @@ public void run() { public boolean processEntry(HaxeLibraryReference entry) { Library library = projectModifiableModel.getLibraryByName( entry.getName()); - LOG.assertTrue(null != library, "Library " + entry.getName() + " was not found in the project and will not be removed."); + LOG.assertLog(null != library, "Library " + entry.getName() + " was not found in the project and will not be removed."); if (null != library) { projectModifiableModel.removeLibrary(library); timeLog.stamp("Removed library " + entry.getName()); @@ -1298,7 +1294,7 @@ public int removeReference() { refs = --myReferenceCount; } // XXX: Maybe we don't need an assertion for this. - LOG.assertTrue(refs >= 0); + LOG.assertLog(refs >= 0, "Assertion failed"); return refs; } @@ -1495,15 +1491,15 @@ public ProjectTracker getUpdatingProject() { */ private void queueNextProject() { synchronized (updateSyncToken) { - LOG.assertTrue(null == updatingProject); + LOG.assertLog(null == updatingProject, "Assertion failed"); // Get the next project from the queue. We're done if there's // nothing left. updatingProject = queue.poll(); // null if empty. if (updatingProject == null) return; - LOG.assertTrue(updatingProject.isDirty()); - LOG.assertTrue(!updatingProject.isUpdating()); + LOG.assertLog(updatingProject.isDirty(), "Assertion failed"); + LOG.assertLog(!updatingProject.isUpdating(), "Assertion failed"); updatingProject.setUpdating(true); } @@ -1578,8 +1574,8 @@ private void doUpdateWork() { */ private void finishUpdate(ProjectTracker up) { synchronized (updateSyncToken) { - LOG.assertTrue(null != updatingProject); - LOG.assertTrue(up.equals(updatingProject)); + LOG.assertLog(null != updatingProject, "Assertion failed"); + LOG.assertLog(up.equals(updatingProject), "Assertion failed"); updatingProject.setUpdating(false); updatingProject.setDirty(false); @@ -1589,4 +1585,4 @@ private void finishUpdate(ProjectTracker up) { } } // end class projectUpdateQueue -} \ No newline at end of file +} diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibSdkUtils.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibSdkUtils.java index 4fd68dac9..70e9530e1 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibSdkUtils.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibSdkUtils.java @@ -18,7 +18,6 @@ */ package com.intellij.plugins.haxe.haxelib; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; @@ -26,6 +25,7 @@ import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.plugins.haxe.config.sdk.HaxeSdkType; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.jetbrains.annotations.NotNull; /** @@ -35,7 +35,7 @@ public class HaxelibSdkUtils { // TODO: Move these routines into HaxeSdkUtil and kill this class. - private static final Logger LOG = Logger.getInstance("#com.intellij.plugin.haxe.haxelib.HaxelibSdkUtils"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugin.haxe.haxelib.HaxelibSdkUtils"); /** * An SDK that can be used/returned when project lookup fails. diff --git a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibUtil.java b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibUtil.java index 722caea60..cead7d946 100644 --- a/src/common/com/intellij/plugins/haxe/haxelib/HaxelibUtil.java +++ b/src/common/com/intellij/plugins/haxe/haxelib/HaxelibUtil.java @@ -20,8 +20,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.*; -import com.intellij.openapi.roots.impl.ModuleRootManagerImpl; -import com.intellij.openapi.roots.impl.RootModelBase; import com.intellij.openapi.roots.impl.libraries.ProjectLibraryTable; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.roots.libraries.LibraryTable; @@ -214,11 +212,8 @@ public static HaxeLibraryList getModuleLibraries(@NotNull final Module module) { if (null == rootManager) return new HaxeLibraryList(module); final HaxeLibraryList moduleLibs = new HaxeLibraryList(module); - if (rootManager instanceof ModuleRootManagerImpl) { - ModuleRootManagerImpl rootManagerImpl = (ModuleRootManagerImpl)rootManager; - - RootModelBase modelBase = rootManagerImpl.getRootModel(); // Can't fail. - OrderEnumerator entries = modelBase.orderEntries(); // Can't fail. + if (rootManager instanceof ModuleRootModel) { + OrderEnumerator entries = rootManager.orderEntries(); // Can't fail. entries.forEachLibrary(new Processor() { @Override diff --git a/src/common/com/intellij/plugins/haxe/ide/HXMLHaxelibCompletionContributor.java b/src/common/com/intellij/plugins/haxe/ide/HXMLHaxelibCompletionContributor.java index afa1386f1..b2410398f 100644 --- a/src/common/com/intellij/plugins/haxe/ide/HXMLHaxelibCompletionContributor.java +++ b/src/common/com/intellij/plugins/haxe/ide/HXMLHaxelibCompletionContributor.java @@ -19,7 +19,6 @@ import com.intellij.codeInsight.completion.*; import com.intellij.codeInsight.lookup.LookupElementBuilder; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.patterns.PlatformPatterns; import com.intellij.plugins.haxe.haxelib.HaxelibCache; import com.intellij.plugins.haxe.hxml.HXMLLanguage; @@ -27,6 +26,7 @@ import com.intellij.plugins.haxe.hxml.psi.HXMLTokenType; import com.intellij.plugins.haxe.hxml.psi.HXMLTypes; import com.intellij.plugins.haxe.hxml.psi.HXMLValue; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.util.ProcessingContext; import org.jetbrains.annotations.NotNull; @@ -42,7 +42,7 @@ public class HXMLHaxelibCompletionContributor extends CompletionContributor { protected static List availableHaxelibs = null; protected static List localHaxelibs = null; - public static final Logger LOGGER = Logger.getInstance("com.intellij.plugins.haxe.ide.HXMLHaxelibCompletionProvider"); + public static final HaxeDebugLogger LOGGER = HaxeDebugLogger.getInstance("com.intellij.plugins.haxe.ide.HXMLHaxelibCompletionProvider"); public HXMLHaxelibCompletionContributor() { HaxelibCache haxelibCache = HaxelibCache.getInstance(); diff --git a/src/common/com/intellij/plugins/haxe/ide/HaxeFindUsagesProvider.java b/src/common/com/intellij/plugins/haxe/ide/HaxeFindUsagesProvider.java index afd0db615..12273abe6 100644 --- a/src/common/com/intellij/plugins/haxe/ide/HaxeFindUsagesProvider.java +++ b/src/common/com/intellij/plugins/haxe/ide/HaxeFindUsagesProvider.java @@ -20,11 +20,10 @@ import com.intellij.lang.cacheBuilder.WordsScanner; import com.intellij.lang.findUsages.FindUsagesProvider; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.HaxeComponentType; import com.intellij.plugins.haxe.lang.psi.HaxeClass; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; -import org.apache.log4j.Level; import org.jetbrains.annotations.NotNull; /** @@ -32,7 +31,7 @@ */ public class HaxeFindUsagesProvider implements FindUsagesProvider { - final static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.HaxeFindUsagesProvider"); + final static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.HaxeFindUsagesProvider"); @Override public WordsScanner getWordsScanner() { diff --git a/src/common/com/intellij/plugins/haxe/ide/HaxeLineMarkerProviderNS.java b/src/common/com/intellij/plugins/haxe/ide/HaxeLineMarkerProviderNS.java index 8a35c4aaa..d72e4b827 100644 --- a/src/common/com/intellij/plugins/haxe/ide/HaxeLineMarkerProviderNS.java +++ b/src/common/com/intellij/plugins/haxe/ide/HaxeLineMarkerProviderNS.java @@ -50,6 +50,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.function.Supplier; /** * Worker/implementation class for {@link HaxeLineMarkerProvider}. @@ -128,6 +129,7 @@ private static LineMarkerInfo tryCreateOverrideMarker(final HaxeNamedComponent n HaxeResolveUtil.getDeclarationTypes(methodDeclaration.getMethodModifierList()). contains(HaxeTokenTypes.KOVERRIDE); final Icon icon = overrides ? AllIcons.Gutter.OverridingMethod : AllIcons.Gutter.ImplementingMethod; + Supplier accessibleNameProvider = () -> overrides ? "Overriding Method" : "Implementing Method"; if (null == element) { return null; } @@ -135,7 +137,6 @@ private static LineMarkerInfo tryCreateOverrideMarker(final HaxeNamedComponent n element, element.getTextRange(), icon, - Pass.UPDATE_ALL, new Function() { @Override public String fun(PsiElement element) { @@ -158,7 +159,8 @@ public void navigate(MouseEvent e, PsiElement elt) { new DefaultPsiElementCellRenderer()); } }, - GutterIconRenderer.Alignment.LEFT + GutterIconRenderer.Alignment.LEFT, + accessibleNameProvider ); } @@ -177,11 +179,11 @@ private static LineMarkerInfo tryCreateImplementationMarker(final HaxeNamedCompo return null; } final PsiElement element = componentName.getIdentifier().getFirstChild(); + Supplier accessibleNameProvider = () -> isInterface ? "Implemented Method" : "Overriden Method"; return new LineMarkerInfo<>( element, element.getTextRange(), isInterface ? AllIcons.Gutter.ImplementedMethod : AllIcons.Gutter.OverridenMethod, - Pass.UPDATE_ALL, new Function() { @Override public String fun(PsiElement element) { @@ -204,7 +206,8 @@ public void navigate(MouseEvent e, PsiElement elt) { ); } }, - GutterIconRenderer.Alignment.RIGHT + GutterIconRenderer.Alignment.RIGHT, + accessibleNameProvider ); } @@ -216,13 +219,13 @@ private static LineMarkerInfo createImplementationMarker(final HaxeClass compone return null; } final PsiElement element = componentName.getIdentifier().getFirstChild(); + Supplier accessibleNameProvider = () -> componentWithDeclarationList instanceof HaxeInterfaceDeclaration ? "Implemented Method" : "Overriden Method"; return new LineMarkerInfo<>( element, element.getTextRange(), componentWithDeclarationList instanceof HaxeInterfaceDeclaration ? AllIcons.Gutter.ImplementedMethod : AllIcons.Gutter.OverridenMethod, - Pass.UPDATE_ALL, item -> DaemonBundle.message("method.is.implemented.too.many"), new GutterIconNavigationHandler() { @Override @@ -235,7 +238,8 @@ public void navigate(MouseEvent e, PsiElement elt) { ); } }, - GutterIconRenderer.Alignment.RIGHT + GutterIconRenderer.Alignment.RIGHT, + accessibleNameProvider ); } } diff --git a/src/common/com/intellij/plugins/haxe/ide/XmlHaxelibCompletionContributor.java b/src/common/com/intellij/plugins/haxe/ide/XmlHaxelibCompletionContributor.java index a182755ba..810ed1c88 100644 --- a/src/common/com/intellij/plugins/haxe/ide/XmlHaxelibCompletionContributor.java +++ b/src/common/com/intellij/plugins/haxe/ide/XmlHaxelibCompletionContributor.java @@ -20,10 +20,10 @@ import com.intellij.codeInsight.completion.*; import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.lang.xml.XMLLanguage; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.patterns.PlatformPatterns; import com.intellij.patterns.XmlPatterns; import com.intellij.plugins.haxe.haxelib.HaxelibCache; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.util.ProcessingContext; import org.jetbrains.annotations.NotNull; @@ -37,7 +37,7 @@ public class XmlHaxelibCompletionContributor extends CompletionContributor { protected static List availableHaxelibs = null; protected static List localHaxelibs = null; - public static final Logger LOGGER = Logger.getInstance("com.intellij.plugins.haxe.ide.XmlHaxelibCompletionProvider"); + public static final HaxeDebugLogger LOGGER = HaxeDebugLogger.getInstance("com.intellij.plugins.haxe.ide.XmlHaxelibCompletionProvider"); public XmlHaxelibCompletionContributor() { HaxelibCache haxelibCache = HaxelibCache.getInstance(); diff --git a/src/common/com/intellij/plugins/haxe/ide/actions/CreateClassAction.java b/src/common/com/intellij/plugins/haxe/ide/actions/CreateClassAction.java index e75ffb528..60c7bffc2 100644 --- a/src/common/com/intellij/plugins/haxe/ide/actions/CreateClassAction.java +++ b/src/common/com/intellij/plugins/haxe/ide/actions/CreateClassAction.java @@ -48,7 +48,7 @@ public class CreateClassAction extends CreateTemplateInPackageAction { private static Set SOURCES; static { - SOURCES = ContainerUtilRt.newHashSet(JavaSourceRootType.SOURCE, JavaSourceRootType.TEST_SOURCE); + SOURCES = ContainerUtilRt.newLinkedHashSet(JavaSourceRootType.SOURCE, JavaSourceRootType.TEST_SOURCE); } public CreateClassAction() { diff --git a/src/common/com/intellij/plugins/haxe/ide/annotator/HaxeAnnotationHolder.java b/src/common/com/intellij/plugins/haxe/ide/annotator/HaxeAnnotationHolder.java index cf30f5b6c..daf00713a 100644 --- a/src/common/com/intellij/plugins/haxe/ide/annotator/HaxeAnnotationHolder.java +++ b/src/common/com/intellij/plugins/haxe/ide/annotator/HaxeAnnotationHolder.java @@ -22,11 +22,11 @@ import com.intellij.lang.annotation.AnnotationHolder; import com.intellij.lang.annotation.AnnotationSession; import com.intellij.lang.annotation.HighlightSeverity; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.xml.util.XmlStringUtil; @@ -42,7 +42,7 @@ * */ public class HaxeAnnotationHolder implements AnnotationHolder { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.annotator.HaxeAnnotationHolder"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.annotator.HaxeAnnotationHolder"); private static final Key> HAXE_ANNOTATION_KEY = new Key<>("HaxeAnnotationsKey"); private final AnnotationHolderImpl myInternalHolder; @@ -228,7 +228,7 @@ private void assertMyFile(PsiElement node) { if (node == null) return; PsiFile myFile = getCurrentAnnotationSession().getFile(); PsiFile containingFile = node.getContainingFile(); - LOG.assertTrue(containingFile != null, node); + LOG.assertLog(containingFile != null, node.getText()); VirtualFile containingVFile = containingFile.getVirtualFile(); VirtualFile myVFile = myFile.getVirtualFile(); if (!Comparing.equal(containingVFile, myVFile)) { diff --git a/src/common/com/intellij/plugins/haxe/ide/editor/HaxeTypedHandler.java b/src/common/com/intellij/plugins/haxe/ide/editor/HaxeTypedHandler.java index 1c392503f..49f887e88 100644 --- a/src/common/com/intellij/plugins/haxe/ide/editor/HaxeTypedHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/editor/HaxeTypedHandler.java @@ -19,7 +19,7 @@ import com.intellij.codeInsight.AutoPopupController; import com.intellij.codeInsight.CodeInsightSettings; import com.intellij.codeInsight.completion.CompletionType; -import com.intellij.codeInsight.editorActions.JavaTypedHandler; +import com.intellij.codeInsight.editorActions.TypedHandlerUtil; import com.intellij.codeInsight.editorActions.TypedHandlerDelegate; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileTypes.FileType; @@ -58,7 +58,7 @@ public Result beforeCharTyped(char c, } if (c == '>') { if (CodeInsightSettings.getInstance().AUTOINSERT_PAIR_BRACKET && - JavaTypedHandler.handleJavaGT(editor, HaxeTokenTypes.OLESS, HaxeTokenTypes.OGREATER, INVALID_INSIDE_REFERENCE)) { + TypedHandlerUtil.handleGenericGT(editor, HaxeTokenTypes.OLESS, HaxeTokenTypes.OGREATER, INVALID_INSIDE_REFERENCE)) { return Result.STOP; } } diff --git a/src/common/com/intellij/plugins/haxe/ide/formatter/HaxeSpacingProcessor.java b/src/common/com/intellij/plugins/haxe/ide/formatter/HaxeSpacingProcessor.java index a26481746..4325c0cfb 100644 --- a/src/common/com/intellij/plugins/haxe/ide/formatter/HaxeSpacingProcessor.java +++ b/src/common/com/intellij/plugins/haxe/ide/formatter/HaxeSpacingProcessor.java @@ -22,12 +22,12 @@ import com.intellij.formatting.Block; import com.intellij.formatting.Spacing; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.TextRange; import com.intellij.plugins.haxe.build.FieldWrapper; import com.intellij.plugins.haxe.build.IdeaTarget; import com.intellij.plugins.haxe.ide.formatter.settings.HaxeCodeStyleSettings; import com.intellij.plugins.haxe.metadata.util.HaxeMetadataUtils; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; import com.intellij.psi.codeStyle.CommonCodeStyleSettings; import com.intellij.psi.formatter.common.AbstractBlock; @@ -43,7 +43,7 @@ * @author: Fedor.Korotkov */ public class HaxeSpacingProcessor { - private final static Logger LOG = Logger.getInstance("#HaxeSpacingProcessor"); + private final static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#HaxeSpacingProcessor"); private final ASTNode myNode; private final CommonCodeStyleSettings mySettings; private final HaxeCodeStyleSettings myHaxeCodeStyleSettings; @@ -514,4 +514,4 @@ private boolean isFieldDeclaration(IElementType type) { private boolean isMethodDeclaration(IElementType type) { return type == METHOD_DECLARATION; } -} \ No newline at end of file +} diff --git a/src/common/com/intellij/plugins/haxe/ide/generation/BaseHaxeGenerateHandler.java b/src/common/com/intellij/plugins/haxe/ide/generation/BaseHaxeGenerateHandler.java index 621f2804b..30d3482f2 100644 --- a/src/common/com/intellij/plugins/haxe/ide/generation/BaseHaxeGenerateHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/generation/BaseHaxeGenerateHandler.java @@ -22,7 +22,6 @@ import com.intellij.lang.LanguageCodeInsightActionHandler; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.plugins.haxe.ide.HaxeNamedElementNode; @@ -30,6 +29,7 @@ import com.intellij.plugins.haxe.lang.psi.HaxeClassDeclaration; import com.intellij.plugins.haxe.lang.psi.HaxeFile; import com.intellij.plugins.haxe.lang.psi.HaxeNamedComponent; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.Function; @@ -102,7 +102,7 @@ public void run() { createMethodsFix.invoke(project, editor, file); } catch (IncorrectOperationException ex) { - Logger.getInstance(getClass().getName()).error(ex); + HaxeDebugLogger.getInstance(getClass().getName()).error(ex); } } }); diff --git a/src/common/com/intellij/plugins/haxe/ide/generation/HaxeOverrideMethodHandler.java b/src/common/com/intellij/plugins/haxe/ide/generation/HaxeOverrideMethodHandler.java index ff6a774c4..57fa25b2e 100644 --- a/src/common/com/intellij/plugins/haxe/ide/generation/HaxeOverrideMethodHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/generation/HaxeOverrideMethodHandler.java @@ -18,13 +18,13 @@ */ package com.intellij.plugins.haxe.ide.generation; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.HaxeBundle; import com.intellij.plugins.haxe.lang.psi.HaxeClass; import com.intellij.plugins.haxe.lang.psi.HaxeNamedComponent; import com.intellij.plugins.haxe.lang.psi.HaxePsiModifier; import com.intellij.plugins.haxe.model.HaxeClassModel; import com.intellij.plugins.haxe.model.HaxeMethodModel; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.apache.log4j.Level; import java.util.List; @@ -34,7 +34,7 @@ */ public class HaxeOverrideMethodHandler extends BaseHaxeGenerateHandler { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.generation.HaxeOverrideMethodHandler"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.generation.HaxeOverrideMethodHandler"); { LOG.info("Loaded HaxeOverrideMethodHandler"); LOG.setLevel(Level.DEBUG); diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyTimeoutHandler.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyTimeoutHandler.java index 75d7f961e..c0fbb37ce 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyTimeoutHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyTimeoutHandler.java @@ -18,11 +18,11 @@ package com.intellij.plugins.haxe.ide.hierarchy; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeDebugTimeLog; import org.apache.log4j.Level; import org.jetbrains.annotations.Nullable; @@ -43,7 +43,7 @@ final public class HaxeHierarchyTimeoutHandler { private static final boolean DEBUG = false; - private static final Logger LOG = Logger.getInstance("#com.intellij.ide.hierarchy.HaxeHierarchyTimeoutHandler"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.ide.hierarchy.HaxeHierarchyTimeoutHandler"); static { diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyUtils.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyUtils.java index db62028a9..6b776d662 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyUtils.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/HaxeHierarchyUtils.java @@ -22,12 +22,12 @@ import com.intellij.codeInsight.TargetElementUtilBase; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.plugins.haxe.lang.psi.*; import com.intellij.plugins.haxe.lang.psi.impl.AbstractHaxePsiClass; import com.intellij.plugins.haxe.lang.psi.impl.AnonymousHaxeTypeImpl; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.psi.impl.source.resolve.reference.impl.PsiMultiReference; import com.intellij.psi.impl.source.tree.LeafPsiElement; @@ -48,7 +48,7 @@ * A set of utility functions that support the HierarchyProviders. */ public class HaxeHierarchyUtils { - private static final Logger LOG = Logger.getInstance("#com.intellij.ide.hierarchy.HaxeHierarchyUtils"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.ide.hierarchy.HaxeHierarchyUtils"); //static //{ diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyBrowser.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyBrowser.java index 21f6c3a68..6741e3157 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyBrowser.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyBrowser.java @@ -19,8 +19,8 @@ import com.intellij.ide.hierarchy.HierarchyTreeStructure; import com.intellij.ide.hierarchy.call.CallHierarchyBrowser; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import org.jetbrains.annotations.NotNull; @@ -30,7 +30,7 @@ */ public class HaxeCallHierarchyBrowser extends CallHierarchyBrowser { - private static final Logger LOG = Logger.getInstance("#com.intellij.ide.hierarchy.type.HaxeCallHierarchyBrowser"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.ide.hierarchy.type.HaxeCallHierarchyBrowser"); HaxeCallHierarchyBrowser(Project project, PsiMethod method) { super(project, method); } diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyProvider.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyProvider.java index 9e8cf6ec6..e21ae50c1 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyProvider.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallHierarchyProvider.java @@ -22,9 +22,9 @@ import com.intellij.ide.hierarchy.HierarchyProvider; import com.intellij.ide.hierarchy.call.CallHierarchyBrowser; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.ide.hierarchy.HaxeHierarchyUtils; import com.intellij.plugins.haxe.lang.psi.HaxeMethod; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import org.apache.log4j.Level; @@ -35,7 +35,7 @@ * Created by ebishton on 9/3/14. */ public class HaxeCallHierarchyProvider implements HierarchyProvider { - private static final Logger LOG = Logger.getInstance("#com.intellij.ide.hierarchy.type.HaxeCallHierarchyProvider"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.ide.hierarchy.type.HaxeCallHierarchyProvider"); static { LOG.info("Loaded HaxeCallHierarchyProvider"); diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallReferenceProcessor.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallReferenceProcessor.java index 077641282..61ddd7e96 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallReferenceProcessor.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallReferenceProcessor.java @@ -21,12 +21,12 @@ import com.intellij.ide.hierarchy.call.CallReferenceProcessor; import com.intellij.ide.hierarchy.call.JavaCallHierarchyData; import com.intellij.ide.util.treeView.NodeDescriptor; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.plugins.haxe.ide.hierarchy.HaxeHierarchyTimeoutHandler; import com.intellij.plugins.haxe.lang.psi.HaxeNewExpression; import com.intellij.plugins.haxe.lang.psi.HaxeReferenceExpression; import com.intellij.plugins.haxe.lang.psi.HaxeSuperExpression; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.psi.util.PsiUtil; import com.intellij.psi.util.TypeConversionUtil; @@ -39,7 +39,7 @@ * Created by ebishton on 1/9/15. Lifted from JavaCallReferenceProcessor. */ public class HaxeCallReferenceProcessor implements CallReferenceProcessor { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.call.HaxeCallReferenceProcessor"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.call.HaxeCallReferenceProcessor"); public static class CallData extends JavaCallHierarchyData { HaxeHierarchyTimeoutHandler myTimeoutHandler; @@ -50,7 +50,7 @@ public CallData(PsiClass originalClass, PsiMethod method, Set methodsToFind, NodeDescriptor nodeDescriptor, - Map resultMap, + Map> resultMap, Project project, HaxeHierarchyTimeoutHandler timeoutHandler) { super(originalClass, methodToFind, originalType, method, methodsToFind, nodeDescriptor, resultMap, project); @@ -74,10 +74,10 @@ public boolean process(@NotNull PsiReference reference, @NotNull JavaCallHierarc PsiClass originalClass = data.getOriginalClass(); PsiMethod method = data.getMethod(); - Set methodsToFind = data.getMethodsToFind(); + Set methodsToFind = data.getMethodsToFind(); PsiMethod methodToFind = data.getMethodToFind(); PsiClassType originalType = data.getOriginalType(); - Map methodToDescriptorMap = data.getResultMap(); + Map> methodToDescriptorMap = data.getResultMap(); Project myProject = data.getProject(); HaxeHierarchyTimeoutHandler timeoutHandler = data.getTimeoutHandler(); diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallerMethodsTreeStructure.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallerMethodsTreeStructure.java index 8af242dcd..b44c1a839 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallerMethodsTreeStructure.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/call/HaxeCallerMethodsTreeStructure.java @@ -23,10 +23,10 @@ import com.intellij.ide.hierarchy.call.CallReferenceProcessor; import com.intellij.ide.util.treeView.NodeDescriptor; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.*; import com.intellij.openapi.project.Project; import com.intellij.plugins.haxe.ide.hierarchy.HaxeHierarchyTimeoutHandler; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.searches.MethodReferencesSearch; @@ -45,7 +45,7 @@ public class HaxeCallerMethodsTreeStructure extends HierarchyTreeStructure { private static final boolean DEBUG = false; - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.HaxeCallerMethodsTreeStructure"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.HaxeCallerMethodsTreeStructure"); static { if (DEBUG) { LOG.setLevel(Level.DEBUG); @@ -141,7 +141,7 @@ protected final Object[] buildChildrenInternal(@NotNull final HierarchyNodeDescr ContainerUtil.addAll(methodsToFind, method.findDeepestSuperMethods()); // timeLog.stampAndEcho("beginning to walk " + methodsToFind.size() + " methods"); - final Map methodToDescriptorMap = new HashMap(); + final Map> methodToDescriptorMap = new HashMap>(); for (final PsiMethod methodToFind : methodsToFind) { final HaxeCallReferenceProcessor.CallData data = new HaxeCallReferenceProcessor.CallData(originalClass, methodToFind, originalType, method, methodsToFind, diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyBrowser.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyBrowser.java index 3be5272b9..5d0a37d07 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyBrowser.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyBrowser.java @@ -20,8 +20,8 @@ import com.intellij.ide.hierarchy.HierarchyNodeDescriptor; import com.intellij.ide.hierarchy.HierarchyTreeStructure; import com.intellij.ide.hierarchy.method.MethodHierarchyBrowser; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import org.jetbrains.annotations.NotNull; @@ -31,7 +31,7 @@ */ public class HaxeMethodHierarchyBrowser extends MethodHierarchyBrowser { - Logger LOG = Logger.getInstance("#" + HaxeMethodHierarchyBrowser.class.getName()); + HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#" + HaxeMethodHierarchyBrowser.class.getName()); public HaxeMethodHierarchyBrowser(final Project project, final PsiMethod method) { super(project, method); @@ -39,7 +39,7 @@ public HaxeMethodHierarchyBrowser(final Project project, final PsiMethod method) @Override protected HierarchyTreeStructure createHierarchyTreeStructure(@NotNull String typeName, @NotNull PsiElement psiElement) { - if (!METHOD_TYPE.equals(typeName)) { + if (!getMethodType().equals(typeName)) { LOG.error("unexpected type: " + typeName); return null; } diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyProvider.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyProvider.java index 1a1f84c42..3c2cbc663 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyProvider.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/method/HaxeMethodHierarchyProvider.java @@ -23,9 +23,9 @@ import com.intellij.ide.hierarchy.MethodHierarchyBrowserBase; import com.intellij.ide.hierarchy.method.MethodHierarchyBrowser; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.ide.hierarchy.HaxeHierarchyUtils; import com.intellij.plugins.haxe.lang.psi.HaxeMethod; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import org.apache.log4j.Level; @@ -36,7 +36,7 @@ * Created by ebishton on 9/3/14. */ public class HaxeMethodHierarchyProvider implements HierarchyProvider { - private static final Logger LOG = Logger.getInstance("#com.intellij.ide.hierarchy.type.HaxeMethodHierarchyProvider"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.ide.hierarchy.type.HaxeMethodHierarchyProvider"); { LOG.info("Loaded HaxeMethodHierarchyProvider"); @@ -67,7 +67,7 @@ public void browserActivated(@NotNull HierarchyBrowser browser) { if ( LOG.isDebugEnabled() ) { LOG.debug( "browserActivated " + browser ); } - ((MethodHierarchyBrowser) browser).changeView(MethodHierarchyBrowserBase.METHOD_TYPE); + ((MethodHierarchyBrowser) browser).changeView(MethodHierarchyBrowserBase.getMethodType()); } } diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyBrowser.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyBrowser.java index 036f75535..012827ba5 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyBrowser.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyBrowser.java @@ -20,8 +20,8 @@ import com.intellij.ide.hierarchy.HierarchyNodeDescriptor; import com.intellij.ide.hierarchy.HierarchyTreeStructure; import com.intellij.ide.hierarchy.type.TypeHierarchyBrowser; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; @@ -30,7 +30,7 @@ * Created by srikanthg on 10/23/14. */ public class HaxeTypeHierarchyBrowser extends TypeHierarchyBrowser { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.type.HaxeTypeHierarchyBrowser"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.type.HaxeTypeHierarchyBrowser"); public HaxeTypeHierarchyBrowser(final Project project, final PsiClass psiClass) { super(project, psiClass); @@ -38,13 +38,13 @@ public HaxeTypeHierarchyBrowser(final Project project, final PsiClass psiClass) protected HierarchyTreeStructure createHierarchyTreeStructure(@NotNull final String typeName, @NotNull final PsiElement psiElement) { HierarchyTreeStructure currentActiveTree = null; - if (SUPERTYPES_HIERARCHY_TYPE.equals(typeName)) { + if (getSupertypesHierarchyType().equals(typeName)) { currentActiveTree = new HaxeSupertypesHierarchyTreeStructure(myProject, (PsiClass) psiElement); } - else if (SUBTYPES_HIERARCHY_TYPE.equals(typeName)) { + else if (getSubtypesHierarchyType().equals(typeName)) { currentActiveTree = new HaxeSubtypesHierarchyTreeStructure(myProject, (PsiClass) psiElement); } - else if (TYPE_HIERARCHY_TYPE.equals(typeName)) { + else if (getTypeHierarchyType().equals(typeName)) { currentActiveTree = new HaxeTypeHierarchyTreeStructure(myProject, (PsiClass) psiElement); } else { diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyProvider.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyProvider.java index 1a82ce2dd..075e332ad 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyProvider.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyProvider.java @@ -22,10 +22,10 @@ import com.intellij.ide.hierarchy.HierarchyProvider; import com.intellij.ide.hierarchy.TypeHierarchyBrowserBase; import com.intellij.openapi.actionSystem.DataContext; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.ide.hierarchy.HaxeHierarchyUtils; import com.intellij.plugins.haxe.lang.psi.HaxeClass; import com.intellij.plugins.haxe.lang.psi.HaxeFile; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import org.apache.log4j.Level; @@ -37,7 +37,7 @@ * Created by ebishton on 9/3/14. */ public class HaxeTypeHierarchyProvider implements HierarchyProvider { - private static final Logger LOG = Logger.getInstance("#com.intellij.ide.hierarchy.type.HaxeTypeHierarchyProvider"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.ide.hierarchy.type.HaxeTypeHierarchyProvider"); static { LOG.info("Loaded HaxeTypeHierarchyProvider"); @@ -70,7 +70,7 @@ public HierarchyBrowser createHierarchyBrowser(PsiElement element) { public void browserActivated(@NotNull HierarchyBrowser hierarchyBrowser) { final HaxeTypeHierarchyBrowser browser = (HaxeTypeHierarchyBrowser) hierarchyBrowser; final String typeName = - browser.isInterface() ? TypeHierarchyBrowserBase.SUBTYPES_HIERARCHY_TYPE : TypeHierarchyBrowserBase.TYPE_HIERARCHY_TYPE; + browser.isInterface() ? TypeHierarchyBrowserBase.getSubtypesHierarchyType() : TypeHierarchyBrowserBase.getTypeHierarchyType(); browser.changeView(typeName); } } diff --git a/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyTreeStructure.java b/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyTreeStructure.java index b32f1c3fa..f31ea9fad 100644 --- a/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyTreeStructure.java +++ b/src/common/com/intellij/plugins/haxe/ide/hierarchy/type/HaxeTypeHierarchyTreeStructure.java @@ -17,8 +17,8 @@ */ package com.intellij.plugins.haxe.ide.hierarchy.type; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.PsiClass; /** @@ -26,7 +26,7 @@ */ public class HaxeTypeHierarchyTreeStructure extends HaxeSubtypesHierarchyTreeStructure { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.type.HaxeTypeHierarchyTreeStructure"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.hierarchy.type.HaxeTypeHierarchyTreeStructure"); public HaxeTypeHierarchyTreeStructure(final Project project, final PsiClass aClass) { super(project, buildHierarchyElement(project, aClass)); diff --git a/src/common/com/intellij/plugins/haxe/ide/module/HaxeModuleSettings.java b/src/common/com/intellij/plugins/haxe/ide/module/HaxeModuleSettings.java index 7e19c39c2..f184e68c5 100644 --- a/src/common/com/intellij/plugins/haxe/ide/module/HaxeModuleSettings.java +++ b/src/common/com/intellij/plugins/haxe/ide/module/HaxeModuleSettings.java @@ -21,7 +21,6 @@ import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleServiceManager; import com.intellij.plugins.haxe.config.HaxeConfiguration; @@ -30,6 +29,7 @@ import com.intellij.plugins.haxe.config.OpenFLTarget; import com.intellij.plugins.haxe.module.HaxeModuleSettingsBase; import com.intellij.plugins.haxe.module.impl.HaxeModuleSettingsBaseImpl; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeModificationTracker; import com.intellij.plugins.haxe.util.HaxeTrackedModifiable; import com.intellij.util.xmlb.XmlSerializerUtil; @@ -50,7 +50,7 @@ public class HaxeModuleSettings extends HaxeModuleSettingsBaseImpl implements PersistentStateComponent, HaxeModuleSettingsBase, HaxeTrackedModifiable { - private static Logger LOG = Logger.getInstance("#" + HaxeModuleSettings.class.getName()); + private static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#" + HaxeModuleSettings.class.getName()); private String flexSdkName = ""; private HaxeModificationTracker tracker = new HaxeModificationTracker(this.getClass().getName()); diff --git a/src/common/com/intellij/plugins/haxe/ide/projectStructure/detection/HaxeModuleInsight.java b/src/common/com/intellij/plugins/haxe/ide/projectStructure/detection/HaxeModuleInsight.java index 6f6bfec56..9e72b5bad 100644 --- a/src/common/com/intellij/plugins/haxe/ide/projectStructure/detection/HaxeModuleInsight.java +++ b/src/common/com/intellij/plugins/haxe/ide/projectStructure/detection/HaxeModuleInsight.java @@ -67,11 +67,11 @@ protected boolean isLibraryFile(String fileName) { } @Override - protected void scanSourceFileForImportedPackages(CharSequence chars, Consumer result) { + protected void scanSourceFileForImportedPackages(CharSequence chars, Consumer result) { } @Override - protected void scanLibraryForDeclaredPackages(File file, Consumer result) throws IOException { + protected void scanLibraryForDeclaredPackages(File file, Consumer result) throws IOException { } @Override diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractInterface/ExtractInterfaceHandler.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractInterface/ExtractInterfaceHandler.java index 445099342..4447298a6 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractInterface/ExtractInterfaceHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractInterface/ExtractInterfaceHandler.java @@ -21,12 +21,12 @@ import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.project.Project; import com.intellij.plugins.haxe.ide.refactoring.extractSuperclass.ExtractSuperClassUtil; import com.intellij.plugins.haxe.ide.refactoring.memberPullUp.PullUpProcessor; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringActionHandler; @@ -44,7 +44,7 @@ import javax.swing.*; public class ExtractInterfaceHandler implements RefactoringActionHandler, ElementsHandler { - private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.extractInterface.ExtractInterfaceHandler"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.refactoring.extractInterface.ExtractInterfaceHandler"); public static final String REFACTORING_NAME = RefactoringBundle.message("extract.interface.title"); @@ -165,4 +165,4 @@ private String getCommandName() { public boolean isEnabledOnElements(PsiElement[] elements) { return elements.length == 1 && elements[0] instanceof PsiClass; } -} \ No newline at end of file +} diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperBaseProcessor.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperBaseProcessor.java index 532959082..8c1d49385 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperBaseProcessor.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperBaseProcessor.java @@ -15,9 +15,9 @@ */ package com.intellij.plugins.haxe.ide.refactoring.extractSuperclass; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.psi.codeStyle.JavaCodeStyleManager; import com.intellij.psi.search.GlobalSearchScope; @@ -43,7 +43,7 @@ * @author dsl */ public abstract class ExtractSuperBaseProcessor extends TurnRefsToSuperProcessorBase { - private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.extractSuperclass.ExtractSuperClassProcessor"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.refactoring.extractSuperclass.ExtractSuperClassProcessor"); protected PsiDirectory myTargetDirectory; protected final String myNewClassName; protected final MemberInfo[] myMemberInfos; diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperClassUtil.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperClassUtil.java index e725df85a..500c41517 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperClassUtil.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperClassUtil.java @@ -16,7 +16,6 @@ package com.intellij.plugins.haxe.ide.refactoring.extractSuperclass; import com.intellij.codeInsight.generation.OverrideImplementExploreUtil; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleUtil; @@ -30,6 +29,7 @@ import com.intellij.plugins.haxe.ide.refactoring.memberPullUp.PullUpProcessor; import com.intellij.plugins.haxe.lang.psi.HaxeFile; import com.intellij.plugins.haxe.lang.psi.HaxeInheritList; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.psi.search.GlobalSearchScope; @@ -38,8 +38,8 @@ import com.intellij.refactoring.listeners.RefactoringEventListener; import com.intellij.refactoring.ui.ConflictsDialog; import com.intellij.refactoring.util.DocCommentPolicy; -import com.intellij.refactoring.util.RefactoringUtil; import com.intellij.refactoring.util.classMembers.MemberInfo; +import com.intellij.util.CommonJavaRefactoringUtil; import com.intellij.util.Function; import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.HashMap; @@ -57,7 +57,7 @@ * @author dsl */ public class ExtractSuperClassUtil { - private static final Logger LOG = Logger.getInstance("com.intellij.refactoring.extractSuperclass.ExtractSuperClassUtil"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("com.intellij.refactoring.extractSuperclass.ExtractSuperClassUtil"); public static final String REFACTORING_EXTRACT_SUPER_ID = "refactoring.extractSuper"; private ExtractSuperClassUtil() {} @@ -76,7 +76,7 @@ public static PsiClass extractSuperClass(final Project project, //final PsiClass superclass = JavaDirectoryService.getInstance().createClass(targetDirectory, superclassName); /*for (FileTemplate template : FileTemplateManager.getInstance().getInternalTemplates()) { - Logger.getInstance(ExtractSuperClassUtil.class).error(template.getName()); + HaxeDebugLogger.getInstance(ExtractSuperClassUtil.class).error(template.getName()); }*/ Module[] modules = ModuleHelper.getModules(project); @@ -162,7 +162,7 @@ private static void createConstructorsByPattern(Project project, final PsiClass @NonNls StringBuilder superCallText = new StringBuilder(); superCallText.append("super("); final PsiClass baseClass = baseConstructor.getContainingClass(); - LOG.assertTrue(baseClass != null); + LOG.assertLog(baseClass != null, "Assertion failed"); final PsiSubstitutor classSubstitutor = TypeConversionUtil.getSuperClassSubstitutor(baseClass, superclass, PsiSubstitutor.EMPTY); for (int i = 0; i < baseParams.length; i++) { final PsiParameter baseParam = baseParams[i]; @@ -238,7 +238,7 @@ public boolean value(PsiTypeParameter parameter) { return findTypeParameterInDerived(derivedClass, parameter.getName()) == parameter; } }; - final PsiTypeParameterList typeParameterList = RefactoringUtil.createTypeParameterListWithUsedTypeParameters(null, filter, PsiUtilCore.toPsiElementArray(movedElements)); + final PsiTypeParameterList typeParameterList = CommonJavaRefactoringUtil.createTypeParameterListWithUsedTypeParameters(null, filter, PsiUtilCore.toPsiElementArray(movedElements)); final PsiTypeParameterList originalTypeParameterList = superClass.getTypeParameterList(); assert originalTypeParameterList != null; //final PsiTypeParameterList newList = typeParameterList != null ? (PsiTypeParameterList)originalTypeParameterList.replace(typeParameterList) : originalTypeParameterList; diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperclassHandler.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperclassHandler.java index 1ba27bb39..3ee1dee82 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperclassHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/extractSuperclass/ExtractSuperclassHandler.java @@ -27,12 +27,12 @@ import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.plugins.haxe.ide.refactoring.memberPullUp.PullUpConflictsUtil; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringActionHandler; @@ -51,7 +51,7 @@ import java.util.List; public class ExtractSuperclassHandler implements RefactoringActionHandler, ExtractSuperclassDialog.Callback, ElementsHandler { - private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.extractSuperclass.ExtractSuperclassHandler"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.refactoring.extractSuperclass.ExtractSuperclassHandler"); public static final String REFACTORING_NAME = RefactoringBundle.message("extract.superclass.title"); diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpDialog.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpDialog.java index 6e174029a..008dda569 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpDialog.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpDialog.java @@ -72,7 +72,7 @@ public interface Callback { } public HaxePullUpDialog(Project project, PsiClass aClass, List superClasses, MemberInfoStorage memberInfoStorage, Callback callback) { - super(project, aClass, superClasses, memberInfoStorage, JavaPullUpHandler.REFACTORING_NAME); + super(project, aClass, superClasses, memberInfoStorage, JavaPullUpHandler.getRefactoringName()); myCallback = callback; init(); diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHandler.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHandler.java index bc539d1cb..652faf527 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHandler.java @@ -20,7 +20,6 @@ import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.ScrollType; import com.intellij.openapi.progress.ProgressManager; @@ -28,6 +27,7 @@ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.plugins.haxe.lang.psi.*; import com.intellij.plugins.haxe.lang.psi.impl.AbstractHaxePsiClass; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringActionHandler; @@ -49,7 +49,7 @@ * Based on https://github.com/JetBrains/intellij-community/blob/master/java/java-impl/src/com/intellij/refactoring/memberPullUp/JavaPullUpHandler.java */ public class HaxePullUpHandler implements RefactoringActionHandler, HaxePullUpDialog.Callback, ElementsHandler { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.ide.refactoring.memberPullUp.HaxePullUpHandler"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.ide.refactoring.memberPullUp.HaxePullUpHandler"); public static final String REFACTORING_NAME = RefactoringBundle.message("pull.members.up.title"); private PsiClass mySubclass; private Project myProject; @@ -234,4 +234,4 @@ private boolean checkWritable(PsiClass superClass, MemberInfo[] infos) { } -} \ No newline at end of file +} diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHelper.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHelper.java index bdd403666..81c9e020a 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHelper.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/HaxePullUpHelper.java @@ -21,12 +21,12 @@ import com.intellij.codeInsight.intention.AddAnnotationFix; import com.intellij.lang.Language; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.TextRange; import com.intellij.plugins.haxe.lang.psi.HaxeMethod; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeElementGenerator; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; @@ -58,7 +58,7 @@ * Created by Max Medvedev on 10/3/13 */ public class HaxePullUpHelper implements PullUpHelper { - private static final Logger LOG = Logger.getInstance(HaxePullUpHelper.class); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance(HaxePullUpHelper.class); private static final Key PRESERVE_QUALIFIER = Key.create("PRESERVE_QUALIFIER"); @@ -174,7 +174,7 @@ private void doMoveClass(PsiSubstitutor substitutor, MemberInfo info) { PsiClass aClass = (PsiClass)info.getMember(); if (Boolean.FALSE.equals(info.getOverrides())) { final PsiReferenceList sourceReferenceList = info.getSourceReferenceList(); - LOG.assertTrue(sourceReferenceList != null); + LOG.assertLog(sourceReferenceList != null, "Assertion failed"); PsiJavaCodeReferenceElement ref = mySourceClass.equals(sourceReferenceList.getParent()) ? RefactoringUtil.removeFromReferenceList(sourceReferenceList, aClass) : RefactoringUtil.findReferenceToClass(sourceReferenceList, aClass); diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpConflictsUtil.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpConflictsUtil.java index 4d8243c8f..a9f9bfaa7 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpConflictsUtil.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpConflictsUtil.java @@ -154,8 +154,8 @@ movedMembers2Super? new ConflictingUsagesOfSubClassMembers(member, movedMembers, ContainerUtil.addIfNotNull(checkModuleConflictsList, method.getReturnTypeElement()); ContainerUtil.addIfNotNull(checkModuleConflictsList, method.getTypeParameterList()); } - RefactoringConflictsUtil.analyzeModuleConflicts(subclass.getProject(), checkModuleConflictsList, - new UsageInfo[0], targetRepresentativeElement, conflicts); + RefactoringConflictsUtil.getInstance().analyzeModuleConflicts(subclass.getProject(), checkModuleConflictsList, + new UsageInfo[0], targetRepresentativeElement.getContainingFile().getVirtualFile(), conflicts); final String fqName = subclass.getQualifiedName(); final String packageName; if (fqName != null) { diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpProcessor.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpProcessor.java index 13bda55c5..9d1c84b76 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpProcessor.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPullUp/PullUpProcessor.java @@ -29,10 +29,10 @@ import com.intellij.lang.findUsages.DescriptiveNameUtil; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.psi.search.searches.ClassInheritorsSearch; import com.intellij.psi.search.searches.ReferencesSearch; @@ -62,7 +62,7 @@ import java.util.*; public class PullUpProcessor extends BaseRefactoringProcessor implements PullUpData { - private static final Logger LOG = Logger.getInstance(PullUpProcessor.class); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance(PullUpProcessor.class); private final PsiClass mySourceClass; private final PsiClass myTargetSuperClass; @@ -178,7 +178,7 @@ public void run() { } }); } - }, MethodDuplicatesHandler.REFACTORING_NAME, true, myProject); + }, MethodDuplicatesHandler.getRefactoringName(), true, myProject); } @Override @@ -257,7 +257,7 @@ private PsiSubstitutor upDownSuperClassSubstitutor() { } public void moveFieldInitializations() throws IncorrectOperationException { - LOG.assertTrue(myMembersAfterMove != null); + LOG.assertLog(myMembersAfterMove != null, "Assertion failed"); final LinkedHashSet movedFields = new LinkedHashSet(); for (PsiMember member : myMembersAfterMove) { diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownDialog.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownDialog.java index aa0c0f4cc..adad3a8b5 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownDialog.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownDialog.java @@ -49,7 +49,7 @@ public HaxePushDownDialog(Project project, MemberInfo[] memberInfos, PsiClass aC myMemberInfos = Arrays.asList(memberInfos); myClass = aClass; - setTitle(JavaPushDownHandler.REFACTORING_NAME); + setTitle(JavaPushDownHandler.getRefactoringName()); init(); } @@ -116,8 +116,6 @@ protected JComponent createCenterPanel() { protected void doAction() { if(!isOKActionEnabled()) return; - JavaRefactoringSettings.getInstance().PUSH_DOWN_PREVIEW_USAGES = isPreviewUsages(); - invokeRefactoring (new PushDownProcessor( getProject(), getSelectedMemberInfos(), myClass, new DocCommentPolicy(getJavaDocPolicy()))); @@ -128,4 +126,4 @@ public MyMemberInfoModel() { super(myClass); } } -} \ No newline at end of file +} diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownHandler.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownHandler.java index b80d142e9..f1fb8d389 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownHandler.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/HaxePushDownHandler.java @@ -49,7 +49,7 @@ public void invoke(@NotNull Project project, Editor editor, PsiFile file, DataCo if (element == null || element instanceof PsiFile) { String message = RefactoringBundle.getCannotRefactorMessage( RefactoringBundle.message("the.caret.should.be.positioned.inside.a.class.to.push.members.from")); - CommonRefactoringUtil.showErrorHint(project, editor, message, REFACTORING_NAME, HelpID.MEMBERS_PUSH_DOWN); + CommonRefactoringUtil.showErrorHint(project, editor, message, getRefactoringName(), HelpID.MEMBERS_PUSH_DOWN); return; } diff --git a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/PushDownProcessor.java b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/PushDownProcessor.java index 775d6bbc8..d45875367 100644 --- a/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/PushDownProcessor.java +++ b/src/common/com/intellij/plugins/haxe/ide/refactoring/memberPushDown/PushDownProcessor.java @@ -20,7 +20,6 @@ import com.intellij.codeInsight.intention.impl.CreateClassDialog; import com.intellij.codeInsight.intention.impl.CreateSubclassAction; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; @@ -29,6 +28,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.plugins.haxe.lang.psi.HaxeInterfaceDeclaration; import com.intellij.plugins.haxe.lang.psi.HaxeMethod; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeElementGenerator; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; @@ -60,7 +60,7 @@ import java.util.*; public class PushDownProcessor extends BaseRefactoringProcessor { - private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.memberPushDown.PushDownProcessor"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.refactoring.memberPushDown.PushDownProcessor"); private final MemberInfo[] myMemberInfos; private PsiClass myClass; @@ -79,7 +79,7 @@ public PushDownProcessor(Project project, @Override protected String getCommandName() { - return JavaPushDownHandler.REFACTORING_NAME; + return JavaPushDownHandler.getRefactoringName(); } @Override @@ -174,7 +174,7 @@ protected boolean preprocessUsages(final Ref refUsages) { if (myClass.isEnum() || myClass.hasModifierProperty(PsiModifier.FINAL)) { if (Messages.showOkCancelDialog((myClass.isEnum() ? "Enum " + myClass.getQualifiedName() + " doesn't have constants to inline to. " : "Final class " + myClass.getQualifiedName() + "does not have inheritors. ") + "Pushing members down will result in them being deleted. " + - "Would you like to proceed?", JavaPushDownHandler.REFACTORING_NAME, Messages.getWarningIcon()) != Messages.OK) { + "Would you like to proceed?", JavaPushDownHandler.getRefactoringName(), Messages.getWarningIcon()) != Messages.OK) { return false; } } else { @@ -182,7 +182,7 @@ protected boolean preprocessUsages(final Ref refUsages) { RefactoringBundle.message("interface.0.does.not.have.inheritors", myClass.getQualifiedName()) : RefactoringBundle.message("class.0.does.not.have.inheritors", myClass.getQualifiedName()); final String message = noInheritors + "\n" + RefactoringBundle.message("push.down.will.delete.members"); - final int answer = Messages.showYesNoCancelDialog(message, JavaPushDownHandler.REFACTORING_NAME, Messages.getWarningIcon()); + final int answer = Messages.showYesNoCancelDialog(message, JavaPushDownHandler.getRefactoringName(), Messages.getWarningIcon()); if (answer == Messages.YES) { myCreateClassDlg = CreateSubclassAction.chooseSubclassToCreate(myClass); if (myCreateClassDlg != null) { @@ -234,7 +234,7 @@ protected void refreshElements(PsiElement[] elements) { myClass = (PsiClass) elements[0]; } else { - LOG.assertTrue(false); + LOG.assertLog(false, "Assertion failed"); } } @@ -384,7 +384,7 @@ private void decodeRef(final PsiJavaCodeReferenceElement ref, psiClass = targetClass; } else if (psiClass.getContainingClass() == myClass) { psiClass = targetClass.findInnerClassByName(psiClass.getName(), false); - LOG.assertTrue(psiClass != null); + LOG.assertLog(psiClass != null, "Assertion failed"); } if (!(qualifier instanceof PsiThisExpression) && ref instanceof PsiReferenceExpression) { @@ -444,7 +444,7 @@ protected void pushDownToClass(PsiClass targetClass) throws IncorrectOperationEx PsiMember member = memberInfo.getMember(); final List refsToRebind = new ArrayList(); final PsiModifierList list = member.getModifierList(); - LOG.assertTrue(list != null); + LOG.assertLog(list != null, "Assertion failed"); if (list.hasModifierProperty(PsiModifier.STATIC)) { for (final PsiReference reference : ReferencesSearch.search(member)) { final PsiElement element = reference.getElement(); diff --git a/src/common/com/intellij/plugins/haxe/lang/lexer/HaxeEmbeddedElementType.java b/src/common/com/intellij/plugins/haxe/lang/lexer/HaxeEmbeddedElementType.java index 5f6f0bdb0..a52f2c81a 100644 --- a/src/common/com/intellij/plugins/haxe/lang/lexer/HaxeEmbeddedElementType.java +++ b/src/common/com/intellij/plugins/haxe/lang/lexer/HaxeEmbeddedElementType.java @@ -46,12 +46,6 @@ public boolean isParsable(@NotNull CharSequence buffer, @NotNull Language fileLa return false; } - @Override - public PsiBuilder parseLight(ASTNode chameleon) { - // TODO: Implement. - return super.parseLight(chameleon); - } - @Nullable @Override public ASTNode createNode(CharSequence text) { diff --git a/src/common/com/intellij/plugins/haxe/lang/parser/HaxeParserWrapper.java b/src/common/com/intellij/plugins/haxe/lang/parser/HaxeParserWrapper.java index 83b5de656..b96327917 100644 --- a/src/common/com/intellij/plugins/haxe/lang/parser/HaxeParserWrapper.java +++ b/src/common/com/intellij/plugins/haxe/lang/parser/HaxeParserWrapper.java @@ -17,8 +17,8 @@ import com.intellij.lang.ASTNode; import com.intellij.lang.PsiBuilder; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.metadata.lexer.HaxeMetadataTokenTypes; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeDebugTimeLog; import com.intellij.psi.PsiFile; import com.intellij.psi.impl.source.resolve.FileContextUtil; @@ -26,7 +26,7 @@ public class HaxeParserWrapper extends HaxeParser { - private static Logger LOG = Logger.getInstance("#HaxeParserWrapper"); + private static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#HaxeParserWrapper"); /** Turns on debugging when running the parser. On when the logger is in debug mode. */ private static boolean debugging = LOG.isDebugEnabled(); diff --git a/src/common/com/intellij/plugins/haxe/lang/parser/HaxePsiBuilder.java b/src/common/com/intellij/plugins/haxe/lang/parser/HaxePsiBuilder.java index 17c3f2c8d..38bcb59ea 100644 --- a/src/common/com/intellij/plugins/haxe/lang/parser/HaxePsiBuilder.java +++ b/src/common/com/intellij/plugins/haxe/lang/parser/HaxePsiBuilder.java @@ -18,6 +18,7 @@ import com.intellij.lang.ASTNode; import com.intellij.lang.LighterLazyParseableNode; import com.intellij.lang.ParserDefinition; +import com.intellij.lang.impl.PsiBuilderFactoryImpl; import com.intellij.lang.impl.PsiBuilderImpl; import com.intellij.lexer.Lexer; import com.intellij.openapi.application.ApplicationManager; @@ -68,7 +69,8 @@ public HaxePsiBuilder(@NotNull Project project, @NotNull Lexer lexer, @NotNull LighterLazyParseableNode chameleon, @NotNull CharSequence text) { - super(project, parserDefinition, lexer, chameleon, text); + // FIXME: https://github.com/JetBrains/intellij-community/commit/bf92a4bfea21ac1269017a52a347ab32c1a87323#r105729752 + super(project, parserDefinition, lexer, (ASTNode)chameleon, text); psiFile = chameleon.getContainingFile(); setupDebugTraces(); } diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/AbstractHaxePsiClass.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/AbstractHaxePsiClass.java index e4658aad3..b9f58d7b1 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/AbstractHaxePsiClass.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/AbstractHaxePsiClass.java @@ -21,7 +21,6 @@ package com.intellij.plugins.haxe.lang.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Pair; @@ -32,6 +31,7 @@ import com.intellij.plugins.haxe.metadata.psi.HaxeMeta; import com.intellij.plugins.haxe.model.*; import com.intellij.plugins.haxe.model.type.HaxeGenericResolver; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeResolveUtil; import com.intellij.plugins.haxe.util.UsefulPsiTreeUtil; import com.intellij.psi.*; @@ -59,7 +59,7 @@ */ public abstract class AbstractHaxePsiClass extends AbstractHaxeNamedComponent implements HaxeClass { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.AbstractHaxePsiClass"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.AbstractHaxePsiClass"); private Boolean _isPrivate = null; @@ -563,7 +563,7 @@ public HaxeModifierList getModifierList() { // XXX: Users of HaxeModifierList generally check for the existence of the property, not it's value. // So, don't set it. //list.setModifierProperty(HaxePsiModifier.STATIC, false); // Haxe does not have static classes, yet! - LOG.assertTrue(!list.hasModifierProperty(HaxePsiModifier.STATIC), "Haxe classes cannot be static."); + LOG.assertLog(!list.hasModifierProperty(HaxePsiModifier.STATIC), "Haxe classes cannot be static."); return list; } diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeInheritPsiMixinImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeInheritPsiMixinImpl.java index fac1aeddf..4e29e97e9 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeInheritPsiMixinImpl.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeInheritPsiMixinImpl.java @@ -18,11 +18,11 @@ package com.intellij.plugins.haxe.lang.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.lang.psi.HaxeExtendsDeclaration; import com.intellij.plugins.haxe.lang.psi.HaxeImplementsDeclaration; import com.intellij.plugins.haxe.lang.psi.HaxeInheritPsiMixin; import com.intellij.plugins.haxe.lang.psi.HaxeType; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClassType; import com.intellij.psi.PsiElementFactory; @@ -39,7 +39,7 @@ */ public class HaxeInheritPsiMixinImpl extends HaxePsiCompositeElementImpl implements HaxeInheritPsiMixin { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeInheritPsiMixinImpl"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeInheritPsiMixinImpl"); //static { // // Turn on all local messages. @@ -97,7 +97,7 @@ public Role getRole() { } else if (this instanceof HaxeImplementsDeclaration) { return Role.IMPLEMENTS_LIST; } - LOG.assertTrue(false, "Unrecognized/unexpected subclass type."); + LOG.assertLog(false, "Unrecognized/unexpected subclass type."); return null; } diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeMethodPsiMixinImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeMethodPsiMixinImpl.java index d63ac2e24..c9ef85136 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeMethodPsiMixinImpl.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeMethodPsiMixinImpl.java @@ -21,10 +21,10 @@ package com.intellij.plugins.haxe.lang.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.lang.lexer.HaxeTokenTypes; import com.intellij.plugins.haxe.lang.psi.*; import com.intellij.plugins.haxe.model.HaxeMethodModel; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.UsefulPsiTreeUtil; import com.intellij.psi.*; import com.intellij.psi.impl.PsiImplUtil; @@ -50,7 +50,7 @@ public abstract class HaxeMethodPsiMixinImpl extends AbstractHaxeNamedComponent // TODO: Merge this PsiMixin class(and interface) with HaxeMethod. There is no reason to keep both, or that this be named 'mixin'. - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeMethodPsiMixinImpl"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeMethodPsiMixinImpl"); static { LOG.info("Loaded HaxeMethodPsiMixinImpl"); LOG.setLevel(Level.DEBUG); diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeNamedElementImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeNamedElementImpl.java index 85d7991d6..186061ca7 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeNamedElementImpl.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeNamedElementImpl.java @@ -20,11 +20,11 @@ import com.intellij.lang.ASTNode; import com.intellij.navigation.ItemPresentation; import com.intellij.navigation.NavigationItem; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.plugins.haxe.HaxeComponentType; import com.intellij.plugins.haxe.lang.psi.*; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.HaxeElementGenerator; import com.intellij.psi.PsiElement; import com.intellij.psi.search.LocalSearchScope; @@ -41,7 +41,7 @@ * @author: Fedor.Korotkov */ public abstract class HaxeNamedElementImpl extends HaxePsiCompositeElementImpl implements HaxeComponentName { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeNamedElementImpl"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeNamedElementImpl"); public HaxeNamedElementImpl(@NotNull ASTNode node) { super(node); diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeParameterPsiMixinImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeParameterPsiMixinImpl.java index f9d5c54c5..338d9def7 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeParameterPsiMixinImpl.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeParameterPsiMixinImpl.java @@ -19,8 +19,8 @@ package com.intellij.plugins.haxe.lang.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.lang.psi.*; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NonNls; @@ -34,7 +34,7 @@ */ public abstract class HaxeParameterPsiMixinImpl extends AbstractHaxeNamedComponent implements HaxeParameterPsiMixin { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeParameterBase"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeParameterBase"); public HaxeParameterPsiMixinImpl(ASTNode node) { super(node); diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java index 6c8a338df..d4175f74f 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiFieldImpl.java @@ -20,12 +20,12 @@ package com.intellij.plugins.haxe.lang.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.lang.psi.*; import com.intellij.plugins.haxe.model.HaxeEnumValueModel; import com.intellij.plugins.haxe.model.HaxeFieldModel; import com.intellij.plugins.haxe.model.HaxeModel; import com.intellij.plugins.haxe.util.HaxeAbstractEnumUtil; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.UsefulPsiTreeUtil; import com.intellij.psi.*; import com.intellij.psi.javadoc.PsiDocComment; @@ -43,7 +43,7 @@ */ public abstract class HaxePsiFieldImpl extends AbstractHaxeNamedComponent implements HaxePsiField { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxePsiFieldImpl"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxePsiFieldImpl"); static { LOG.info("Loaded HaxePsiFieldImpl"); diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java index 90d32f889..dcabd8bc8 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxePsiTypeAdapter.java @@ -21,7 +21,6 @@ import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.navigation.ItemPresentation; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.TextRange; @@ -32,6 +31,7 @@ import com.intellij.plugins.haxe.metadata.psi.HaxeMeta; import com.intellij.plugins.haxe.metadata.psi.impl.HaxeMetadataTypeName; import com.intellij.plugins.haxe.metadata.util.HaxeMetadataUtils; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.search.GlobalSearchScope; @@ -57,7 +57,7 @@ */ public class HaxePsiTypeAdapter extends PsiType implements HaxeType { - static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxePsiTypeAdapter"); + static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxePsiTypeAdapter"); static { LOG.setLevel(Level.DEBUG); } diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeListPartPsiMixinImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeListPartPsiMixinImpl.java index cb4be3fb1..921c4b9e0 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeListPartPsiMixinImpl.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeListPartPsiMixinImpl.java @@ -18,7 +18,6 @@ package com.intellij.plugins.haxe.lang.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Pair; import com.intellij.plugins.haxe.lang.lexer.HaxeTokenTypes; import com.intellij.plugins.haxe.lang.psi.*; @@ -60,7 +59,7 @@ public class HaxeTypeListPartPsiMixinImpl extends HaxePsiCompositeElementImpl im // This type doesn't really support a class, just gives a function pointer. So, now // we've got a mostly empty stub class as well... - static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeTypeListPartPsiMixinImpl"); + static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeTypeListPartPsiMixinImpl"); static { LOG.setLevel(Level.DEBUG); } @@ -99,7 +98,7 @@ private PsiClass getDelegate() { myChildClass = (HaxeAnonymousType) target; } else { LOG.debug("Target: " + target.toString()); - LOG.assertTrue(false, "Unexpected token type for child of TYPE_OR_ANONYMOUS"); + LOG.assertLog(false, "Unexpected token type for child of TYPE_OR_ANONYMOUS"); myChildClass = AbstractHaxePsiClass.createEmptyFacade(getProject()); } } else if (HaxeTokenTypes.FUNCTION_TYPE.equals(type)) { @@ -116,7 +115,7 @@ private PsiClass getDelegate() { } } else { // No child node? How can this be? - LOG.assertTrue(false, "No child node found for TYPE_LIST_PART"); + LOG.assertLog(false, "No child node found for TYPE_LIST_PART"); myChildClass = AbstractHaxePsiClass.createEmptyFacade(getProject()); } } diff --git a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypePsiMixinImpl.java b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypePsiMixinImpl.java index db2515dc7..a0106662b 100644 --- a/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypePsiMixinImpl.java +++ b/src/common/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypePsiMixinImpl.java @@ -20,8 +20,8 @@ package com.intellij.plugins.haxe.lang.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.lang.psi.*; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.psi.*; import org.apache.log4j.Level; import org.jetbrains.annotations.Nullable; @@ -31,7 +31,7 @@ */ public class HaxeTypePsiMixinImpl extends HaxePsiCompositeElementImpl implements HaxeTypePsiMixin { - private static Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeTypePsiMixin"); + private static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.lang.psi.impl.HaxeTypePsiMixin"); { LOG.setLevel(Level.DEBUG); } diff --git a/src/common/com/intellij/plugins/haxe/metadata/psi/impl/HaxeMetaImpl.java b/src/common/com/intellij/plugins/haxe/metadata/psi/impl/HaxeMetaImpl.java index 5940f10b7..6cc9fc36c 100644 --- a/src/common/com/intellij/plugins/haxe/metadata/psi/impl/HaxeMetaImpl.java +++ b/src/common/com/intellij/plugins/haxe/metadata/psi/impl/HaxeMetaImpl.java @@ -16,11 +16,11 @@ package com.intellij.plugins.haxe.metadata.psi.impl; import com.intellij.lang.ASTNode; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.lang.lexer.HaxeTokenTypes; import com.intellij.plugins.haxe.lang.psi.impl.HaxePsiCompositeElementImpl; import com.intellij.plugins.haxe.metadata.lexer.HaxeMetadataTokenTypes; import com.intellij.plugins.haxe.metadata.psi.*; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.UsefulPsiTreeUtil; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; @@ -30,7 +30,7 @@ public class HaxeMetaImpl extends HaxePsiCompositeElementImpl implements HaxeMeta { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.metadata.psi.impl.HaxeMetaImpl"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.metadata.psi.impl.HaxeMetaImpl"); private static String CT_PREFIX = HaxeMetadataTokenTypes.CT_META_PREFIX.toString(); private static String RT_PREFIX = HaxeMetadataTokenTypes.RT_META_PREFIX.toString(); diff --git a/src/common/com/intellij/plugins/haxe/metadata/util/HaxeMetadataUtils.java b/src/common/com/intellij/plugins/haxe/metadata/util/HaxeMetadataUtils.java index a451399fd..2c768111b 100644 --- a/src/common/com/intellij/plugins/haxe/metadata/util/HaxeMetadataUtils.java +++ b/src/common/com/intellij/plugins/haxe/metadata/util/HaxeMetadataUtils.java @@ -15,7 +15,6 @@ */ package com.intellij.plugins.haxe.metadata.util; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.lang.psi.HaxeCompileTimeMetaArg; import com.intellij.plugins.haxe.lang.psi.HaxeExpression; import com.intellij.plugins.haxe.metadata.HaxeMetadataList; @@ -23,6 +22,7 @@ import com.intellij.plugins.haxe.metadata.psi.HaxeMeta; import com.intellij.plugins.haxe.metadata.psi.HaxeMetadataContent; import com.intellij.plugins.haxe.metadata.psi.impl.HaxeMetadataTypeName; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import com.intellij.plugins.haxe.util.UsefulPsiTreeUtil; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; @@ -40,7 +40,7 @@ public class HaxeMetadataUtils { - private static Logger LOG = Logger.getInstance("#HaxeMetadataUtils"); + private static HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#HaxeMetadataUtils"); private HaxeMetadataUtils() {} diff --git a/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexBuildConfiguration.java b/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexBuildConfiguration.java index 39c39368e..1bbd628a4 100644 --- a/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexBuildConfiguration.java +++ b/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexBuildConfiguration.java @@ -21,8 +21,8 @@ import com.intellij.flex.model.bc.OutputType; import com.intellij.flex.model.bc.TargetPlatform; import com.intellij.lang.javascript.flex.projectStructure.model.*; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -35,7 +35,7 @@ public class FakeFlexBuildConfiguration implements FlexBuildConfiguration { private final Sdk sdk; private final String url; - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.config.sdk.HaxeSdkUtil"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.config.sdk.HaxeSdkUtil"); public FakeFlexBuildConfiguration(Sdk sdk, String url) { this.sdk = sdk; diff --git a/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexDependencies.java b/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexDependencies.java index dfa3b1ac1..2730881dd 100644 --- a/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexDependencies.java +++ b/src/common/com/intellij/plugins/haxe/runner/debugger/FakeFlexDependencies.java @@ -20,7 +20,7 @@ import com.intellij.lang.javascript.flex.projectStructure.model.Dependencies; import com.intellij.lang.javascript.flex.projectStructure.model.DependencyEntry; import com.intellij.lang.javascript.flex.projectStructure.model.SdkEntry; -import com.intellij.openapi.diagnostic.Logger; +import com.intellij.plugins.haxe.util.HaxeDebugLogger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -30,7 +30,7 @@ public class FakeFlexDependencies implements Dependencies { - private static final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.config.sdk.HaxeSdkUtil"); + private static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.config.sdk.HaxeSdkUtil"); private static final DependencyEntry[] NO_DEPENDENCIES = {}; @Nullable diff --git a/src/common/com/intellij/plugins/haxe/util/HaxeDebugTimeLog.java b/src/common/com/intellij/plugins/haxe/util/HaxeDebugTimeLog.java index ed8bab5f0..a9b79c4c8 100644 --- a/src/common/com/intellij/plugins/haxe/util/HaxeDebugTimeLog.java +++ b/src/common/com/intellij/plugins/haxe/util/HaxeDebugTimeLog.java @@ -33,10 +33,10 @@ public final class HaxeDebugTimeLog { // For logging issues with this class. - final Logger LOG = Logger.getInstance("#com.intellij.plugins.haxe.util.HaxeDebugTimeLog"); + final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#com.intellij.plugins.haxe.util.HaxeDebugTimeLog"); // For logging time stamps that go on another logger. - Logger myLog; + HaxeDebugLogger myLog; LinkedList myTimeStamps; Since mySince; @@ -59,11 +59,11 @@ public HaxeDebugTimeLog(@Nullable String messagePrefix) { } public HaxeDebugTimeLog(@Nullable String messagePrefix, Since since) { - this(Logger.getInstance(messagePrefix), since); + this(HaxeDebugLogger.getInstance(messagePrefix), since); myLog.setLevel(Level.DEBUG); } - public HaxeDebugTimeLog(@NotNull Logger log, Since since) { + public HaxeDebugTimeLog(@NotNull HaxeDebugLogger log, Since since) { myLog = log; myTimeStamps = new LinkedList(); mySince = since; @@ -102,7 +102,7 @@ static public HaxeDebugTimeLog startNew(@NotNull String prefix, Since since) { * @param logger where to write the time stamp. * @param message text to identify the message. */ - public static void logStamp(@NotNull Logger logger, @Nullable String message) { + public static void logStamp(@NotNull HaxeDebugLogger logger, @Nullable String message) { if (null == message) message = ""; logger.debug(message + ":" + formatTime(System.currentTimeMillis())); } @@ -216,7 +216,7 @@ public synchronized void stampAndEcho(@Nullable String message, Since since) { myTimeStamps.add(ts); switch (since) { default: - LOG.assertTrue(false, "Unknown 'Since' type encountered."); + LOG.assertLog(false, "Unknown 'Since' type encountered."); case None: ts.log(); break; @@ -287,11 +287,11 @@ public void log() { log(myLog); } - public void log(@NotNull Logger logger) { + public void log(@NotNull HaxeDebugLogger logger) { logger.debug(buildLogMsg(false, null, null)); } - public void log(@NotNull Logger logger, boolean showTimeStamp, @Nullable TimeStamp first, @Nullable TimeStamp previous) { + public void log(@NotNull HaxeDebugLogger logger, boolean showTimeStamp, @Nullable TimeStamp first, @Nullable TimeStamp previous) { logger.debug(buildLogMsg(showTimeStamp, first, previous)); } diff --git a/src/common/com/intellij/plugins/haxe/util/HaxeDebugUtil.java b/src/common/com/intellij/plugins/haxe/util/HaxeDebugUtil.java index 38a4bfd18..73c6c70d1 100644 --- a/src/common/com/intellij/plugins/haxe/util/HaxeDebugUtil.java +++ b/src/common/com/intellij/plugins/haxe/util/HaxeDebugUtil.java @@ -15,7 +15,6 @@ */ package com.intellij.plugins.haxe.util; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.text.StringUtil; import com.intellij.plugins.haxe.HaxeBundle; import com.intellij.psi.PsiElement; @@ -34,7 +33,7 @@ */ public class HaxeDebugUtil { - public static final Logger cacheDebugLog = Logger.getInstance("#DisableCacheForDebugging"); + public static final HaxeDebugLogger cacheDebugLog = HaxeDebugLogger.getInstance("#DisableCacheForDebugging"); private static boolean disabledManually = false; /** @@ -287,4 +286,4 @@ private static String valueMessage(Object o) { } } -} \ No newline at end of file +} diff --git a/src/common/com/intellij/plugins/haxe/util/HaxeResolveUtil.java b/src/common/com/intellij/plugins/haxe/util/HaxeResolveUtil.java index 5cdffe232..60f67a62b 100644 --- a/src/common/com/intellij/plugins/haxe/util/HaxeResolveUtil.java +++ b/src/common/com/intellij/plugins/haxe/util/HaxeResolveUtil.java @@ -302,12 +302,14 @@ private static void addNotNullComponents(@NotNull List colle @NotNull public static List findNamedSubComponents(boolean unique, @Nullable HaxeGenericResolver resolver, @NotNull HaxeClass... rootHaxeClasses) { final List unfilteredResult = new ArrayList<>(); - final LinkedList classes = new LinkedList<>(); final HashSet processed = new HashSet<>(); - classes.addAll(Arrays.asList(rootHaxeClasses)); + final List temp = Arrays.asList(rootHaxeClasses.clone()); + final LinkedList classes = new LinkedList<>(temp); while (!classes.isEmpty()) { final HaxeClass haxeClass = classes.pollFirst(); + if (haxeClass == null) continue; + addNotNullComponents(unfilteredResult, getNamedSubComponents(haxeClass)); if (haxeClass.isAbstract()) { if (null == resolver) { @@ -732,7 +734,7 @@ private static HaxeClassResolveResult searchForIterableTypeRecursively(HaxeClass result = getResolveMethodReturnType(resolver, iteratorResultHaxeClass, "next", iteratorResult.getSpecialization()); - if (result.getHaxeClass() == null) { + if (result.getHaxeClass() == null && resolveResultHaxeClass != null) { // check underlying types SpecificHaxeClassReference underlyingClassReference = resolveResultHaxeClass.getModel().getUnderlyingClassReference(resolver); if(underlyingClassReference != null) { diff --git a/testSrc/com/intellij/plugins/haxe/util/HaxeTestUtils.java b/testSrc/com/intellij/plugins/haxe/util/HaxeTestUtils.java index baa1398b4..7e383db62 100644 --- a/testSrc/com/intellij/plugins/haxe/util/HaxeTestUtils.java +++ b/testSrc/com/intellij/plugins/haxe/util/HaxeTestUtils.java @@ -19,7 +19,6 @@ package com.intellij.plugins.haxe.util; import com.intellij.openapi.application.PathManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.plugins.haxe.HaxeCodeInsightFixtureTestCase; import com.intellij.plugins.haxe.build.IdeaTarget; import com.intellij.plugins.haxe.build.MethodWrapper; @@ -43,7 +42,7 @@ * Created by fedorkorotkov. */ public class HaxeTestUtils { - public static final Logger LOG = Logger.getInstance("#HaxeTestUtils"); + public static final HaxeDebugLogger LOG = HaxeDebugLogger.getInstance("#HaxeTestUtils"); public static final String HAXE_TOOLKIT_BASE_DIR = "haxe"; public static final String HAXE_STDLIB_DIR = "std";
    Documentation:Project Web SiteProject Web Site
    Release Notes:
    Support:Community DiscourseCommunity Discourse
    Enterprise Support:Bishton Software SolutionsBishton Software Solutions