Full Code of JetBrains/kotlin-eclipse for AI

master 202197775219 cached
1604 files
2.2 MB
678.9k tokens
2766 symbols
1 requests
Download .txt
Showing preview only (2,719K chars total). Download the full file or copy to clipboard to get everything.
Repository: JetBrains/kotlin-eclipse
Branch: master
Commit: 202197775219
Files: 1604
Total size: 2.2 MB

Directory structure:
gitextract_ciuqhpnh/

├── .gitattributes
├── .github/
│   └── workflows/
│       └── main.yml
├── .gitignore
├── LICENSE
├── README.md
├── common-settings/
│   └── kotlin-formatting.xml
├── docs/
│   └── dev-documentation.md
├── kotlin-bundled-compiler/
│   ├── Get Bundled Kotlin.launch
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.gradle.kts
│   ├── build.properties
│   ├── buildSrc/
│   │   ├── build.gradle
│   │   └── src/
│   │       ├── main/
│   │       │   └── groovy/
│   │       │       └── com/
│   │       │           └── intellij/
│   │       │               └── buildsupport/
│   │       │                   ├── dependencies/
│   │       │                   │   ├── PackageList.groovy
│   │       │                   │   ├── PackageListFromManifest.groovy
│   │       │                   │   └── PackageListFromSimpleFile.groovy
│   │       │                   ├── resolve/
│   │       │                   │   ├── http/
│   │       │                   │   │   ├── HttpArtifact.groovy
│   │       │                   │   │   ├── HttpArtifactsResolver.groovy
│   │       │                   │   │   └── idea/
│   │       │                   │   │       └── IntellijIdeaArtifactsResolver.groovy
│   │       │                   │   └── tc/
│   │       │                   │       ├── TCArtifact.groovy
│   │       │                   │       ├── TCArtifactsResolver.groovy
│   │       │                   │       └── kotlin/
│   │       │                   │           ├── CommonIDEArtifactsResolver.groovy
│   │       │                   │           └── KotlinCompilerTCArtifactsResolver.groovy
│   │       │                   └── utils/
│   │       │                       └── FileUtils.groovy
│   │       └── test/
│   │           └── groovy/
│   │               └── com/
│   │                   └── intellij/
│   │                       └── buildsupport/
│   │                           └── tc/
│   │                               └── kotlin/
│   │                                   └── KotlinCompilerTCArtifactsResolverSpecification.groovy
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── pom.xml
│   ├── referencedPackages.txt
│   └── src/
│       ├── com/
│       │   └── intellij/
│       │       ├── codeInsight/
│       │       │   ├── CodeInsightBundle.java
│       │       │   ├── KotlinNullableNotNullManager.kt
│       │       │   ├── actions/
│       │       │   │   └── ReformatCodeProcessor.java
│       │       │   └── generation/
│       │       │       └── GenerateEqualsHelper.java
│       │       ├── formatting/
│       │       │   ├── KotlinLanguageCodeStyleSettingsProvider.kt
│       │       │   └── KotlinSettingsProvider.kt
│       │       ├── openapi/
│       │       │   ├── editor/
│       │       │   │   └── Editor.java
│       │       │   ├── extensions/
│       │       │   │   └── ExtensionException.kt
│       │       │   ├── fileTypes/
│       │       │   │   └── StdFileTypes.java
│       │       │   └── util/
│       │       │       └── text/
│       │       │           └── StringUtil.java
│       │       └── util/
│       │           ├── SequentialModalProgressTask.java
│       │           ├── SequentialTask.java
│       │           ├── SingletonSet.java
│       │           └── containers/
│       │               ├── LinkedMultiMap.java
│       │               ├── MultiMap.java
│       │               └── ObjectIntHashMap.java
│       ├── it/
│       │   └── unimi/
│       │       └── dsi/
│       │           └── fastutil/
│       │               └── ints/
│       │                   └── IntOpenHashSet.java
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── idea/
│                       └── core/
│                           └── formatter/
│                               └── KotlinPackageEntry.kt
├── kotlin-eclipse-aspects/
│   ├── META-INF/
│   │   ├── MANIFEST.MF
│   │   └── aop.xml
│   ├── build.properties
│   ├── pom.xml
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── aspects/
│                       ├── Activator.java
│                       ├── debug/
│                       │   ├── core/
│                       │   │   ├── KotlinSourceLookupAspect.aj
│                       │   │   └── KotlinStackFrameFilterAspect.aj
│                       │   └── ui/
│                       │       └── SuppressBreakpointMarkerUpdaterAspect.aj
│                       ├── navigation/
│                       │   ├── KotlinFindSourceAspect.aj
│                       │   ├── KotlinOpenEditorAspect.aj
│                       │   └── KotlinSearchEditorOpenerAspect.aj
│                       ├── refactoring/
│                       │   ├── KotlinBinaryReferencesAspect.aj
│                       │   ├── KotlinBreakpointRenamingParticipantAspect.aj
│                       │   ├── KotlinJavaDescriptorAspect.aj
│                       │   ├── KotlinRefactoringChecksAspect.aj
│                       │   ├── KotlinRefactoringTypeAspect.aj
│                       │   ├── KotlinRemoveDeclarationUpdateAspect.aj
│                       │   ├── KotlinRenameFromJavaAspect.aj
│                       │   └── KotlinRippleMethodFinderAspect.aj
│                       └── ui/
│                           └── PackageExplorerLabelProviderAspect.aj
├── kotlin-eclipse-core/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── preferences.ini
│   ├── schema/
│   │   ├── org.jetbrains.kotlin.core.predefinedKotlinCodeStyle.exsd
│   │   └── org.jetbrains.kotlin.core.scriptTemplateContribution.exsd
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── core/
│                       ├── Activator.java
│                       ├── KotlinClasspathContainer.kt
│                       ├── KotlinClasspathContainerInitializer.kt
│                       ├── KotlinClasspathProvider.kt
│                       ├── asJava/
│                       │   ├── BinaryClassWriter.java
│                       │   ├── KotlinLightClassGeneration.kt
│                       │   ├── LightClassBuilderFactory.java
│                       │   ├── LightClassFile.java
│                       │   └── elementUtils.kt
│                       ├── builder/
│                       │   └── KotlinPsiManager.kt
│                       ├── compiler/
│                       │   ├── KotlinCompiler.kt
│                       │   ├── KotlinCompiler2.java
│                       │   └── KotlinCompilerUtils.kt
│                       ├── debug/
│                       │   └── KotlinSourceLookupNavigator.java
│                       ├── filesystem/
│                       │   ├── EnvironmentRemnantNature.kt
│                       │   ├── KotlinFileStore.kt
│                       │   ├── KotlinFileSystem.java
│                       │   ├── KotlinLightClassManager.kt
│                       │   └── KotlinScriptFIleSystem.kt
│                       ├── formatting/
│                       │   └── KotlinCodeStyleManager.kt
│                       ├── imports/
│                       │   ├── FunctionImportFinder.kt
│                       │   ├── importCandidates.kt
│                       │   └── importServices.kt
│                       ├── launch/
│                       │   ├── CompilerOutputData.java
│                       │   ├── CompilerOutputElement.java
│                       │   ├── CompilerOutputParser.java
│                       │   └── KotlinCLICompiler.kt
│                       ├── log/
│                       │   └── kotlinLogger.kt
│                       ├── model/
│                       │   ├── CachedEnvironment.kt
│                       │   ├── DummyCodeStyleManager.kt
│                       │   ├── EclipseKotlinModuleResolver.kt
│                       │   ├── EclipseScriptDefinitionProvider.kt
│                       │   ├── KotlinAnalysisFileCache.kt
│                       │   ├── KotlinAnalysisProjectCache.kt
│                       │   ├── KotlinCommonEnvironment.kt
│                       │   ├── KotlinEnvironment.kt
│                       │   ├── KotlinJavaManager.kt
│                       │   ├── KotlinLightVirtualFile.kt
│                       │   ├── KotlinNature.kt
│                       │   ├── KotlinRefreshProjectListener.kt
│                       │   ├── executableEP.kt
│                       │   └── kotlinModelUtils.kt
│                       ├── preferences/
│                       │   ├── KotlinBuildingProperties.kt
│                       │   ├── KotlinCodeStyleProperties.kt
│                       │   ├── KotlinProperties.kt
│                       │   ├── KotlinPropertiesExtensions.kt
│                       │   └── Preferences.kt
│                       ├── references/
│                       │   ├── KotlinReference.kt
│                       │   └── referenceUtils.kt
│                       ├── resolve/
│                       │   ├── BuiltInsReferenceResolver.java
│                       │   ├── DeserializedDescriptorUtils.kt
│                       │   ├── EclipseAnalyzerFacadeForJVM.kt
│                       │   ├── EclipseDescriptorUtils.java
│                       │   ├── KotlinAnalyzer.kt
│                       │   ├── KotlinCacheServiceImpl.kt
│                       │   ├── KotlinPackagePartProvider.kt
│                       │   ├── KotlinResolutionFacade.kt
│                       │   ├── KotlinSourceIndex.java
│                       │   ├── injection.kt
│                       │   ├── lang/
│                       │   │   ├── java/
│                       │   │   │   ├── EclipseJavaClassFinder.java
│                       │   │   │   ├── resolver/
│                       │   │   │   │   ├── EclipseJavaSourceElement.java
│                       │   │   │   │   ├── EclipseJavaSourceElementFactory.java
│                       │   │   │   │   └── EclipseTraceBasedJavaResolverCache.kt
│                       │   │   │   └── structure/
│                       │   │   │       ├── EclipseJavaAnnotation.kt
│                       │   │   │       ├── EclipseJavaAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaAnnotationAsAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaArrayAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaArrayType.java
│                       │   │   │       ├── EclipseJavaClass.kt
│                       │   │   │       ├── EclipseJavaClassObjectAnnotationArgument.java
│                       │   │   │       ├── EclipseJavaClassifier.kt
│                       │   │   │       ├── EclipseJavaClassifierType.java
│                       │   │   │       ├── EclipseJavaConstructor.java
│                       │   │   │       ├── EclipseJavaElement.kt
│                       │   │   │       ├── EclipseJavaElementFactory.java
│                       │   │   │       ├── EclipseJavaElementUtil.java
│                       │   │   │       ├── EclipseJavaField.kt
│                       │   │   │       ├── EclipseJavaLiteralAnnotationArgument.java
│                       │   │   │       ├── EclipseJavaMember.java
│                       │   │   │       ├── EclipseJavaMethod.kt
│                       │   │   │       ├── EclipseJavaPackage.java
│                       │   │   │       ├── EclipseJavaPrimitiveType.java
│                       │   │   │       ├── EclipseJavaPropertyInitializerEvaluator.java
│                       │   │   │       ├── EclipseJavaReferenceAnnotationArgument.java
│                       │   │   │       ├── EclipseJavaType.java
│                       │   │   │       ├── EclipseJavaTypeAsAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaTypeParameter.kt
│                       │   │   │       ├── EclipseJavaValueParameter.java
│                       │   │   │       ├── EclipseJavaWildcardType.java
│                       │   │   │       └── EclipseOptimizedJavaClass.kt
│                       │   │   └── kotlin/
│                       │   │       └── EclipseVirtualFileFinder.kt
│                       │   └── sources/
│                       │       └── LibrarySourcesIndex.kt
│                       ├── script/
│                       │   ├── EnvironmentProjectsManager.kt
│                       │   ├── ScriptTemplateContribution.kt
│                       │   └── template/
│                       │       ├── ProjectFilesResolver.kt
│                       │       ├── ProjectScriptTemplate.kt
│                       │       └── ProjectScriptTemplateContribution.kt
│                       └── utils/
│                           ├── DebugUtils.java
│                           ├── DependencyResolverException.kt
│                           ├── ProjectUtils.kt
│                           ├── analyzeUtils.kt
│                           ├── genericUtils.kt
│                           ├── importsUtils.kt
│                           ├── jobUtils.kt
│                           ├── kotlinFilesCollectorUtils.kt
│                           └── projectFilesUtils.kt
├── kotlin-eclipse-feature/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── kotlin-eclipse-gradle/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── scripts/
│   │   └── init.gradle.kts
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── gradle/
│                       ├── Activator.kt
│                       ├── configurator/
│                       │   └── KotlinProjectConfigurator.kt
│                       └── initialization/
│                           └── ModelInjector.kt
├── kotlin-eclipse-gradle-feature/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── kotlin-eclipse-gradle-model/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.gradle
│   ├── build.properties
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── pom.xml
│   ├── settings.gradle
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── gradle/
│                       └── model/
│                           ├── GradleMultiProjectForEclipse.kt
│                           ├── GradleProjectForEclipse.kt
│                           └── plugins.kt
├── kotlin-eclipse-maven/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── lifecycle-mapping-metadata.xml
│   ├── plugin.xml
│   ├── pom.xml
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── maven/
│                       ├── Activator.java
│                       └── configuration/
│                           ├── KotlinMavenProjectConfigurator.kt
│                           └── MavenAttributeAccessor.kt
├── kotlin-eclipse-p2updatesite/
│   ├── category.xml
│   └── pom.xml
├── kotlin-eclipse-policy/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── kotlin-eclipse-test-framework/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── pom.xml
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── testframework/
│                       ├── Activator.java
│                       ├── editor/
│                       │   ├── KotlinEditorAutoTestCase.java
│                       │   ├── KotlinEditorSequentialAutoTestCase.java
│                       │   ├── KotlinEditorTestCase.java
│                       │   ├── KotlinEditorWithAfterFileTestCase.java
│                       │   ├── KotlinProjectTestCase.java
│                       │   └── TextEditorTest.java
│                       └── utils/
│                           ├── CodeStyleConfigurator.kt
│                           ├── EditorTestUtils.java
│                           ├── ExpectedCompletionUtils.java
│                           ├── InTextDirectivesUtils.java
│                           ├── KotlinTestUtils.java
│                           ├── SourceFileData.java
│                           ├── TestJavaProject.java
│                           ├── TypingUtils.java
│                           └── WorkspaceUtil.java
├── kotlin-eclipse-ui/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── Run Kotlin Plugin with Equinox Weaving.launch
│   ├── Run with open port.launch
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── schema/
│   │   └── org.jetbrains.kotlin.ui.editor.textHover.exsd
│   ├── src/
│   │   └── org/
│   │       └── jetbrains/
│   │           └── kotlin/
│   │               ├── eclipse/
│   │               │   └── ui/
│   │               │       └── utils/
│   │               │           ├── EditorUtil.java
│   │               │           ├── IndenterUtil.java
│   │               │           ├── KotlinEclipseScope.kt
│   │               │           ├── KotlinImageProvider.kt
│   │               │           ├── LineEndUtil.java
│   │               │           ├── ProjectScopedPreferenceUtils.java
│   │               │           ├── analyzeUtils.kt
│   │               │           └── offsetUtils.kt
│   │               ├── perspective/
│   │               │   └── KotlinPerspectiveFactory.java
│   │               ├── preferences/
│   │               │   ├── BasePropertyPage.kt
│   │               │   ├── EditorPreferencePage.java
│   │               │   ├── KotlinPreferenceInitializer.kt
│   │               │   ├── KotlinPreferencePage.java
│   │               │   ├── KotlinTemplatePreferencePage.java
│   │               │   ├── building/
│   │               │   │   ├── ProjectBuildingPropertyPage.kt
│   │               │   │   └── WorkspaceBuildingPropertyPage.kt
│   │               │   ├── compiler/
│   │               │   │   ├── CompilerPluginDialog.kt
│   │               │   │   ├── ProjectCompilerPropertyPage.kt
│   │               │   │   ├── RebuildJob.kt
│   │               │   │   └── WorkspaceCompilerPropertyPage.kt
│   │               │   ├── style/
│   │               │   │   ├── ProjectCodeStylePropertyPage.kt
│   │               │   │   └── WorkspaceCodeStylePropertyPage.kt
│   │               │   └── views/
│   │               │       ├── BuildingPropertiesView.kt
│   │               │       ├── CompilerPropertiesView.kt
│   │               │       ├── ProjectCompilerPropertiesView.kt
│   │               │       ├── Validable.kt
│   │               │       └── codeStylePropertiesView.kt
│   │               ├── swt/
│   │               │   └── builders/
│   │               │       ├── ChecklistView.kt
│   │               │       └── controls.kt
│   │               ├── ui/
│   │               │   ├── Activator.kt
│   │               │   ├── KotlinAwarePackageExplorerLabelProvider.kt
│   │               │   ├── KotlinPluginUpdater.kt
│   │               │   ├── KotlinUiStartupClass.java
│   │               │   ├── RemoveRemnantProjectsJob.kt
│   │               │   ├── ScriptClasspathUpdater.kt
│   │               │   ├── ScriptEnvironmentsFilter.kt
│   │               │   ├── builder/
│   │               │   │   ├── AspectsUtils.java
│   │               │   │   ├── BaseKotlinBuilderElement.kt
│   │               │   │   ├── CompileKotlinClassesAction.kt
│   │               │   │   ├── IncrementalKotlinBuilderElement.kt
│   │               │   │   ├── KotlinAnalysisJob.kt
│   │               │   │   ├── KotlinBuilder.kt
│   │               │   │   ├── KotlinBuilderElement.kt
│   │               │   │   ├── ResourceChangeListener.kt
│   │               │   │   └── kotlinJavaElementsListeners.kt
│   │               │   ├── commands/
│   │               │   │   ├── AddCoroutinesActionHandler.kt
│   │               │   │   ├── ConfigureKotlinActionHandler.kt
│   │               │   │   ├── DeconfigureKotlinActionHandler.kt
│   │               │   │   ├── commandsUtils.kt
│   │               │   │   ├── findReferences/
│   │               │   │   │   ├── KotlinFindReferencesAction.kt
│   │               │   │   │   └── querySpecifications.kt
│   │               │   │   ├── j2k/
│   │               │   │   │   ├── CompositeUndoableOperation.java
│   │               │   │   │   ├── JavaToKotlinActionHandler.java
│   │               │   │   │   ├── SetFileCharsetOperation.java
│   │               │   │   │   └── converterUtils.kt
│   │               │   │   └── psiVisualization/
│   │               │   │       ├── PsiContentProvider.java
│   │               │   │       ├── PsiVisualization.java
│   │               │   │       └── VisualizationPage.java
│   │               │   ├── debug/
│   │               │   │   ├── KotlinRunToLineAdapter.kt
│   │               │   │   ├── KotlinToggleBreakpointAdapter.kt
│   │               │   │   └── commands/
│   │               │   │       └── KotlinStepIntoSelectionHandler.kt
│   │               │   ├── editors/
│   │               │   │   ├── Configuration.java
│   │               │   │   ├── FileEditorConfiguration.kt
│   │               │   │   ├── KotlinActionGroup.kt
│   │               │   │   ├── KotlinAutoIndentStrategy.java
│   │               │   │   ├── KotlinBracketInserter.java
│   │               │   │   ├── KotlinClassFileEditor.kt
│   │               │   │   ├── KotlinClassFileEditorInput.kt
│   │               │   │   ├── KotlinCommonEditor.kt
│   │               │   │   ├── KotlinCorrectionProcessor.kt
│   │               │   │   ├── KotlinEditor.kt
│   │               │   │   ├── KotlinElementHyperlink.kt
│   │               │   │   ├── KotlinElementHyperlinkDetector.kt
│   │               │   │   ├── KotlinFileEditor.kt
│   │               │   │   ├── KotlinFormatAction.kt
│   │               │   │   ├── KotlinReconcilingStrategy.kt
│   │               │   │   ├── KotlinScriptEditor.kt
│   │               │   │   ├── annotations/
│   │               │   │   │   ├── AnnotationManager.kt
│   │               │   │   │   ├── DiagnosticAnnotation.kt
│   │               │   │   │   ├── DiagnosticAnnotationUtil.java
│   │               │   │   │   └── KotlinAnnotationImageProvider.java
│   │               │   │   ├── codeassist/
│   │               │   │   │   ├── CompletionElementType.kt
│   │               │   │   │   ├── FilterPositionUtil.java
│   │               │   │   │   ├── KeywordCompletion.kt
│   │               │   │   │   ├── KotlinCompletionProcessor.kt
│   │               │   │   │   ├── KotlinCompletionProposal.kt
│   │               │   │   │   ├── KotlinContextInfoContentAssistProcessor.kt
│   │               │   │   │   ├── KotlinFunctionCompletionProposal.kt
│   │               │   │   │   ├── KotlinFunctionParameterInfoAssist.kt
│   │               │   │   │   ├── KotlinParameterListValidator.kt
│   │               │   │   │   ├── VisibilityUtils.kt
│   │               │   │   │   ├── nonImportedCompletionHandler.kt
│   │               │   │   │   ├── positionFilters.kt
│   │               │   │   │   └── relevanceSorting.kt
│   │               │   │   ├── completion/
│   │               │   │   │   ├── KotlinCompletionUtils.kt
│   │               │   │   │   └── KotlinReferenceVariantsHelper.kt
│   │               │   │   ├── highlighting/
│   │               │   │   │   ├── KotlinHighlightingColors.kt
│   │               │   │   │   ├── KotlinPositionUpdater.kt
│   │               │   │   │   ├── KotlinSemanticHighlighting.kt
│   │               │   │   │   ├── KotlinSemanticHighlightingVisitor.kt
│   │               │   │   │   ├── KotlinTokenScanner.java
│   │               │   │   │   ├── KotlinTokens.kt
│   │               │   │   │   └── KotlinViewerCreator.kt
│   │               │   │   ├── hover/
│   │               │   │   │   ├── KotlinInformationProvider.kt
│   │               │   │   │   ├── KotlinJavadocTextHover.kt
│   │               │   │   │   ├── KotlinProblemTextHover.kt
│   │               │   │   │   └── KotlinTextHover.kt
│   │               │   │   ├── navigation/
│   │               │   │   │   ├── JarNavigationUtils.kt
│   │               │   │   │   ├── KotlinOpenDeclarationAction.kt
│   │               │   │   │   ├── KotlinOpenEditorFromConsole.kt
│   │               │   │   │   ├── KotlinOpenSuperImplementationAction.kt
│   │               │   │   │   ├── StringInput.kt
│   │               │   │   │   ├── StringStorage.kt
│   │               │   │   │   ├── navigationUtils.kt
│   │               │   │   │   └── psiDeclarationFinder.kt
│   │               │   │   ├── occurrences/
│   │               │   │   │   └── KotlinMarkOccurrences.kt
│   │               │   │   ├── organizeImports/
│   │               │   │   │   ├── KotlinOrganizeImportsAction.kt
│   │               │   │   │   └── importsCollector.kt
│   │               │   │   ├── outline/
│   │               │   │   │   ├── KotlinOutlinePage.kt
│   │               │   │   │   ├── KotlinOutlinePopup.java
│   │               │   │   │   ├── PsiContentProvider.kt
│   │               │   │   │   └── PsiLabelProvider.java
│   │               │   │   ├── quickassist/
│   │               │   │   │   ├── KotlinChangeReturnTypeProposal.kt
│   │               │   │   │   ├── KotlinConvertToBlockBodyAssistProposal.kt
│   │               │   │   │   ├── KotlinConvertToExpressionBodyAssistProposal.kt
│   │               │   │   │   ├── KotlinImplementMethodsProposal.kt
│   │               │   │   │   ├── KotlinIntentionUtils.kt
│   │               │   │   │   ├── KotlinQuickAssist.kt
│   │               │   │   │   ├── KotlinQuickAssistProcessor.kt
│   │               │   │   │   ├── KotlinQuickAssistProposal.kt
│   │               │   │   │   ├── KotlinQuickAssistProposalsGenerator.kt
│   │               │   │   │   ├── KotlinRemoveExplicitTypeAssistProposal.kt
│   │               │   │   │   ├── KotlinReplaceGetAssistProposal.java
│   │               │   │   │   └── KotlinSpecifyTypeAssistProposal.kt
│   │               │   │   ├── quickfix/
│   │               │   │   │   ├── KotlinAddModifierResolution.kt
│   │               │   │   │   ├── KotlinAutoImportQuickFix.kt
│   │               │   │   │   ├── KotlinMakeOverridenMemberOpenResolution.kt
│   │               │   │   │   ├── KotlinMarkerResolutionGenerator.kt
│   │               │   │   │   ├── KotlinQuickFix.kt
│   │               │   │   │   ├── KotlinRemoveModifierResolution.kt
│   │               │   │   │   └── MarkerExtensions.kt
│   │               │   │   ├── selection/
│   │               │   │   │   ├── KotlinSelectEnclosingAction.java
│   │               │   │   │   ├── KotlinSelectNextAction.java
│   │               │   │   │   ├── KotlinSelectPreviousAction.java
│   │               │   │   │   ├── KotlinSemanticSelectionAction.java
│   │               │   │   │   ├── PsiElementChildrenIterable.java
│   │               │   │   │   └── handlers/
│   │               │   │   │       ├── KotlinBlockSelectionHandler.kt
│   │               │   │   │       ├── KotlinDeclarationSelectionHandler.kt
│   │               │   │   │       ├── KotlinDefaultSelectionHandler.kt
│   │               │   │   │       ├── KotlinDocSectionSelectionHandler.kt
│   │               │   │   │       ├── KotlinElementSelectionHandler.java
│   │               │   │   │       ├── KotlinElementSelectioner.kt
│   │               │   │   │       ├── KotlinListSelectionHandler.kt
│   │               │   │   │       ├── KotlinNonTraversableSelectionHanlder.kt
│   │               │   │   │       ├── KotlinStringTemplateSelectionHandler.kt
│   │               │   │   │       ├── KotlinWhiteSpaceSelectionHandler.kt
│   │               │   │   │       └── PsiUtils.kt
│   │               │   │   └── templates/
│   │               │   │       ├── KotlinApplicableTemplateContext.java
│   │               │   │       ├── KotlinDocumentTemplateContext.java
│   │               │   │       ├── KotlinTemplateContextType.java
│   │               │   │       ├── KotlinTemplateFormatter.java
│   │               │   │       └── KotlinTemplateManager.java
│   │               │   ├── formatter/
│   │               │   │   ├── AbstractBlock.kt
│   │               │   │   ├── AlignmentStrategy.java
│   │               │   │   ├── AlignmentStrategy.kt
│   │               │   │   ├── EclipseDocumentFormattingModel.java
│   │               │   │   ├── EclipseFormattingModel.java
│   │               │   │   ├── KotlinBlock.kt
│   │               │   │   ├── NodeAlignmentStrategy.kt
│   │               │   │   └── kotlinFormatter.kt
│   │               │   ├── launch/
│   │               │   │   ├── CompilerStatusHandler.kt
│   │               │   │   ├── KotlinLaunchShortcut.kt
│   │               │   │   ├── KotlinLaunchableTester.kt
│   │               │   │   ├── KotlinRuntimeConfigurator.kt
│   │               │   │   ├── KotlinScriptLaunchConfigurationDelegate.kt
│   │               │   │   ├── KotlinScriptLaunchConfigurationTabGroup.kt
│   │               │   │   ├── KotlinScriptLaunchShortcut.kt
│   │               │   │   ├── KotlinScriptLaunchableTester.kt
│   │               │   │   ├── junit/
│   │               │   │   │   ├── KotlinJUnitLaunchShortcut.java
│   │               │   │   │   ├── KotlinJUnitLaunchUtils.java
│   │               │   │   │   └── KotlinJUnitLaunchableTester.java
│   │               │   │   └── kotlinConsole.kt
│   │               │   ├── navigation/
│   │               │   │   ├── KotlinOpenEditor.java
│   │               │   │   └── KotlinOpenEditorUtils.kt
│   │               │   ├── overrideImplement/
│   │               │   │   ├── KotlinCallableLabelProvider.kt
│   │               │   │   └── KotlinOverrideMembersAction.kt
│   │               │   ├── refactorings/
│   │               │   │   ├── extract/
│   │               │   │   │   ├── KotlinExtractVariableAction.kt
│   │               │   │   │   ├── KotlinExtractVariableRefactoring.kt
│   │               │   │   │   └── KotlinExtractVariableWizard.kt
│   │               │   │   └── rename/
│   │               │   │       ├── KotlinLightElementsFactory.java
│   │               │   │       ├── KotlinRenameAction.kt
│   │               │   │       ├── KotlinRenameParticipant.kt
│   │               │   │       ├── KotlinRenameProcessor.kt
│   │               │   │       ├── lightEclipseElements.kt
│   │               │   │       ├── refactoringUtils.kt
│   │               │   │       └── renameParticipants.kt
│   │               │   └── search/
│   │               │       ├── KotlinElementMatchCreator.kt
│   │               │       ├── KotlinQueryParticipant.kt
│   │               │       ├── KotlinReferenceMatchPresentation.kt
│   │               │       ├── SearchParentObjectMapper.kt
│   │               │       └── searchFilters.kt
│   │               ├── utils/
│   │               │   ├── DescriptorUtils.kt
│   │               │   ├── LazyObservable.kt
│   │               │   └── ThrowableExtensions.kt
│   │               └── wizards/
│   │                   ├── AbstractWizard.java
│   │                   ├── AbstractWizardPage.java
│   │                   ├── FileCreationOp.java
│   │                   ├── NewProjectWizard.java
│   │                   ├── NewProjectWizardPage.java
│   │                   ├── NewUnitWizard.java
│   │                   ├── NewUnitWizardPage.java
│   │                   ├── ProjectCreationOp.java
│   │                   ├── SWTWizardUtils.java
│   │                   ├── WizardType.kt
│   │                   ├── unitWizards.kt
│   │                   └── wizardUtils.kt
│   └── templates/
│       └── default-templates.xml
├── kotlin-eclipse-ui-test/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── src/
│   │   └── org/
│   │       └── jetbrains/
│   │           └── kotlin/
│   │               ├── checkers/
│   │               │   └── KotlinDiagnosticsTestCase.java
│   │               ├── core/
│   │               │   └── tests/
│   │               │       ├── diagnostics/
│   │               │       │   ├── AdditionalConditions.java
│   │               │       │   ├── AllDiagnosticsTests.java
│   │               │       │   ├── FileComparisonFailure.java
│   │               │       │   ├── JavaAnnotationArgumentsInKotlinTest.java
│   │               │       │   ├── JetLightFixture.java
│   │               │       │   ├── JetTestUtils.java
│   │               │       │   ├── KotlinDiagnosticsJavaPlusKotlinTest.java
│   │               │       │   └── KotlinDiagnosticsTest.java
│   │               │       └── launch/
│   │               │           ├── AllTests.java
│   │               │           ├── KotlinJUnitLaunchTest.java
│   │               │           ├── KotlinJUnitLaunchTestCase.java
│   │               │           ├── KotlinLaunchTest.java
│   │               │           └── KotlinLaunchTestCase.kt
│   │               └── ui/
│   │                   ├── AllTests.java
│   │                   └── tests/
│   │                       ├── editors/
│   │                       │   ├── AllTests.java
│   │                       │   ├── CommandTestCase.java
│   │                       │   ├── KotlinAnalyzerInIDETest.java
│   │                       │   ├── KotlinAnalyzerInIDETestCase.kt
│   │                       │   ├── KotlinAutoIndentTest.java
│   │                       │   ├── KotlinAutoIndentTestCase.kt
│   │                       │   ├── KotlinAutoIndenterTestCase.java
│   │                       │   ├── KotlinBasicAutoIndentTest.java
│   │                       │   ├── KotlinBracketInserterTest.java
│   │                       │   ├── KotlinBracketInserterTestCase.java
│   │                       │   ├── KotlinCustomLocationBugTest.java
│   │                       │   ├── KotlinEditorBaseTest.java
│   │                       │   ├── KotlinEditorClosedProjectInfluenceTest.java
│   │                       │   ├── PsiVisualizationCommandTest.java
│   │                       │   ├── completion/
│   │                       │   │   ├── AllTests.java
│   │                       │   │   ├── KotlinBasicCompletionTest.java
│   │                       │   │   ├── KotlinBasicCompletionTestCase.kt
│   │                       │   │   ├── KotlinCompletionRelevanceTest.java
│   │                       │   │   ├── KotlinCompletionRelevanceTestCase.kt
│   │                       │   │   ├── KotlinFunctionParameterInfoTest.java
│   │                       │   │   ├── KotlinFunctionParameterInfoTestCase.kt
│   │                       │   │   ├── KotlinKeywordCompletionTest.java
│   │                       │   │   ├── KotlinKeywordCompletionTestCase.kt
│   │                       │   │   ├── completionTestUtils.kt
│   │                       │   │   ├── handlers/
│   │                       │   │   │   ├── KotlinCompletionHandlerInsertTest.java
│   │                       │   │   │   └── KotlinCompletionHandlerInsertTestCase.java
│   │                       │   │   └── templates/
│   │                       │   │       ├── AllTests.java
│   │                       │   │       ├── KotlinTemplatesTest.java
│   │                       │   │       └── KotlinTemplatesTestCase.java
│   │                       │   ├── formatter/
│   │                       │   │   ├── AllFormatTests.java
│   │                       │   │   ├── KotlinFileAnnotationsFormatTest.java
│   │                       │   │   ├── KotlinFormatActionTest.java
│   │                       │   │   ├── KotlinFormatActionTestCase.java
│   │                       │   │   ├── KotlinIdeaFormatActionTest.java
│   │                       │   │   ├── KotlinModifierListFormatTest.java
│   │                       │   │   └── KotlinParameterListFormatTest.java
│   │                       │   ├── highlighting/
│   │                       │   │   ├── KotlinHighlightingPositionUpdaterTest.java
│   │                       │   │   ├── KotlinHighlightingPositionUpdaterTestCase.kt
│   │                       │   │   ├── KotlinHighlightingTest.java
│   │                       │   │   └── KotlinHighlightingTestCase.java
│   │                       │   ├── markers/
│   │                       │   │   ├── AllTests.java
│   │                       │   │   ├── KotlinParsingMarkersTest.java
│   │                       │   │   ├── KotlinParsingMarkersTestCase.java
│   │                       │   │   └── MarkerAttributesTest.java
│   │                       │   ├── navigation/
│   │                       │   │   ├── AllTests.java
│   │                       │   │   ├── JavaToKotlinNavigationTest.java
│   │                       │   │   ├── JavaToKotlinNavigationTestCase.java
│   │                       │   │   ├── KotlinBuiltInsReferenceResolverTest.java
│   │                       │   │   ├── KotlinBuiltInsReferenceResolverTestCase.java
│   │                       │   │   ├── KotlinNavigationFromLibraryTest.java
│   │                       │   │   ├── KotlinNavigationFromLibraryTestCase.kt
│   │                       │   │   ├── KotlinNavigationTest.java
│   │                       │   │   ├── KotlinNavigationTestCase.java
│   │                       │   │   ├── KotlinNavigationToLibraryTest.java
│   │                       │   │   ├── KotlinNavigationToLibraryTestCase.kt
│   │                       │   │   ├── KotlinNavigationToSuperTest.java
│   │                       │   │   ├── KotlinNavigationToSuperTestCase.kt
│   │                       │   │   ├── KotlinSourcesNavigationTestCase.kt
│   │                       │   │   └── library/
│   │                       │   │       └── NavigationTestLibrary.kt
│   │                       │   ├── organizeImports/
│   │                       │   │   ├── KotlinCommonOptimizeImportsTest.java
│   │                       │   │   ├── KotlinJvmOptimizeImportsTest.java
│   │                       │   │   ├── KotlinOrganizeImportsTest.java
│   │                       │   │   └── KotlinOrganizeImportsTestCase.kt
│   │                       │   ├── quickfix/
│   │                       │   │   ├── autoimport/
│   │                       │   │   │   ├── AllTests.java
│   │                       │   │   │   ├── KotlinAbstractModifierQuickFixTest.java
│   │                       │   │   │   ├── KotlinAutoImportTest.java
│   │                       │   │   │   ├── KotlinAutoImportTestCase.java
│   │                       │   │   │   ├── KotlinChangeModifiersQuickFixTest.java
│   │                       │   │   │   ├── KotlinMakeClassOpenQuickFixTest.java
│   │                       │   │   │   ├── KotlinMakeOverridenMemberOpenQuickFixTest.java
│   │                       │   │   │   └── KotlinQuickFixTestCase.kt
│   │                       │   │   └── intentions/
│   │                       │   │       ├── AbstractKotlinQuickAssistTestCase.java
│   │                       │   │       ├── KotlinChangeReturnTypeTest.java
│   │                       │   │       ├── KotlinChangeReturnTypeTestCase.kt
│   │                       │   │       ├── KotlinConvertToBlockBodyTest.java
│   │                       │   │       ├── KotlinConvertToBlockBodyTestCase.java
│   │                       │   │       ├── KotlinConvertToExpressionBodyTest.java
│   │                       │   │       ├── KotlinConvertToExpressionBodyTestCase.java
│   │                       │   │       ├── KotlinImplementMethodsTest.java
│   │                       │   │       ├── KotlinImplementMethodsTestCase.java
│   │                       │   │       ├── KotlinOverrideMembersTestCase.kt
│   │                       │   │       ├── KotlinOverrideMethodsTest.java
│   │                       │   │       ├── KotlinRemoveExplicitTypeTest.java
│   │                       │   │       ├── KotlinRemoveExplicitTypeTestCase.kt
│   │                       │   │       ├── KotlinReplaceGetIntentionTest.java
│   │                       │   │       ├── KotlinReplaceGetIntentionTestCase.java
│   │                       │   │       ├── KotlinSpacesForTabsQuickAssistTestCase.java
│   │                       │   │       ├── KotlinSpecifyTypeTest.java
│   │                       │   │       └── KotlinSpecifyTypeTestCase.java
│   │                       │   └── selection/
│   │                       │       ├── KotlinCommonSelectionTestCase.kt
│   │                       │       ├── KotlinSelectEnclosingTest.java
│   │                       │       ├── KotlinSelectEnclosingTestCase.kt
│   │                       │       ├── KotlinSelectNextTest.java
│   │                       │       ├── KotlinSelectNextTestCase.kt
│   │                       │       ├── KotlinSelectPreviousTest.java
│   │                       │       └── KotlinSelectPreviousTestCase.kt
│   │                       ├── refactoring/
│   │                       │   ├── convert/
│   │                       │   │   └── JavaToKotlinEncodingBugTest.java
│   │                       │   ├── extract/
│   │                       │   │   ├── KotlinExtractVariableTest.java
│   │                       │   │   └── KotlinExtractVariableTestCase.kt
│   │                       │   └── rename/
│   │                       │       ├── KotlinLocalRenameTest.java
│   │                       │       ├── KotlinLocalRenameTestCase.kt
│   │                       │       ├── KotlinRenameTest.java
│   │                       │       └── KotlinRenameTestCase.kt
│   │                       ├── scripts/
│   │                       │   ├── completion/
│   │                       │   │   └── CompletionInScriptsTest.java
│   │                       │   ├── navigation/
│   │                       │   │   └── BasicNavigationInScripts.java
│   │                       │   └── templates/
│   │                       │       ├── KotlinScriptWithTemplateResolveTest.java
│   │                       │       ├── KotlinScriptWithTemplateResolveTestCase.kt
│   │                       │       ├── TestKtScriptTemplateProvider.kt
│   │                       │       ├── TestKtScriptTemplateProviderEx.kt
│   │                       │       ├── TestScriptTemplateDefinition.kt
│   │                       │       └── testCustomEPResolver.kt
│   │                       └── search/
│   │                           ├── KotlinFindReferencesTest.java
│   │                           └── KotlinFindReferencesTestCase.kt
│   └── testData/
│       ├── compiler/
│       │   └── diagnostics/
│       │       └── tests/
│       │           ├── ResolveOfJavaGenerics.kt
│       │           ├── ResolveOfJavaGenerics.txt
│       │           ├── ResolveToJava.kt
│       │           ├── ResolveToJava.txt
│       │           ├── StarsInFunctionCalls.kt
│       │           ├── StarsInFunctionCalls.txt
│       │           ├── TypeInference.kt
│       │           └── TypeInference.txt
│       ├── completion/
│       │   ├── autoimport/
│       │   │   ├── classNestedInClassImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── classNestedInObjectImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionFunctionImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionFunctionReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionInfixFunctionImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other1.kt
│       │   │   │   ├── other2.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionMethodInLambdaWithReceiverAmbigousImport/
│       │   │   │   ├── dependency1.kt
│       │   │   │   ├── dependency2.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionMethodInLambdaWithReceiverImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionOperatorImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other1.kt
│       │   │   │   ├── other2.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionValReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── functionExtensionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── functionReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── importClassWithExistingPackageKeyword.kt
│       │   │   ├── importClassWithExistingPackageKeyword.kt.after
│       │   │   ├── importOnlyUnresolvedReferenceExpressions.kt
│       │   │   ├── importOnlyUnresolvedReferenceExpressions.kt.after
│       │   │   ├── importWithExtraBreakline.kt
│       │   │   ├── importWithExtraBreakline.kt.after
│       │   │   ├── importWithExtraBreaklineWithoutPackage.kt
│       │   │   ├── importWithExtraBreaklineWithoutPackage.kt.after
│       │   │   ├── invokableExtensionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── localJavaClassAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java
│       │   │   ├── localJavaEnumAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── FooEnum.java
│       │   │   ├── localJavaInterfaceAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── FooInterface.java
│       │   │   ├── oneStandardVectorAutoImport.kt
│       │   │   ├── oneStandardVectorAutoImport.kt.after
│       │   │   ├── packageArrayListAutoImport.kt
│       │   │   ├── packageArrayListAutoImport.kt.after
│       │   │   ├── packageLevelFunctionImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── packageLevelFunctionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── packageLevelInvokableValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── packageLevelValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── propertyReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── sameProjectJavaClassAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java
│       │   │   ├── standardEnumMapAutoImport.kt
│       │   │   ├── standardEnumMapAutoImport.kt.after
│       │   │   └── unaryExtensionOperatorImport/
│       │   │       ├── dependency.kt
│       │   │       ├── other1.kt
│       │   │       ├── other2.kt
│       │   │       ├── other3.kt
│       │   │       ├── test.kt
│       │   │       └── test.kt.after
│       │   ├── basic/
│       │   │   ├── common/
│       │   │   │   ├── AfterFloatOnNewLine.kt
│       │   │   │   ├── AfterIntSeparatedWithComments.kt
│       │   │   │   ├── AutoCastAfterIf.kt
│       │   │   │   ├── AutoCastAfterIfMethod.kt
│       │   │   │   ├── AutoCastForThis.kt
│       │   │   │   ├── AutoCastInWhen.kt
│       │   │   │   ├── BasicAny.kt
│       │   │   │   ├── BasicInt.kt
│       │   │   │   ├── BeforeDotInCall.kt
│       │   │   │   ├── CallLocalLambda.kt
│       │   │   │   ├── ClassObjectElementsInClass.kt
│       │   │   │   ├── ClassRedeclaration1.kt
│       │   │   │   ├── ClassRedeclaration2.kt
│       │   │   │   ├── ExtendClassName.kt
│       │   │   │   ├── ExtendQualifiedClassName.kt
│       │   │   │   ├── ExtensionForProperty.kt
│       │   │   │   ├── ExtensionFunReceiver.kt
│       │   │   │   ├── ExtensionFunReceiverForce.kt
│       │   │   │   ├── ExtensionInsideFunction.kt
│       │   │   │   ├── ExtensionToIntInFloatStyle.kt
│       │   │   │   ├── FromImports.kt
│       │   │   │   ├── FunctionCompletionFormatting.kt
│       │   │   │   ├── InCallExpression.kt
│       │   │   │   ├── InClassInitializer.kt
│       │   │   │   ├── InClassPropertyAccessor.kt
│       │   │   │   ├── InEmptyImport.kt
│       │   │   │   ├── InExpressionNoPrefix.kt
│       │   │   │   ├── InExtendTypeAnnotation.kt
│       │   │   │   ├── InFileWithMultiDeclaration.kt
│       │   │   │   ├── InFileWithTypedef.kt
│       │   │   │   ├── InFunInClassInitializer.kt
│       │   │   │   ├── InGlobalPropertyInitializer.kt
│       │   │   │   ├── InImport.kt
│       │   │   │   ├── InInitializerInPropertyAccessor.kt
│       │   │   │   ├── InLocalObjectDeclaration.kt
│       │   │   │   ├── InLongDotQualifiedExpression.kt
│       │   │   │   ├── InMiddleOfPackage.kt
│       │   │   │   ├── InMiddleOfPackageDirective.kt
│       │   │   │   ├── InObjectInDelegationSpecifier.kt
│       │   │   │   ├── InPackageBegin.kt
│       │   │   │   ├── InParametersTypes.kt
│       │   │   │   ├── InParametersTypesForce.kt
│       │   │   │   ├── InTypeAnnotation.kt
│       │   │   │   ├── JavaPackage.kt
│       │   │   │   ├── LocalMultideclarationValues.kt
│       │   │   │   ├── NamedObject.kt
│       │   │   │   ├── NoClassNameDuplication.kt
│       │   │   │   ├── NoCompletionAfterBigFloat.kt
│       │   │   │   ├── NoCompletionAfterFloat.kt
│       │   │   │   ├── NoCompletionAfterInt.kt
│       │   │   │   ├── NoCompletionAfterLong.kt
│       │   │   │   ├── NoEmptyPackage.kt
│       │   │   │   ├── NoObjectInTypePosition.kt
│       │   │   │   ├── NoTopLevelCompletionInQualifiedUserTypes.kt
│       │   │   │   ├── ObjectRedeclaration1.kt
│       │   │   │   ├── ObjectRedeclaration2.kt
│       │   │   │   ├── OneProposalWithExplicitImport.kt
│       │   │   │   ├── OneWithStarImport.kt
│       │   │   │   ├── OnlyScopedClassesWithoutExplicit.kt
│       │   │   │   ├── OverloadFunctions.kt
│       │   │   │   ├── ShortClassNamesInTypePosition.kt
│       │   │   │   ├── StandardJetArrayFirst.kt
│       │   │   │   ├── StandardJetDoubleFirst.kt
│       │   │   │   ├── SubpackageInFun.kt
│       │   │   │   ├── TopLevelClassCompletionInQualifiedCall.kt
│       │   │   │   ├── VariableClassName.kt
│       │   │   │   ├── VariableWithLowerCase.kt
│       │   │   │   ├── VisibilityClassMembersFromExternal.kt
│       │   │   │   ├── WithCompletedExpression.kt
│       │   │   │   ├── functionWithLowerCase.kt
│       │   │   │   ├── notImportedAnnotation.kt
│       │   │   │   └── visibility/
│       │   │   │       └── VisibilityPrivateToThisWithWrongThis.kt
│       │   │   ├── java/
│       │   │   │   ├── AutoForceCompletion.kt
│       │   │   │   ├── ExtensionFromStandardLibrary.kt
│       │   │   │   ├── InPackage.kt
│       │   │   │   ├── JavaClassNames.kt
│       │   │   │   ├── JavaConstructorsCompletion.kt
│       │   │   │   ├── NoClassNameDuplicationForRuntimeClass.kt
│       │   │   │   ├── NoImportedJavaClassDuplication.kt
│       │   │   │   ├── PropertyMetadata.kt
│       │   │   │   ├── TopLevelFromStandardLibrary.kt
│       │   │   │   └── TopLevelFromStandardLibraryWithoutParam.kt
│       │   │   └── scripts/
│       │   │       ├── absentMainTemplate.kts
│       │   │       ├── argsCompletion.kts
│       │   │       ├── classFromJRE.kts
│       │   │       ├── functionFromStdlib.kts
│       │   │       ├── keywordsCompletion.kts
│       │   │       ├── localDeclarations.kts
│       │   │       └── typeFromRuntime.kts
│       │   ├── handlers/
│       │   │   ├── ExistingSingleBrackets.kt
│       │   │   ├── ExistingSingleBrackets.kt.after
│       │   │   ├── FunctionWithParamOnBracket.kt
│       │   │   ├── FunctionWithParamOnBracket.kt.after
│       │   │   ├── completeNonImported.kt
│       │   │   ├── completeNonImported.kt.after
│       │   │   ├── completeWithExistingBraces.kt
│       │   │   ├── completeWithExistingBraces.kt.after
│       │   │   ├── completeWithExistingBracesOnBrace.kt
│       │   │   ├── completeWithExistingBracesOnBrace.kt.after
│       │   │   ├── completeWithExistingBracesOnDot.kt
│       │   │   ├── completeWithExistingBracesOnDot.kt.after
│       │   │   ├── filterTypesFromSamePackage.dependency.kt
│       │   │   ├── filterTypesFromSamePackage.kt
│       │   │   ├── filterTypesFromSamePackage.kt.after
│       │   │   ├── functionLiteralInsertOnSpace.kt
│       │   │   ├── functionLiteralInsertOnSpace.kt.after
│       │   │   ├── functionWithParamOnDot.kt
│       │   │   ├── functionWithParamOnDot.kt.after
│       │   │   ├── higherOrderFunction.kt
│       │   │   ├── higherOrderFunction.kt.after
│       │   │   ├── higherOrderFunctionWithArgs1.kt
│       │   │   ├── higherOrderFunctionWithArgs1.kt.after
│       │   │   ├── insertFunctionWithBothParentheses.kt
│       │   │   ├── insertFunctionWithBothParentheses.kt.after
│       │   │   ├── insertFunctionWithSingleParameterWithBrace.kt
│       │   │   ├── insertFunctionWithSingleParameterWithBrace.kt.after
│       │   │   ├── insertJavaMethodWithParam.kt
│       │   │   ├── insertJavaMethodWithParam.kt.after
│       │   │   ├── insertVoidJavaMethod.kt
│       │   │   ├── insertVoidJavaMethod.kt.after
│       │   │   ├── noParamsFunction.kt
│       │   │   ├── noParamsFunction.kt.after
│       │   │   ├── nonImportedByCamelCase.kt
│       │   │   ├── nonImportedByCamelCase.kt.after
│       │   │   ├── paramFunctionOnBracket.kt
│       │   │   ├── paramFunctionOnBracket.kt.after
│       │   │   ├── paramFunctionOnDot.kt
│       │   │   ├── paramFunctionOnDot.kt.after
│       │   │   ├── paramsFunction.kt
│       │   │   ├── paramsFunction.kt.after
│       │   │   ├── paramsFunctionOnDot.kt
│       │   │   ├── paramsFunctionOnDot.kt.after
│       │   │   ├── singleBrackets.kt
│       │   │   ├── singleBrackets.kt.after
│       │   │   ├── unitFunctionOnBracket.kt
│       │   │   ├── unitFunctionOnBracket.kt.after
│       │   │   ├── unitFunctionOnDot.kt
│       │   │   ├── unitFunctionOnDot.kt.after
│       │   │   ├── withLambdaAndBraces.kt
│       │   │   ├── withLambdaAndBraces.kt.after
│       │   │   ├── withLambdaAndBracesOnDot.kt
│       │   │   ├── withLambdaAndBracesOnDot.kt.after
│       │   │   ├── withParamsAndBraces.kt
│       │   │   ├── withParamsAndBraces.kt.after
│       │   │   ├── withParamsAndBracesOnBrace.kt
│       │   │   ├── withParamsAndBracesOnBrace.kt.after
│       │   │   ├── withParamsAndBracesOnDot.kt
│       │   │   └── withParamsAndBracesOnDot.kt.after
│       │   ├── keywords/
│       │   │   └── InFunctionTypePosition.kt
│       │   └── relevance/
│       │       ├── byCamelCaseLocal.kt
│       │       ├── byPrefixMatchLocal.kt
│       │       ├── byPrefixWithImported.kt
│       │       ├── localBeforeNonImported.kt
│       │       ├── sortingForLocal.kt
│       │       └── sortingForNonImported.kt
│       ├── diagnostics/
│       │   ├── FunctionCalleeExpressions.kt
│       │   ├── FunctionCalleeExpressions.txt
│       │   ├── annotationAsJavaAnnotationArgument.kt
│       │   ├── constAsJavaAnnotationArgument.kt
│       │   └── resolveConstructor.kt
│       ├── findUsages/
│       │   ├── java/
│       │   │   ├── JKClassAllUsages.0.java
│       │   │   ├── JKClassAllUsages.1.kt
│       │   │   ├── JKClassAllUsages.results.txt
│       │   │   ├── JKClassDerivedAnonymousObjects.0.java
│       │   │   ├── JKClassDerivedAnonymousObjects.1.kt
│       │   │   ├── JKClassDerivedAnonymousObjects.results.txt
│       │   │   ├── JKClassDerivedClasses.0.java
│       │   │   ├── JKClassDerivedClasses.1.kt
│       │   │   ├── JKClassDerivedClasses.results.txt
│       │   │   ├── JKClassDerivedInnerClasses.0.java
│       │   │   ├── JKClassDerivedInnerClasses.1.kt
│       │   │   ├── JKClassDerivedInnerClasses.results.txt
│       │   │   ├── JKClassDerivedInnerObjects.0.java
│       │   │   ├── JKClassDerivedInnerObjects.1.kt
│       │   │   ├── JKClassDerivedInnerObjects.results.txt
│       │   │   ├── JKClassDerivedLocalClasses.0.java
│       │   │   ├── JKClassDerivedLocalClasses.1.kt
│       │   │   ├── JKClassDerivedLocalClasses.results.txt
│       │   │   ├── JKClassDerivedLocalObjects.0.java
│       │   │   ├── JKClassDerivedLocalObjects.1.kt
│       │   │   ├── JKClassDerivedLocalObjects.results.txt
│       │   │   ├── JKClassDerivedObjects.0.java
│       │   │   ├── JKClassDerivedObjects.1.kt
│       │   │   ├── JKClassDerivedObjects.results.txt
│       │   │   ├── JKClassWithImplicitConstructorAllUsages.0.java
│       │   │   ├── JKClassWithImplicitConstructorAllUsages.1.kt
│       │   │   ├── JKClassWithImplicitConstructorAllUsages.results.txt
│       │   │   ├── JKDerivedInterfaces.0.java
│       │   │   ├── JKDerivedInterfaces.1.kt
│       │   │   ├── JKDerivedInterfaces.results.txt
│       │   │   ├── JKNestedClassAllUsages.0.java
│       │   │   ├── JKNestedClassAllUsages.1.kt
│       │   │   └── JKNestedClassAllUsages.results.txt
│       │   └── kotlin/
│       │       ├── findFunctionUsages/
│       │       │   ├── javaMethodUsages.0.kt
│       │       │   ├── javaMethodUsages.1.java
│       │       │   ├── javaMethodUsages.results.txt
│       │       │   ├── kotlinMethodUsages.0.kt
│       │       │   ├── kotlinMethodUsages.1.kt
│       │       │   ├── kotlinMethodUsages.results.txt
│       │       │   ├── kotlinMultiRefInImport.0.kt
│       │       │   ├── kotlinMultiRefInImport.1.kt
│       │       │   └── kotlinMultiRefInImport.results.txt
│       │       ├── findObjectUsages/
│       │       │   ├── javaObjectUsages.0.kt
│       │       │   ├── javaObjectUsages.1.java
│       │       │   ├── javaObjectUsages.results.txt
│       │       │   ├── kotlinNestedObjectUsages.0.kt
│       │       │   ├── kotlinNestedObjectUsages.1.kt
│       │       │   ├── kotlinNestedObjectUsages.results.txt
│       │       │   ├── kotlinObjectUsages.0.kt
│       │       │   ├── kotlinObjectUsages.1.kt
│       │       │   └── kotlinObjectUsages.results.txt
│       │       ├── findPrimaryConstructorUsages/
│       │       │   ├── primaryConstructorByRef.0.kt
│       │       │   ├── primaryConstructorByRef.results.txt
│       │       │   ├── primaryConstructorWithKeyword.0.kt
│       │       │   └── primaryConstructorWithKeyword.results.txt
│       │       └── findPropertyUsages/
│       │           ├── kotlinTopLevelPropertyUsages.0.kt
│       │           ├── kotlinTopLevelPropertyUsages.1.kt
│       │           ├── kotlinTopLevelPropertyUsages.2.java
│       │           └── kotlinTopLevelPropertyUsages.results.txt
│       ├── format/
│       │   ├── autoIndent/
│       │   │   ├── afterFunCallInScript.after.kts
│       │   │   ├── afterFunCallInScript.kts
│       │   │   ├── afterOneOpenBrace.after.kt
│       │   │   ├── afterOneOpenBrace.kt
│       │   │   ├── afterOpenBraceWithShift.after.kt
│       │   │   ├── afterOpenBraceWithShift.kt
│       │   │   ├── afterOperatorIfWithoutBraces.after.kt
│       │   │   ├── afterOperatorIfWithoutBraces.kt
│       │   │   ├── afterOperatorWhileWithoutBraces.after.kt
│       │   │   ├── afterOperatorWhileWithoutBraces.kt
│       │   │   ├── beforeCloseBrace.after.kt
│       │   │   ├── beforeCloseBrace.kt
│       │   │   ├── beforeFunctionStart.after.kt
│       │   │   ├── beforeFunctionStart.kt
│       │   │   ├── betweenBracesOnDifferentLine.after.kt
│       │   │   ├── betweenBracesOnDifferentLine.kt
│       │   │   ├── betweenBracesOnOneLine.after.kt
│       │   │   ├── betweenBracesOnOneLine.kt
│       │   │   ├── betweenBracesWithSpacesAtStart.after.kt
│       │   │   ├── betweenBracesWithSpacesAtStart.kt
│       │   │   ├── betweenBracesWithSpacesEnd1.after.kt
│       │   │   ├── betweenBracesWithSpacesEnd1.kt
│       │   │   ├── betweenBracesWithSpacesEnd2.after.kt
│       │   │   ├── betweenBracesWithSpacesEnd2.kt
│       │   │   ├── betweenBracesWithSpacesMiddle.after.kt
│       │   │   ├── betweenBracesWithSpacesMiddle.kt
│       │   │   ├── breakLineAfterIfWithoutBraces.after.kt
│       │   │   ├── breakLineAfterIfWithoutBraces.kt
│       │   │   ├── continuationAfterDotCall.after.kt
│       │   │   ├── continuationAfterDotCall.kt
│       │   │   ├── continuationBeforeFunName.after.kt
│       │   │   ├── continuationBeforeFunName.kt
│       │   │   ├── indentBeforeWhile.after.kt
│       │   │   ├── indentBeforeWhile.kt
│       │   │   ├── lineBreakSaveIndent.after.kt
│       │   │   ├── lineBreakSaveIndent.kt
│       │   │   ├── nestedOperatorsWithBraces.after.kt
│       │   │   ├── nestedOperatorsWithBraces.kt
│       │   │   ├── nestedOperatorsWithoutBraces.after.kt
│       │   │   ├── nestedOperatorsWithoutBraces.kt
│       │   │   ├── newLineInParameters1.after.kt
│       │   │   ├── newLineInParameters1.kt
│       │   │   ├── newLineInParameters2.after.kt
│       │   │   ├── newLineInParameters2.kt
│       │   │   ├── sampleTest.after.kt
│       │   │   └── sampleTest.kt
│       │   ├── blockCommentBeforeDeclaration.kt
│       │   ├── blockCommentBeforeDeclaration.kt.after
│       │   ├── classesAndPropertiesFormatTest.kt
│       │   ├── classesAndPropertiesFormatTest.kt.after
│       │   ├── commentOnTheLastLineOfLambda.kt
│       │   ├── commentOnTheLastLineOfLambda.kt.after
│       │   ├── formatScriptFile.kts
│       │   ├── formatScriptFile.kts.after
│       │   ├── formatSelection.kt
│       │   ├── formatSelection.kt.after
│       │   ├── indentInDoWhile.kt
│       │   ├── indentInDoWhile.kt.after
│       │   ├── indentInIfExpressionBlock.kt
│       │   ├── indentInIfExpressionBlock.kt.after
│       │   ├── indentInPropertyAccessor.kt
│       │   ├── indentInPropertyAccessor.kt.after
│       │   ├── indentInWhenEntry.kt
│       │   ├── indentInWhenEntry.kt.after
│       │   ├── initIndent.kt
│       │   ├── initIndent.kt.after
│       │   ├── lambdaInBlock.kt
│       │   ├── lambdaInBlock.kt.after
│       │   ├── newLineAfterImportsAndPackage.kt
│       │   ├── newLineAfterImportsAndPackage.kt.after
│       │   ├── objectsAndLocalFunctionsFormatTest.kt
│       │   ├── objectsAndLocalFunctionsFormatTest.kt.after
│       │   ├── packageFunctionsFormatTest.kt
│       │   ├── packageFunctionsFormatTest.kt.after
│       │   ├── respectCaretAfterFormatting.kt
│       │   ├── respectCaretAfterFormatting.kt.after
│       │   ├── withBlockComments.kt
│       │   ├── withBlockComments.kt.after
│       │   ├── withJavaDoc.kt
│       │   ├── withJavaDoc.kt.after
│       │   ├── withLineComments.kt
│       │   ├── withLineComments.kt.after
│       │   ├── withMutableVariable.kt
│       │   ├── withMutableVariable.kt.after
│       │   ├── withWhitespaceBeforeBrace.kt
│       │   ├── withWhitespaceBeforeBrace.kt.after
│       │   ├── withoutComments.kt
│       │   └── withoutComments.kt.after
│       ├── highlighting/
│       │   ├── basic/
│       │   │   ├── blockComment.kt
│       │   │   ├── forKeyword.kt
│       │   │   ├── function.kt
│       │   │   ├── getterSetter.kt
│       │   │   ├── highlightCompanionObject.kt
│       │   │   ├── importKeyword.kt
│       │   │   ├── inKeyword.kt
│       │   │   ├── interfaceKeyword.kt
│       │   │   ├── kdocBasic.kt
│       │   │   ├── kdocWithEmptyLines.kt
│       │   │   ├── kdocWithMyTag.kt
│       │   │   ├── kdocWithParam.kt
│       │   │   ├── kdocWithProperty.kt
│       │   │   ├── kdocWithSee.kt
│       │   │   ├── kdocWithThrows.kt
│       │   │   ├── kdocWithoutLeadingAsterisk.kt
│       │   │   ├── keywordWithText.kt
│       │   │   ├── openKeyword.kt
│       │   │   ├── singleLineComment.kt
│       │   │   ├── softImportKeyword.kt
│       │   │   ├── softKeywords.kt
│       │   │   ├── stringInterpolation.kt
│       │   │   ├── stringToken.kt
│       │   │   ├── textWithTokenBetween.kt
│       │   │   ├── textWithTokenInPrefix.kt
│       │   │   └── textWithTokenInSuffix.kt
│       │   └── positionUpdater/
│       │       ├── afterFunctionName.kt
│       │       ├── afterFunctionName.kt.after
│       │       ├── afterHighlightedPosition.kt
│       │       ├── afterHighlightedPosition.kt.after
│       │       ├── beforeFunctionName.kt
│       │       ├── beforeFunctionName.kt.after
│       │       ├── beforeHighlightedPosition.kt
│       │       ├── beforeHighlightedPosition.kt.after
│       │       ├── illegalCharactersAfter.kt
│       │       ├── illegalCharactersAfter.kt.after
│       │       ├── illegalCharactersBefore.kt
│       │       ├── illegalCharactersBefore.kt.after
│       │       ├── illegalCharactersBeforeHighlightedPosition.kt
│       │       ├── illegalCharactersBeforeHighlightedPosition.kt.after
│       │       ├── insideHighlightedPosition.kt
│       │       └── insideHighlightedPosition.kt.after
│       ├── ide_analyzer/
│       │   ├── analyzerHasKotlinAnnotations.kt
│       │   ├── analyzerHasKotlinRuntime.kt
│       │   ├── checkAnalyzerFoundError.kt
│       │   ├── checkExistancePackageLevelFunctions/
│       │   │   ├── Bar.kt
│       │   │   ├── Baz.kt
│       │   │   └── Foo.java
│       │   ├── checkTestsFoundJavaError/
│       │   │   └── J1.java
│       │   ├── companionObjectFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── javaFromKotlin/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── kotlinFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── kotlinInPackageFromJava/
│       │   │   ├── J1.java
│       │   │   └── K1.kt
│       │   ├── kotlinJavaKotlin/
│       │   │   ├── J1.java
│       │   │   ├── K1.kt
│       │   │   └── K2.kt
│       │   ├── kotlinWithErrorsFromJava/
│       │   │   ├── J1.java
│       │   │   └── K1.kt
│       │   ├── packageLevelFunctionsFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── packageLevelPropertiesFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   └── unresolvedPackageType/
│       │       ├── Bar.kt
│       │       └── Baz.kt
│       ├── intentions/
│       │   ├── changeReturnType/
│       │   │   ├── changeReturnTypeInScript.kts
│       │   │   ├── changeReturnTypeInScript.kts.after
│       │   │   ├── typeMismatchInReturnLambda.kt
│       │   │   ├── typeMismatchInReturnLambda.kt.after
│       │   │   ├── typeMismatchInReturnLambdaWithLabel.kt
│       │   │   └── typeMismatchInReturnLambdaWithLabel.kt.after
│       │   ├── convertToBlockBody/
│       │   │   ├── implicitlyNonUnitFun.kt
│       │   │   └── implicitlyNonUnitFun.kt.after
│       │   ├── convertToExpressionBody/
│       │   │   ├── anonymousObjectExpression.kt
│       │   │   ├── anonymousObjectExpression.kt.after
│       │   │   ├── funWithImplicitUnitTypeWithThrow.kt
│       │   │   ├── funWithImplicitUnitTypeWithThrow.kt.after
│       │   │   ├── funWithNothingType.kt
│       │   │   ├── funWithNothingType.kt.after
│       │   │   ├── funWithReturn.kt
│       │   │   ├── funWithReturn.kt.after
│       │   │   ├── funWithUnitTypeWithThrow.kt
│       │   │   └── funWithUnitTypeWithThrow.kt.after
│       │   ├── implementMethods/
│       │   │   ├── implementMethodInScript.kts
│       │   │   └── implementMethodInScript.kts.after
│       │   ├── replaceGetOrSet/
│       │   │   ├── replaceGetInScript.kts
│       │   │   └── replaceGetInScript.kts.after
│       │   └── specifyType/
│       │       ├── ClassNameClashing.kt
│       │       ├── ClassNameClashing.kt.after
│       │       ├── StringRedefined.kt
│       │       └── StringRedefined.kt.after
│       ├── launch/
│       │   └── junit/
│       │       ├── RunTestExtendingTestCase.kt
│       │       └── SimpleJUnitTests.kt
│       ├── markers/
│       │   └── parsing/
│       │       ├── classDefinitionTypoErrorTest.kt
│       │       ├── classDefinitionTypoErrorTest.kt.after
│       │       ├── excessBraceTypingErrorTest.kt
│       │       ├── excessBraceTypingErrorTest.kt.after
│       │       ├── missingClosingBraceErrorTest.kt
│       │       ├── missingClosingBraceErrorTest.kt.after
│       │       ├── missingFunctionBodyErrorTest.kt
│       │       └── missingFunctionBodyErrorTest.kt.after
│       ├── navigation/
│       │   ├── fromGetterSyntheticProperty/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── fromSetterSyntheticProperty/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── fromSyntheticPropertyOnlyWithGetter/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── javaToKotlin/
│       │   │   ├── specifiedPackageLevelFunction/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Baz.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toBasicProperty/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toBasicTopLevelProperty/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toCompanionObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFilePart/
│       │   │   │   ├── Baz.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunInBaseClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInEnumClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInFilePart/
│       │   │   │   ├── Baz.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInInnerClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithExistingConstructorEqualSignature/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithExistingEqualSignature/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithNameDuplicate/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithNameDuplicateInClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithPlatformName/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toInnerKotlinClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toInnerKotlinEnumClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toInnerKotlinEnumEntry/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinClassInPackage/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinEnumClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinEnumEntry/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinFunction/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinFunctionInCompanion/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinSuperClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinTopLevelFunction/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMethodWithDefaultArg/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMutablePropertyFromGetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMutablePropertyFromSetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMutablePropertyInCompanion/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toNamedCompanionObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toNestedCompanionObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toObjectInstance/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toOverloadMethod1/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toOverloadMethod2/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toOverridenProperty/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toParametrizedClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toParametrizedFunction/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toParametrizedFunctionWithOverload/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPrimaryConstructor/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyInBaseClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyInCompanion/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyWithGetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyWithSetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toSecondaryConstructor1/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toSecondaryConstructor2/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toTopLevelPropertyWithGetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   └── toTopLevelPropertyWithSetter/
│       │   │       ├── Bar.kt.after
│       │   │       └── Foo.java.before
│       │   ├── scripts/
│       │   │   └── basic/
│       │   │       ├── toFunction.kts
│       │   │       ├── toFunction.kts.after
│       │   │       ├── toVariable.kts
│       │   │       └── toVariable.kts.after
│       │   ├── toJavaClassNavigation/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── toJavaGetterMethod/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── toJavaMethodNavigation/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── toKotlinClassNavigation/
│       │   │   ├── Bar.kt
│       │   │   ├── Baz.kt.before
│       │   │   └── Foo.kt.after
│       │   ├── toKotlinMethodNavigation/
│       │   │   ├── Bar.kt
│       │   │   ├── Baz.kt.before
│       │   │   └── Foo.kt.after
│       │   ├── withinFileFromConstructorToClassNavigation.kt
│       │   ├── withinFileFromConstructorToClassNavigation.kt.after
│       │   ├── withinFileToClassNavigation.kt
│       │   ├── withinFileToClassNavigation.kt.after
│       │   ├── withinFileToMethodNavigation.kt
│       │   └── withinFileToMethodNavigation.kt.after
│       ├── organizeImports/
│       │   ├── doNotInsertLinesForNoErrors.kt
│       │   ├── doNotInsertLinesForNoErrors.kt.after
│       │   ├── importOneClass.kt
│       │   ├── importOneClass.kt.after
│       │   ├── importSeveralClasses.kt
│       │   ├── importSeveralClasses.kt.after
│       │   ├── importSeveralClassesWithExistingPackage.kt
│       │   ├── importSeveralClassesWithExistingPackage.kt.after
│       │   └── includeImportsOnlyFromActiveFile/
│       │       ├── Bar.kt
│       │       ├── Bar.kt.after
│       │       └── Baz.kt
│       ├── refactoring/
│       │   └── rename/
│       │       ├── automaticRenamer/
│       │       │   ├── after/
│       │       │   │   ├── JavaFoo.java
│       │       │   │   ├── lib.kt
│       │       │   │   └── main.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaFoo.java
│       │       │   │   ├── lib.kt
│       │       │   │   └── main.kt
│       │       │   └── simple.test
│       │       ├── renameJavaClass/
│       │       │   ├── after/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── NewName.java
│       │       │   ├── before/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── SomeClass.java
│       │       │   └── renameJavaClass.test
│       │       ├── renameJavaClassSamePackage/
│       │       │   ├── after/
│       │       │   │   ├── RenameJavaClassSamePackage.kt
│       │       │   │   └── testing/
│       │       │   │       └── NewName.java
│       │       │   ├── before/
│       │       │   │   ├── RenameJavaClassSamePackage.kt
│       │       │   │   └── testing/
│       │       │   │       └── SomeClass.java
│       │       │   └── renameJavaClassSamePackage.test
│       │       ├── renameJavaInterface/
│       │       │   ├── after/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── NewInterface.java
│       │       │   ├── before/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── SomeInterface.java
│       │       │   └── renameJavaInterface.test
│       │       ├── renameJavaMethod/
│       │       │   ├── after/
│       │       │   │   ├── MethodUsages.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClass.java
│       │       │   ├── before/
│       │       │   │   ├── MethodUsages.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClass.java
│       │       │   ├── javaBaseMethod.test
│       │       │   └── kotlinOverridenMethod.test
│       │       ├── renameJavaStaticMethod/
│       │       │   ├── after/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   ├── before/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   └── renameJavaStaticMethod.test
│       │       ├── renameKotlinBaseMethod/
│       │       │   ├── after/
│       │       │   │   ├── RenameKotlinBaseMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── before/
│       │       │   │   ├── RenameKotlinBaseMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── javaWrapperForBaseFunction.test
│       │       │   ├── javaWrapperForOverridenFunctionWithKotlinBase.test
│       │       │   └── kotlinBaseFunction.test
│       │       ├── renameKotlinClass/
│       │       │   ├── after/
│       │       │   │   ├── RenameKotlinClass.kt
│       │       │   │   ├── Second.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── before/
│       │       │   │   ├── RenameKotlinClass.kt
│       │       │   │   ├── Second.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── javaWrapperForKotlinClass.test
│       │       │   └── kotlinClass.test
│       │       ├── renameKotlinClassByConstructorRef/
│       │       │   ├── after/
│       │       │   │   └── main.kt
│       │       │   ├── before/
│       │       │   │   └── main.kt
│       │       │   └── renameKotlinClassByConstructorRef.test
│       │       ├── renameKotlinClassFromJava/
│       │       │   ├── after/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   └── renameKotlinClassFromJava.test
│       │       ├── renameKotlinMethod/
│       │       │   ├── after/
│       │       │   │   ├── RenameKotlinMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── before/
│       │       │   │   ├── RenameKotlinMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── javaWrapperForKotlinMethod.test
│       │       │   └── renameKotlinMethod.test
│       │       ├── renameKotlinMethodFromJava/
│       │       │   ├── after/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   └── renameKotlinMethodFromJava.test
│       │       ├── renameKotlinTopLevelFun/
│       │       │   ├── after/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   ├── before/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   └── renameKotlinTopLevelFun.test
│       │       ├── renameKotlinTopLevelFunFromJava/
│       │       │   ├── after/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   └── renameKotlinTopLevelFunFromJava.test
│       │       ├── scripts/
│       │       │   ├── renameClassInScript/
│       │       │   │   ├── after/
│       │       │   │   │   └── main.kts
│       │       │   │   ├── before/
│       │       │   │   │   └── main.kts
│       │       │   │   └── info.test
│       │       │   ├── renameFunctionInScript/
│       │       │   │   ├── after/
│       │       │   │   │   └── main.kts
│       │       │   │   ├── before/
│       │       │   │   │   └── main.kts
│       │       │   │   └── info.test
│       │       │   ├── renameInScriptLocally/
│       │       │   │   ├── after/
│       │       │   │   │   ├── main.kts
│       │       │   │   │   └── other.kts
│       │       │   │   ├── before/
│       │       │   │   │   ├── main.kts
│       │       │   │   │   └── other.kts
│       │       │   │   └── info.test
│       │       │   └── renamePropertyInScript/
│       │       │       ├── after/
│       │       │       │   └── main.kts
│       │       │       ├── before/
│       │       │       │   └── main.kts
│       │       │       └── info.test
│       │       └── simple/
│       │           ├── after/
│       │           │   └── main.kt
│       │           ├── before/
│       │           │   └── main.kt
│       │           └── info.test
│       ├── scripts/
│       │   └── templates/
│       │       ├── customEPResolver.kts
│       │       ├── sample.testDef.kts
│       │       ├── sampleEx.testDef.kts
│       │       └── standard.kts
│       └── wordSelection/
│           ├── selectEnclosing/
│           │   ├── DocComment/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── ForRange/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── FunctionWithLineCommentAfter/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── FunctionWithLineCommentBefore/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── IfBody/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   └── 5.kt
│           │   ├── IfCondition/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── LineComment/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ShiftOnWhitespace/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   ├── SimpleComment/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   ├── SimpleStringLiteral/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── SimpleStringLiteral2/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── Statements/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── StatementsWithWindowsDelimiter/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── TemplateStringLiteral1/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── TemplateStringLiteral2/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── TemplateStringLiteral3/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   └── 5.kt
│           │   ├── TypeArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── TypeParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ValueArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ValueParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── WhenEntries/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── WholeFileSelection/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   └── selectEnclosingFunctionNameWithoutSelection/
│           │       ├── 0.kt
│           │       ├── 1.kt
│           │       ├── 2.kt
│           │       ├── 3.kt
│           │       ├── 4.kt
│           │       ├── 5.kt
│           │       └── 6.kt
│           ├── selectNext/
│           │   ├── BlockStatements/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── BlockStatementsWithWindowsDelimiter/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── Classes/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── DocComment/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── FunctionWithLineComments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── Functions/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── Imports/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   └── 7.kt
│           │   ├── NonTraversableElement/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ShiftOnWhitespace/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   ├── TemplateStringLiteral/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   └── 5.kt
│           │   ├── TypeArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── TypeParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ValueArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── ValueParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   └── WholeFile/
│           │       ├── 0.kt
│           │       └── 1.kt
│           └── selectPrevious/
│               ├── BlockStatements/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   ├── 5.kt
│               │   ├── 6.kt
│               │   ├── 7.kt
│               │   ├── 8.kt
│               │   └── 9.kt
│               ├── BlockStatementsWithWindowsDelimiter/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   ├── 5.kt
│               │   ├── 6.kt
│               │   ├── 7.kt
│               │   ├── 8.kt
│               │   └── 9.kt
│               ├── Classes/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   └── 4.kt
│               ├── DocComment/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   └── 4.kt
│               ├── FunctionWithLineComments/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   └── 4.kt
│               ├── Functions/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   └── 2.kt
│               ├── Imports/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   ├── 5.kt
│               │   ├── 6.kt
│               │   └── 7.kt
│               ├── NonTraversableElement/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   └── 2.kt
│               ├── ShiftOnWhitespace/
│               │   ├── 0.kt
│               │   └── 1.kt
│               ├── TemplateStringLiteral/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   └── 5.kt
│               ├── TypeArguments/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               ├── TypeParameters/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               ├── ValueArguments/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               ├── ValueParameters/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               └── WholeFile/
│                   ├── 0.kt
│                   └── 1.kt
├── kotlin-weaving-feature/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── maven-build/
│   ├── maven-build-install-offline.launch
│   ├── maven-build-install.launch
│   └── maven-update-version.launch
├── pom.xml
└── publish-new-version.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
**/testData/** linguist-vendored


================================================
FILE: .github/workflows/main.yml
================================================
name: kotlin-eclipse

on:
  push:
    branches: [ "master" ]

  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout source code
        uses: actions/checkout@v3

      - name: Set up JDK 17
        uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'adopt'

      - name: Build with Maven
        run: mvn --batch-mode --nsu clean && mvn --batch-mode --update-snapshots clean validate -Pwith-gradle -pl kotlin-bundled-compiler && mvn --batch-mode --update-snapshots package

      - name: Publish eclipse repository
        uses: actions/upload-artifact@v3
        with:
          name: kotlin-eclipse-plugin
          path: kotlin-eclipse-p2updatesite/target/kotlin-eclipse-plugin.zip


================================================
FILE: .gitignore
================================================
.DS_Store
.gradle
.idea
.metadata
.recommenders
.gradletasknamecache

bin
build
common_testData
kotlin-eclipse-ui-test/lib
kotlin-eclipse-gradle-model/lib
target

*.iml
*.orig

target/
.settings
.classpath
.project
lib

================================================
FILE: LICENSE
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "{}"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright 2013-2019 JetBrains s.r.o. and Kotlin for Eclipse project contributors.

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: README.md
================================================
Kotlin for Eclipse
==============

[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)

Welcome to Kotlin for Eclipse project! Some handy links:

 * [Kotlin Site](http://kotlinlang.org/)
 * [Getting Started Guide](http://kotlinlang.org/docs/tutorials/getting-started-eclipse.html)
 * [Kotlin on Eclipse Marketplace](https://marketplace.eclipse.org/content/kotlin-plugin-eclipse)
 * Issue Tracker: [File New Issue](https://youtrack.jetbrains.com/newIssue?project=KE&clearDraft=true), [All Open Issues](https://youtrack.jetbrains.com/issues/KE?q=%23Unresolved)
 * [Kotlin Blog](http://blog.jetbrains.com/kotlin/)
 * [Forum](https://discuss.kotlinlang.org/)
 * [TeamCity CI build](https://teamcity.jetbrains.com/viewType.html?buildTypeId=Kotlin_EclipsePlugin)
 * [Follow Kotlin on Twitter](https://twitter.com/kotlin)

### Installation

To give it a try you will need a clean installation of Eclipse Neon or newer. The Kotlin plugin is available from the Eclipse Marketplace. The easiest way to install the Kotlin plugin is to **drag-and-drop this button into a running Eclipse window**:

<a href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2257536" class="drag" title="Drag to your running Eclipse workspace to install Kotlin Plugin for Eclipse"><img src="https://marketplace.eclipse.org/sites/all/themes/solstice/public/images/components/drag-drop/installbutton.png" alt="Drag to your running Eclipse workspace to install Kotlin Plugin for Eclipse" /></a>

Alternatively, you can use *Help -> Eclipse Marketplace�* menu, or the following update site:

    https://files.pkg.jetbrains.space/kotlin/p/kotlin-eclipse/main/last/

### Building and Development

*Eclipse IDE for Eclipse Committers* is the recommended way to build and develop the `kotlin-eclipse` project. Eclipse [Oxygen 4.7](https://www.eclipse.org/downloads/packages/eclipse-ide-eclipse-committers/oxygenr) is used so far.

In order to start development in Eclipse:
 - Install the [AspectJ Eclipse plug-in for Eclipse 4.7](http://www.eclipse.org/ajdt/downloads/index.php). To install AJDT 2.2.4 use the following update site:

		http://download.eclipse.org/tools/ajdt/47/dev/update

 - Since Kotlin plugin contains code written in Kotlin itself, you will also need a Kotlin plugin to build the project in Eclipse. To install the Kotlin Eclipse plugin use the following update site:

 		https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_EclipsePlugin/bootstrap.tcbuildtag/

 - Since Kotlin plugin uses weaving, you need to launch the project with weaving enabled. Installation of Equinox Weaving Launcher will add two additional launch configurations types for running plugin and for testing. To install the Equinox Weaving Launcher you can use the following update site: 

 		http://download.scala-ide.org/plugins/equinox-weaving-launcher/releases/site/

 - Import plugin projects from the cloned repository into your workspace 
 
        File -> Import -> Existing Projects into Workspace

 - Using the command line, run gradle build to download the Kotlin compiler. It will be used as a bundled compiler in built plugin and as a library during development.
 
       cd {repository}/kotlin-bundled-compiler
       ./gradlew clean getBundled
    or in Windows environment:
  
       cd {repository}\kotlin-bundled-compiler
       gradlew.bat clean getBundled

 - Run another instance of Eclipse with the Kotlin plugin inside 
 
        kotlin-eclipse-ui -> Run As -> Eclipse Weaving enabled Eclipse Application

Building from the command line is also available (Note that Maven **3.0.5** is required):

    cd {repository}
    mvn install

### Eclipse update sites

Latest stable release:

    https://files.pkg.jetbrains.space/kotlin/p/kotlin-eclipse/main/last/

Any previously released version (replace *:version* with the version number):

    https://files.pkg.jetbrains.space/kotlin/p/kotlin-eclipse/main/:version/

Nightly build:

    https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_EclipsePlugin/.lastSuccessful/

### Kotlin Eclipse Plugin Developer Documentation

See basic developer documentation [here](https://github.com/JetBrains/kotlin-eclipse/blob/master/docs/dev-documentation.md)


================================================
FILE: common-settings/kotlin-formatting.xml
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="12">
<profile kind="CodeFormatterProfile" name="Kotlin" version="12">
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.7"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.7"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.7"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
</profile>
</profiles>


================================================
FILE: docs/dev-documentation.md
================================================
# Kotlin Eclipse Plugin Developer Documentation

## Kotlin Eclipse plugins overview

Kotlin plugin consists of several plugins, here is a short description for each of them:

- `kotlin-bundled-compiler`: This plugin is used as a dependency for all other plugins, it exports main jars to work with Kotlin (`kotlin-compiler.jar`, `kotlin-ide-common.jar`...).
Kotlin compiler will be used as the bundled compiler in the built plugin and as a library during development.

    Also, `kotlin-bundled-compiler` plugin contains several helper classes for IDE-features (such as formatter) that are coming from IntelliJ IDEA.

- `kotlin-eclipse-aspects`: This plugin provides several aspects to weave into Eclipse and JDT internals.

- `kotlin-eclipse-core`: This plugin is used to interact with the Kotlin compiler to configure it and provide such features as analysis, compilation and interoperability with Java.

- `kotlin-eclipse-maven`: This plugin depends on `m2e` plugin and provides functionality to configure maven project with Kotlin.

- `kotlin-eclipse-ui`: This plugin provides IDE features through the standard Eclipse and JDT extension points.
    
- `kotlin-eclipse-test-framework`: This plugin contains useful utils and mock classes to write tests
    
- `kotlin-eclipse-ui-test`: This plugin contains functional tests for IDE features
    
#### Interoperability with JDT

Existing Java code can be called from Kotlin in a natural way, and Kotlin code can be used from Java.
Java code in Eclipse should understand Kotlin. Features such as navigation, refactorings, find usages, and others should work together with Kotlin and Java.

##### Light classes

Note that Kotlin does not have a presentation compiler, like Java or Scala. Instead of this, the
Kotlin plugin generates so called "light class files": Kotlin source code translated to bytecode declarations without bodies.
Each project with Kotlin in Eclipse depends on `KOTLIN_CONTAINER` (see [`KotlinClasspathContainer`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/KotlinClasspathContainer.kt)) 
which contains `kotlin-stdlib.jar`, `kotlin-reflect.jar` and a folder with light classfiles (`kotlin_bin`).
Light classes are stored only in virtual memory and are managed by a special file system (see [`KotlinFileSystem`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinFileSystem.java)
, [`KotlinFileStore`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinFileStore.kt)), 
so they do not affect the runtime.
  
Let us describe what is happening on each file save.
On each file save Eclipse triggers Kotlin builder, then the method [`KotlinLightClassGeneration.updateLightClasses()`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/KotlinLightClassGeneration.kt) 
is called which takes affected files and computes names of class files that can be created from the affected source files. 
If we don't find a light class in our cache, we create a new empty class file in our file system. If file exists, we touch that file. 
After this, Eclipse determines that some class files on the classpath were added or changed which triggers reindex for those files 
by calling method [`KotlinFileStore.openInputStream`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinFileStore.kt#L46). 
This method generates bytecode for the light class by calling the Kotlin compiler in special mode ([`KotlinLightClassGeneration.buildLightClasses`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/KotlinLightClassGeneration.kt#L43)).
Basically, this allows Java to see Kotlin sources as special binary dependency.

##### Light classes to Kotlin source code

Existence of light classes allows to call Kotlin code from Java in Eclipse, but to navigate from Java to Kotlin source code we have to map light classes to the source code.
Otherwise we would navigate to the binary code. Unfortunately, Eclipse JDT does not provide any extension point to handle such case, and to do so, we use aspects to weave
into Java navigation mechanism. We provide a simple aspect ([`KotlinOpenEditorAspect.aj`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/navigation/KotlinOpenEditorAspect.aj)), 
which weaves into `org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor` method and checks input element. 
If this element belongs to our special file system, then we are trying to find corresponding source element in Kotlin and navigate to it.

### Editor Actions

Kotlin plugin provides editors for usual Kotlin files (`.kt`), Kotlin script files (`.kts`) and Kotlin binary files (`.class` files).
Each editor implements common interface [`KotlinEditor`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/KotlinEditor.kt).
Editors for Kotlin files and script files also implement [`KotlinCommonEditor`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/KotlinCommonEditor.kt).
[`KotlinCommonEditor`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/KotlinCommonEditor.kt) 
extends Java editor (`CompilationUnitEditor`) and provides own editor actions (see [`createActions`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/KotlinCommonEditor.kt#L108))

#### Organize imports action example

As an example of editor action let's consider how organize imports works. Organize imports action is registered in [`createActions`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/KotlinCommonEditor.kt#L145) 
method with the corresponding action ID. As we reuse the Java editor, we don't have to set up shortcuts, they will be the same as for Java editor.
The main method for this action is [`KotlinOrganizeImportsAction.run`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/organizeImports/KotlinOrganizeImportsAction.kt#L59). 

First of all, it collects missing imports, adds them to the existing imports and then runs [`KotlinOrganizeImportsAction.optimizeImports`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/organizeImports/KotlinOrganizeImportsAction.kt#L86).
This method removes duplicates and unused imports, reorganizes imports and replaces some explicit imports with the star import. The important part here is that we
reuse the code to optimize imports from the Kotlin plugin for IntelliJ IDEA. The original method that is called from the Eclipse plugin is [`buildOptimizedImports`](https://github.com/JetBrains/kotlin/blob/master/idea/ide-common/src/org/jetbrains/kotlin/idea/util/OptimizedImportsBuilder.kt#L87), 
which is also used in the plugin for IDEA.

#### Code reuse from the IDEA plugin

Eclipse plugin depends on `kotlin-ide-common.jar` artifact, which provides common functionality for IDEA and Eclipse plugin. 
Basically, this is a module ([`ide-common`](https://github.com/JetBrains/kotlin/tree/master/idea/ide-common)) in Kotlin project with minimum dependencies, 
so it can be used in Eclipse or Netbeans plugin. This module provides several features that are used across the Eclipse plugin. 
For example, completion in the Eclipse plugin mostly reuses parts of completion from the IDEA plugin 
([`KotlinCompletionUtils.getReferenceVariants`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/completion/KotlinCompletionUtils.kt#L84) 
uses [`ReferenceVarianceHelper`](https://github.com/JetBrains/kotlin/blob/master/idea/ide-common/src/org/jetbrains/kotlin/idea/codeInsight/ReferenceVariantsHelper.kt)).
Generally, it's a preferable way to implement features in the Eclipse plugin, i.e. to reuse parts from the IDEA plugin. Unfortunately, there is no
common way to do this because of different models of IDEs.

### Kotlin compilation and launch

Kotlin Eclipse plugin does not support incremental compilation or presentation compiler. Kotlin files are compiled using the 
Kotlin compiler in [`KotlinCompiler.compileKotlinFiles`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/compiler/KotlinCompiler.java#L48).
 
#### Kotlin Builder

Kotlin plugin uses the Eclipse builder concept to track changes and compile Kotlin files if needed. For a usual change in project, 
Kotlin builder only updates light classes. Then, if project is being built to launch the application ([`KotlinBuilder.isBuildingForLaunch`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/builder/KotlinBuilder.kt#L180)), 
Kotlin builder compiles Kotlin files (in [`KotlinBuilder.build`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/builder/KotlinBuilder.kt#L63)). 
Therefore, Kotlin builder should always precede Java builder.

#### Kotlin Nature

There is a Kotlin [nature](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinNature.kt) 
to mark Kotlin projects.

#### Kotlin Debugger

Kotlin Eclipse plugin is using the standard debugger for Java in Eclipse. 
For example, there are [`KotlinToggleBreakpointAdapter`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/debug/KotlinToggleBreakpointAdapter.kt) 
and [`KotlinRunToLineAdapter`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/debug/KotlinRunToLineAdapter.kt) 
adapters to add breakpoint to a specific line and to support action "run to cursor".     

### Kotlin environment and project analysis

In order to analyse files and use compiler API, [`KotlinEnvironment`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinEnvironment.kt#L207) 
have to be configured. Basically, `KotlinEnvironment` is created for each project in Eclipse and maps external (from Eclipse) project model to the internal one. 
Also, it registers various services and configures dependencies, see [`KotlinEnvironment.configureClasspath`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinEnvironment.kt#L231). 
Important note: if classpath was changed, corresponding Kotlin environment should be recreated.  

#### Kotlin parsing

There are PSI and Kt elements that are basically represent concrete syntax tree of Kotlin program. (The term "PSI" is used in IntelliJ IDEA to refer to the syntax tree, and stands for "Program Structure Interface".) To get the parsed version of a source file
[`KotlinPsiManager`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/builder/KotlinPsiManager.kt) 
should be used. Note that it caches last version of `KtFile`, so to get actual `KtFile`, source code of file can be
explicitly passed to the [`getKotlinFileIfExist`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/builder/KotlinPsiManager.kt#L368) 
method, or you can use [`commitFile`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/builder/KotlinPsiManager.kt#L389) 
to reparse and cache changed file.

#### "Remove explicit type" quick assist example

Let's consider how "Remove explicit type" quick assist works. This quick assist removes explicitly written type reference for property, 
function and loop parameter, i.e. it converts `val s: String = "value"` to `val s = "value"`.
  
First of all, when user invokes quick assist on some element (`ctrl+1`), method
[`KotlinQuickAssist.isApplicable`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/quickassist/KotlinQuickAssist.kt#L32) 
is called. `isApplicable` method obtains current PSI element ([`getActiveElement`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/quickassist/KotlinQuickAssist.kt#L37)),
it gets PSI file and then calls `findElementAt` to get concrete element at specific offset.

Once we get active PSI element, we pass it to our quick assists and check for theirs applicability. 
[`KotlinRemoveExplicitTypeAssistProposal.isApplicable`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/quickassist/KotlinRemoveExplicitTypeAssistProposal.kt#L35)
checks that active PSI element is actually a property, function or loop parameter with a type reference. 
In method [`KotlinRemoveExplicitTypeAssistProposal.apply`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/quickassist/KotlinRemoveExplicitTypeAssistProposal.kt#L62) 
quick assist is executed and removes corresponding type reference.

This and other quick assists and actions rely completely on the knowledge of CST for Kotlin. In order to make it easier, there is an action
"View Psi Structure for Current File" in the context menu for Kotlin file, which can be used to examine structure of the Kotlin CST.

#### Kotlin analyzer

Many features in IDE requires more deep knowledge of the Kotlin compiler implementation. For example, [`KotlinLineAnnotationsReconciler`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/annotations/AnnotationManager.kt#L146)
is used  to show diagnostics from the compiler. It uses concept of `ReconcilingStrategy` and runs after each change in active file,
when analysis results for the file will be ready and cached. The main line there is `KotlinAnalyzer.analyzeFile(file)...`, which returns
analysis results and can be used to get diagnostics from the compiler.

Kotlin compiler uses map called `BindingContext` to contain all types and internal representations (descriptors) for expressions in program. 
To get binding context one can use [`KotlinAnalyzer.analyzeFile(file).bindingContext`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/KotlinAnalyzer.kt#L26). 
See [`KotlinSemanticHighlighter`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/highlighting/KotlinSemanticHighlighting.kt) 
for an example of the compiler analysis use. There are several methods in [`KotlinSemanticHighlightingVisitor`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/highlighting/KotlinSemanticHighlightingVisitor.kt), 
which uses binding context to obtain information either from a declaration ([`visitProperty`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/highlighting/KotlinSemanticHighlightingVisitor.kt#L123)), 
or from a reference ([`visitSimpleNameExpression`](https://github.com/JetBrains/kotlin-eclipse/blob/master/kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/highlighting/KotlinSemanticHighlightingVisitor.kt#L82)).     



================================================
FILE: kotlin-bundled-compiler/Get Bundled Kotlin.launch
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
<stringAttribute key="bad_container_name" value="\kotlin-bundled-compiler\get_bundled_kotlin"/>
<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/kotlin-bundled-compiler/get_bundled.xml"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="kotlin-bundled-compiler"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/kotlin-bundled-compiler/get_bundled.xml}"/>
<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
</launchConfiguration>


================================================
FILE: kotlin-bundled-compiler/META-INF/MANIFEST.MF
================================================
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Bundled Kotlin Compiler
Bundle-SymbolicName: org.jetbrains.kotlin.bundled-compiler;singleton:=true
Bundle-Version: 0.8.24.qualifier
Bundle-Vendor: JetBrains
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-ClassPath: .,
 lib/ide-common.jar,
 lib/kotlin-compiler.jar,
 lib/ide-dependencies.jar,
 lib/kotlin-stdlib.jar,
 lib/kotlin-plugin-parts.jar,
 lib/kotlin-script-runtime.jar,
 lib/kotlin-scripting-compiler.jar,
 lib/kotlin-formatter.jar,
 lib/kotlin-common.jar,
 lib/kotlin-core.jar,
 lib/kotlin-idea.jar,
 lib/kotlin-j2k-old.jar,
 lib/kotlin-j2k-new.jar,
 lib/kotlin-j2k-idea.jar,
 lib/kotlin-j2k-services.jar,
 lib/kotlin-frontend-independent.jar,
 lib/kotlin-reflect.jar,
 ../kotlin-eclipse-ui-test/lib/gson-2.3.1.jar,
 lib/annotations-13.0.jar,
 lib/kotlin-scripting-compiler-impl.jar,
 lib/kotlin-scripting-common.jar,
 lib/kotlin-scripting-jvm.jar,
 lib/kotlinx-coroutines-core.jar
Export-Package: com.google.common.collect,
 com.intellij,
 org.jetbrains.kotlin.idea.util.application,
 org.jetbrains.kotlin.idea.caches.resolve,
 org.jetbrains.kotlin.idea.core.util,
 org.jetbrains.kotlin.nj2k,
 org.jetbrains.kotlin.idea.j2k,
 org.jetbrains.kotlin.nj2k.postProcessing,
 com.intellij.codeInsight,
 com.intellij.codeInsight.completion.scope,
 com.intellij.codeInsight.folding,
 com.intellij.codeInsight.folding.impl,
 com.intellij.codeInsight.javadoc,
 com.intellij.codeInsight.runner,
 com.intellij.core,
 com.intellij.diagnostic,
 com.intellij.extapi.psi,
 com.intellij.formatting,
 com.intellij.icons,
 com.intellij.ide,
 com.intellij.ide.highlighter,
 com.intellij.ide.plugins,
 com.intellij.ide.util,
 com.intellij.injected.editor,
 com.intellij.lang,
 com.intellij.lang.folding,
 com.intellij.lang.impl,
 com.intellij.lang.injection,
 com.intellij.lang.java,
 com.intellij.lang.java.lexer,
 com.intellij.lang.java.parser,
 com.intellij.lang.jvm,
 com.intellij.lang.jvm.facade,
 com.intellij.lexer,
 com.intellij.mock,
 com.intellij.navigation,
 com.intellij.openapi,
 com.intellij.openapi.application,
 com.intellij.openapi.application.ex,
 com.intellij.openapi.application.impl,
 com.intellij.openapi.command,
 com.intellij.openapi.command.impl,
 com.intellij.openapi.command.undo,
 com.intellij.openapi.components,
 com.intellij.openapi.diagnostic,
 com.intellij.openapi.editor,
 com.intellij.openapi.editor.actionSystem,
 com.intellij.openapi.editor.colors,
 com.intellij.openapi.editor.event,
 com.intellij.openapi.editor.ex,
 com.intellij.openapi.editor.impl,
 com.intellij.openapi.editor.impl.event,
 com.intellij.openapi.editor.markup,
 com.intellij.openapi.extensions,
 com.intellij.openapi.extensions.impl,
 com.intellij.openapi.fileEditor,
 com.intellij.openapi.fileEditor.impl,
 com.intellij.openapi.fileTypes,
 com.intellij.openapi.module,
 com.intellij.openapi.progress,
 com.intellij.openapi.project,
 com.intellij.openapi.projectRoots,
 com.intellij.openapi.roots,
 com.intellij.openapi.ui,
 com.intellij.openapi.util,
 com.intellij.openapi.util.io,
 com.intellij.openapi.util.objectTree,
 com.intellij.openapi.util.registry,
 com.intellij.openapi.util.text,
 com.intellij.openapi.vfs,
 com.intellij.openapi.vfs.encoding,
 com.intellij.openapi.vfs.ex,
 com.intellij.openapi.vfs.impl,
 com.intellij.openapi.vfs.impl.jar,
 com.intellij.openapi.vfs.local,
 com.intellij.openapi.vfs.newvfs,
 com.intellij.openapi.vfs.newvfs.events,
 com.intellij.openapi.vfs.pointers,
 com.intellij.patterns,
 com.intellij.patterns.compiler,
 com.intellij.pom,
 com.intellij.pom.event,
 com.intellij.pom.impl,
 com.intellij.pom.java,
 com.intellij.pom.tree,
 com.intellij.pom.tree.events,
 com.intellij.pom.tree.events.impl,
 com.intellij.psi,
 com.intellij.psi.augment,
 com.intellij.psi.codeStyle,
 com.intellij.psi.compiled,
 com.intellij.psi.controlFlow,
 com.intellij.psi.css,
 com.intellij.psi.filters,
 com.intellij.psi.filters.classes,
 com.intellij.psi.filters.element,
 com.intellij.psi.filters.position,
 com.intellij.psi.formatter,
 com.intellij.psi.impl,
 com.intellij.psi.impl.cache,
 com.intellij.psi.impl.compiled,
 com.intellij.psi.impl.file,
 com.intellij.psi.impl.file.impl,
 com.intellij.psi.impl.java.stubs,
 com.intellij.psi.impl.java.stubs.impl,
 com.intellij.psi.impl.java.stubs.index,
 com.intellij.psi.impl.light,
 com.intellij.psi.impl.meta,
 com.intellij.psi.impl.smartPointers,
 com.intellij.psi.impl.source,
 com.intellij.psi.impl.source.codeStyle,
 com.intellij.psi.impl.source.javadoc,
 com.intellij.psi.impl.source.resolve,
 com.intellij.psi.impl.source.resolve.graphInference,
 com.intellij.psi.impl.source.resolve.graphInference.constraints,
 com.intellij.psi.impl.source.resolve.reference,
 com.intellij.psi.impl.source.resolve.reference.impl,
 com.intellij.psi.impl.source.resolve.reference.impl.manipulators,
 com.intellij.psi.impl.source.resolve.reference.impl.providers,
 com.intellij.psi.impl.source.tree,
 com.intellij.psi.impl.source.tree.injected,
 com.intellij.psi.impl.source.tree.java,
 com.intellij.psi.infos,
 com.intellij.psi.javadoc,
 com.intellij.psi.meta,
 com.intellij.psi.presentation.java,
 com.intellij.psi.scope,
 com.intellij.psi.scope.conflictResolvers,
 com.intellij.psi.scope.processor,
 com.intellij.psi.scope.util,
 com.intellij.psi.search,
 com.intellij.psi.search.searches,
 com.intellij.psi.stubs,
 com.intellij.psi.targets,
 com.intellij.psi.templateLanguages,
 com.intellij.psi.text,
 com.intellij.psi.tree,
 com.intellij.psi.tree.java,
 com.intellij.psi.util,
 com.intellij.reference,
 com.intellij.testFramework,
 com.intellij.ui,
 com.intellij.util,
 com.intellij.util.cls,
 com.intellij.util.codeInsight,
 com.intellij.util.concurrency,
 com.intellij.util.containers,
 com.intellij.util.containers.hash,
 com.intellij.util.diff,
 com.intellij.util.execution,
 com.intellij.util.graph,
 com.intellij.util.indexing,
 com.intellij.util.io,
 com.intellij.util.keyFMap,
 com.intellij.util.lang,
 com.intellij.util.messages,
 com.intellij.util.messages.impl,
 com.intellij.util.pico,
 com.intellij.util.text,
 com.intellij.util.xmlb,
 com.intellij.util.xmlb.annotations,
 gnu.trove,
 kotlin,
 kotlin.collections,
 kotlin.comparisons,
 kotlin.concurrent,
 kotlin.coroutines,
 kotlin.coroutines.intrinsics,
 kotlin.coroutines.jvm.internal,
 kotlin.internal;x-internal:=true,
 kotlin.io,
 kotlin.jvm,
 kotlin.jvm.functions,
 kotlin.jvm.internal;x-internal:=true,
 kotlin.jvm.internal.unsafe;x-internal:=true,
 kotlin.properties,
 kotlin.ranges,
 kotlin.reflect,
 kotlin.reflect.full,
 kotlin.reflect.jvm.internal.impl.load.kotlin,
 kotlin.script.dependencies,
 kotlin.script.experimental.annotations,
 kotlin.script.experimental.api,
 kotlin.script.experimental.dependencies,
 kotlin.script.experimental.host,
 kotlin.script.experimental.jvm,
 kotlin.script.experimental.util,
 kotlin.script.extensions,
 kotlin.script.templates,
 kotlin.script.templates.standard,
 kotlin.sequences,
 kotlin.text,
 kotlinx.coroutines,
 org.jetbrains.annotations,
 org.jetbrains.kotlin,
 org.jetbrains.kotlin.analyzer,
 org.jetbrains.kotlin.analyzer.common,
 org.jetbrains.kotlin.asJava,
 org.jetbrains.kotlin.asJava.classes,
 org.jetbrains.kotlin.asJava.finder,
 org.jetbrains.kotlin.backend.common,
 org.jetbrains.kotlin.backend.common.bridges,
 org.jetbrains.kotlin.backend.common.output,
 org.jetbrains.kotlin.builtins,
 org.jetbrains.kotlin.builtins.jvm,
 org.jetbrains.kotlin.caches.resolve,
 org.jetbrains.kotlin.cfg,
 org.jetbrains.kotlin.cfg.pseudocode,
 org.jetbrains.kotlin.cfg.pseudocode.instructions,
 org.jetbrains.kotlin.cfg.pseudocode.instructions.eval,
 org.jetbrains.kotlin.cfg.pseudocode.instructions.jumps,
 org.jetbrains.kotlin.cfg.pseudocode.instructions.special,
 org.jetbrains.kotlin.cfg.pseudocodeTraverser,
 org.jetbrains.kotlin.checkers,
 org.jetbrains.kotlin.checkers.diagnostics,
 org.jetbrains.kotlin.checkers.diagnostics.factories,
 org.jetbrains.kotlin.checkers.utils,
 org.jetbrains.kotlin.cli.common,
 org.jetbrains.kotlin.cli.common.arguments,
 org.jetbrains.kotlin.cli.common.messages,
 org.jetbrains.kotlin.cli.common.modules,
 org.jetbrains.kotlin.cli.js,
 org.jetbrains.kotlin.cli.jvm,
 org.jetbrains.kotlin.cli.jvm.compiler,
 org.jetbrains.kotlin.cli.jvm.index,
 org.jetbrains.kotlin.codegen,
 org.jetbrains.kotlin.codegen.binding,
 org.jetbrains.kotlin.codegen.context,
 org.jetbrains.kotlin.codegen.extensions,
 org.jetbrains.kotlin.codegen.inline,
 org.jetbrains.kotlin.codegen.intrinsics,
 org.jetbrains.kotlin.codegen.optimization,
 org.jetbrains.kotlin.codegen.optimization.boxing,
 org.jetbrains.kotlin.codegen.optimization.common,
 org.jetbrains.kotlin.codegen.optimization.transformer,
 org.jetbrains.kotlin.codegen.signature,
 org.jetbrains.kotlin.codegen.state,
 org.jetbrains.kotlin.codegen.when,
 org.jetbrains.kotlin.compiler.plugin,
 org.jetbrains.kotlin.config,
 org.jetbrains.kotlin.container,
 org.jetbrains.kotlin.context,
 org.jetbrains.kotlin.contracts,
 org.jetbrains.kotlin.descriptors,
 org.jetbrains.kotlin.descriptors.annotations,
 org.jetbrains.kotlin.descriptors.impl,
 org.jetbrains.kotlin.descriptors.java,
 org.jetbrains.kotlin.diagnostics,
 org.jetbrains.kotlin.diagnostics.rendering,
 org.jetbrains.kotlin.extensions,
 org.jetbrains.kotlin.fileClasses,
 org.jetbrains.kotlin.frontend.di,
 org.jetbrains.kotlin.frontend.java.di,
 org.jetbrains.kotlin.idea,
 org.jetbrains.kotlin.idea.codeInsight,
 org.jetbrains.kotlin.idea.core.formatter,
 org.jetbrains.kotlin.idea.formatter,
 org.jetbrains.kotlin.idea.imports,
 org.jetbrains.kotlin.idea.kdoc,
 org.jetbrains.kotlin.idea.resolve,
 org.jetbrains.kotlin.idea.util,
 org.jetbrains.kotlin.incremental,
 org.jetbrains.kotlin.incremental.components,
 org.jetbrains.kotlin.j2k,
 org.jetbrains.kotlin.js.resolve.diagnostics,
 org.jetbrains.kotlin.kdoc.lexer,
 org.jetbrains.kotlin.kdoc.parser,
 org.jetbrains.kotlin.kdoc.psi.api,
 org.jetbrains.kotlin.kdoc.psi.impl,
 org.jetbrains.kotlin.lexer,
 org.jetbrains.kotlin.load.java,
 org.jetbrains.kotlin.load.java.components,
 org.jetbrains.kotlin.load.java.descriptors,
 org.jetbrains.kotlin.load.java.lazy,
 org.jetbrains.kotlin.load.java.lazy.descriptors,
 org.jetbrains.kotlin.load.java.lazy.types,
 org.jetbrains.kotlin.load.java.sam,
 org.jetbrains.kotlin.load.java.sources,
 org.jetbrains.kotlin.load.java.structure,
 org.jetbrains.kotlin.load.java.structure.impl,
 org.jetbrains.kotlin.load.java.typeEnhancement,
 org.jetbrains.kotlin.load.kotlin,
 org.jetbrains.kotlin.load.kotlin.header,
 org.jetbrains.kotlin.load.kotlin.incremental,
 org.jetbrains.kotlin.metadata.jvm.deserialization,
 org.jetbrains.kotlin.name,
 org.jetbrains.kotlin.parsing,
 org.jetbrains.kotlin.platform,
 org.jetbrains.kotlin.platform.jvm,
 org.jetbrains.kotlin.progress,
 org.jetbrains.kotlin.psi,
 org.jetbrains.kotlin.psi.addRemoveModifier,
 org.jetbrains.kotlin.psi.codeFragmentUtil,
 org.jetbrains.kotlin.psi.debugText,
 org.jetbrains.kotlin.psi.findDocComment,
 org.jetbrains.kotlin.psi.psiUtil,
 org.jetbrains.kotlin.psi.stubs,
 org.jetbrains.kotlin.psi.stubs.elements,
 org.jetbrains.kotlin.psi.stubs.impl,
 org.jetbrains.kotlin.psi.typeRefHelpers,
 org.jetbrains.kotlin.renderer,
 org.jetbrains.kotlin.resolve,
 org.jetbrains.kotlin.resolve.annotations,
 org.jetbrains.kotlin.resolve.bindingContextUtil,
 org.jetbrains.kotlin.resolve.calls,
 org.jetbrains.kotlin.resolve.calls.callUtil,
 org.jetbrains.kotlin.resolve.calls.checkers,
 org.jetbrains.kotlin.resolve.calls.context,
 org.jetbrains.kotlin.resolve.calls.inference,
 org.jetbrains.kotlin.resolve.calls.inference.constraintPosition,
 org.jetbrains.kotlin.resolve.calls.model,
 org.jetbrains.kotlin.resolve.calls.results,
 org.jetbrains.kotlin.resolve.calls.smartcasts,
 org.jetbrains.kotlin.resolve.calls.tasks,
 org.jetbrains.kotlin.resolve.calls.util,
 org.jetbrains.kotlin.resolve.checkers,
 org.jetbrains.kotlin.resolve.constants,
 org.jetbrains.kotlin.resolve.constants.evaluate,
 org.jetbrains.kotlin.resolve.deprecation,
 org.jetbrains.kotlin.resolve.descriptorUtil,
 org.jetbrains.kotlin.resolve.diagnostics,
 org.jetbrains.kotlin.resolve.extensions,
 org.jetbrains.kotlin.resolve.jvm,
 org.jetbrains.kotlin.resolve.jvm.diagnostics,
 org.jetbrains.kotlin.resolve.jvm.extensions,
 org.jetbrains.kotlin.resolve.jvm.jvmSignature,
 org.jetbrains.kotlin.resolve.jvm.kotlinSignature,
 org.jetbrains.kotlin.resolve.jvm.modules,
 org.jetbrains.kotlin.resolve.jvm.platform,
 org.jetbrains.kotlin.resolve.lazy,
 org.jetbrains.kotlin.resolve.lazy.data,
 org.jetbrains.kotlin.resolve.lazy.declarations,
 org.jetbrains.kotlin.resolve.lazy.descriptors,
 org.jetbrains.kotlin.resolve.sam,
 org.jetbrains.kotlin.resolve.scopes,
 org.jetbrains.kotlin.resolve.scopes.receivers,
 org.jetbrains.kotlin.resolve.scopes.utils,
 org.jetbrains.kotlin.resolve.source,
 org.jetbrains.kotlin.resolve.typeBinding,
 org.jetbrains.kotlin.scripting.configuration,
 org.jetbrains.kotlin.scripting.definitions,
 org.jetbrains.kotlin.scripting.extensions,
 org.jetbrains.kotlin.scripting.resolve,
 org.jetbrains.kotlin.serialization,
 org.jetbrains.kotlin.serialization.builtins,
 org.jetbrains.kotlin.serialization.deserialization,
 org.jetbrains.kotlin.serialization.deserialization.builtins,
 org.jetbrains.kotlin.serialization.deserialization.descriptors,
 org.jetbrains.kotlin.storage,
 org.jetbrains.kotlin.synthetic,
 org.jetbrains.kotlin.types,
 org.jetbrains.kotlin.types.checker,
 org.jetbrains.kotlin.types.error,
 org.jetbrains.kotlin.types.expressions,
 org.jetbrains.kotlin.types.typeUtil,
 org.jetbrains.kotlin.types.typesApproximation,
 org.jetbrains.kotlin.util,
 org.jetbrains.kotlin.util.collectionUtils,
 org.jetbrains.kotlin.util.slicedMap,
 org.jetbrains.kotlin.utils,
 org.jetbrains.kotlin.utils.addToStdlib,
 org.jetbrains.kotlin.utils.concurrent.block,
 org.jetbrains.kotlin.utils.fileUtils,
 org.jetbrains.kotlin.utils.intellij,
 org.jetbrains.kotlin.utils.strings,
 org.jetbrains.org.objectweb.asm,
 org.jetbrains.org.objectweb.asm.commons,
 org.jetbrains.org.objectweb.asm.signature,
 org.jetbrains.org.objectweb.asm.tree,
 org.jetbrains.org.objectweb.asm.tree.analysis,
 org.jetbrains.org.objectweb.asm.util


================================================
FILE: kotlin-bundled-compiler/build.gradle.kts
================================================
import com.intellij.buildsupport.dependencies.PackageListFromSimpleFile
import com.intellij.buildsupport.resolve.http.HttpArtifact
import com.intellij.buildsupport.resolve.http.HttpArtifactsResolver
import com.intellij.buildsupport.resolve.http.idea.IntellijIdeaArtifactsResolver
import com.intellij.buildsupport.utils.FileUtils

apply(plugin = "base")

// constants
val teamcityBaseUrl ="https://teamcity.jetbrains.com"
val ideaSdkUrl = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea"

// properties that might/should be modifiable

//val kotlinCompilerTcBuildId: String = project.findProperty("kotlinCompilerTcBuildId") as String? ?: "3546752"
val kotlinPluginUpdateId = project.findProperty("kotlinPluginUpdateId") as String? ?: "169248" // Kotlin Plugin 1.6.21 for Idea 2021.3

val kotlinCompilerVersion: String = project.findProperty("kotlinCompilerVersion") as String? ?: "1.6.21"
val kotlinxVersion: String = project.findProperty("kolinxVersion") as String? ?: "1.5.2"
val tcArtifactsPath: String = project.findProperty("tcArtifactsPath") as String? ?: ""
val ideaVersion: String = project.findProperty("ideaVersion") as String? ?: "213.5744.223" //Idea 2021.3
val kotlinIdeaCompatibleVersionMinor: String = project.findProperty("kotlinIdeaCompatibleVersionMinor") as String? ?: "2021.3"
val ignoreSources: Boolean = true//project.hasProperty("ignoreSources")

//directories
val testDataDir = file("${projectDir.parentFile}/kotlin-eclipse-ui-test/common_testData")
//TODO later refactor to the proper project dir
val testModuleLibDir = file("${projectDir.parentFile}/kotlin-eclipse-ui-test/lib")
//TODO later refactor to the proper project dir

val downloadDirName = "downloads$ideaVersion-$kotlinCompilerVersion"

val teamCityWorkingDir = project.findProperty("teamcity.buildsupport.workingDir")
val libDir = if (teamCityWorkingDir != null) file("$teamCityWorkingDir/lib") else file("lib")

val localTCArtifacts: Boolean = tcArtifactsPath.isNotBlank()
val downloadDir = if(localTCArtifacts) file(tcArtifactsPath) else file("$libDir/$downloadDirName")

/*val tcArtifactsResolver = KotlinCompilerTCArtifactsResolver(teamcityBaseUrl,
        project.hasProperty("lastSuccessfulBuild"),
        kotlinCompilerTcBuildId,
        kotlinCompilerVersion,
        kotlinIdeaCompatibleVersionMinor)*/

HttpArtifactsResolver.getProxyProps()["https.proxyHost"] = project.findProperty("https.proxyHost") ?: System.getProperty("https.proxyHost")
HttpArtifactsResolver.getProxyProps()["https.proxyPort"] = project.findProperty("https.proxyPort") ?: System.getProperty("https.proxyPort")
HttpArtifactsResolver.getProxyProps()["https.proxyUser"] = project.findProperty("https.proxyUser") ?: System.getProperty("https.proxyUser")
HttpArtifactsResolver.getProxyProps()["https.proxyPassword"] = project.findProperty("https.proxyPassword") ?: System.getProperty("https.proxyPassword")

val ideaArtifactsResolver = IntellijIdeaArtifactsResolver(ideaSdkUrl, ideaVersion)
val kotlinPluginArtifactsResolver = HttpArtifactsResolver("https://plugins.jetbrains.com")

val tempKotlinHttpArtifact = HttpArtifact("plugin/download?rel=true&updateId=$kotlinPluginUpdateId")

tasks.withType<Wrapper> {
    gradleVersion = "5.5.1"
}

val testFrameworkDependencies by configurations.creating
val kotlinxLibraries by configurations.creating

dependencies {
    testFrameworkDependencies("com.google.code.gson:gson:2.3.1")
    kotlinxLibraries("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxVersion") { isTransitive = false }
    kotlinxLibraries("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:$kotlinxVersion") { isTransitive = false }
}

repositories {
    mavenCentral()
}

tasks.named<Delete>("clean") {
    doLast {
        FileUtils.cleanDir(testDataDir)
        FileUtils.cleanDir(testModuleLibDir)
        FileUtils.cleanDirExceptSubDirName(libDir, downloadDirName)
    }
}

val deleteLibrariesFromLibFolder by tasks.registering {
    doFirst {
        libDir.listFiles()?.filter { it.isFile }?.forEach { it.deleteRecursively() }
    }
}

val downloadTestData by tasks.registering {
    val locallyDownloadedTestDataFile by extra {
        if(localTCArtifacts){
            file("$tcArtifactsPath/kotlin-test-data.zip")
        } else {
            file("$testDataDir/kotlin-test-data.zip")
        }
    }

    doLast {
        //TODO can we get the test data from somewhere?
        if (!localTCArtifacts && !locallyDownloadedTestDataFile.exists()) {
            //tcArtifactsResolver.downloadTo(tcArtifactsResolver.KOTLIN_TEST_DATA_ZIP, locallyDownloadedTestDataFile)
        }

        /*copy {
            from(zipTree(locallyDownloadedTestDataFile))
            into(testDataDir)
        }*/
    }
}

val downloadTestFrameworkDependencies by tasks.registering(Copy::class) {
    from(testFrameworkDependencies)
    into(testModuleLibDir)
}

val downloadKotlinCompilerPluginAndExtractSelectedJars by tasks.registering {
    dependsOn(deleteLibrariesFromLibFolder)

    val kotlinDownloadDir = file("$downloadDir/kotlin-$kotlinCompilerVersion/$kotlinIdeaCompatibleVersionMinor")
    val locallyDownloadedCompilerFile by extra {
        file(kotlinDownloadDir).listFiles()?.firstOrNull { it.name.startsWith("kotlin-plugin-") }
                ?: file("$kotlinDownloadDir/kotlin-plugin.zip")
    }

    doLast {
        if (!localTCArtifacts && !locallyDownloadedCompilerFile.exists()) {
            kotlinPluginArtifactsResolver.downloadTo(tempKotlinHttpArtifact, locallyDownloadedCompilerFile)
            //tcArtifactsResolver.downloadTo(tcArtifactsResolver.KOTLIN_PLUGIN_ZIP, locallyDownloadedCompilerFile)
        }

        copy {
            from(zipTree(locallyDownloadedCompilerFile))

            setIncludes(setOf("Kotlin/lib/kotlin-plugin.jar",
                    "Kotlin/lib/ide-common.jar",
                    "Kotlin/lib/kotlin-core.jar",
                    "Kotlin/lib/kotlin-idea.jar",
                    "Kotlin/lib/kotlin-common.jar",
                    "Kotlin/lib/kotlin-j2k-old.jar",
                    "Kotlin/lib/kotlin-j2k-new.jar",
                    "Kotlin/lib/kotlin-j2k-idea.jar",
                    "Kotlin/lib/kotlin-j2k-services.jar",
                    "Kotlin/lib/kotlin-frontend-independent.jar",
                    "Kotlin/lib/kotlin-formatter.jar",
                    "Kotlin/kotlinc/lib/kotlin-compiler.jar",
                    "Kotlin/kotlinc/lib/kotlin-stdlib.jar",
                    "Kotlin/kotlinc/lib/kotlin-reflect.jar",
                    "Kotlin/kotlinc/lib/kotlin-script-runtime.jar",
                    "Kotlin/kotlinc/lib/kotlin-scripting-compiler.jar",
                    "Kotlin/kotlinc/lib/kotlin-scripting-common.jar",
                    "Kotlin/kotlinc/lib/kotlin-scripting-jvm.jar",
                    "Kotlin/kotlinc/lib/kotlin-scripting-compiler-impl.jar",
                    "Kotlin/kotlinc/lib/kotlin-jdk-annotations.jar",
                    "Kotlin/kotlinc/lib/kotlin-stdlib-sources.jar",
                    "Kotlin/kotlinc/lib/allopen-compiler-plugin.jar",
                    "Kotlin/kotlinc/lib/noarg-compiler-plugin.jar",
                    "Kotlin/kotlinc/lib/sam-with-receiver-compiler-plugin.jar",
                    "Kotlin/kotlinc/lib/annotations-13.0.jar"))

            includeEmptyDirs = false
            into(libDir)

            // flatten + rename
            eachFile {
                this.relativePath = RelativePath(true, this.name)
            }
        }
    }
}

val extractPackagesFromPlugin by tasks.registering(Jar::class) {
    dependsOn(downloadKotlinCompilerPluginAndExtractSelectedJars)

    from(zipTree("$libDir/kotlin-plugin.jar"))
    destinationDirectory.set(libDir)
    archiveFileName.set("kotlin-plugin-parts.jar")
    include("**")
    exclude("com/intellij/util/**")

    doLast {
        file("$libDir/kotlin-plugin.jar").delete()
    }
}

val extractPackagesFromKTCompiler by tasks.registering(Jar::class) {
    dependsOn(downloadKotlinCompilerPluginAndExtractSelectedJars)

    from(zipTree("$libDir/kotlin-compiler.jar"))
    destinationDirectory.set(libDir)
    archiveFileName.set("kotlin-compiler-tmp.jar")
    include("**")
    exclude("com/intellij/openapi/util/text/**")
    exclude("com/intellij/util/containers/MultiMap*")

    doLast {
        file("$libDir/kotlin-compiler.jar").delete()
        file("$libDir/kotlin-compiler-tmp.jar").renameTo(file("$libDir/kotlin-compiler.jar"))
    }
}

val downloadIntellijCoreAndExtractSelectedJars by tasks.registering {
    dependsOn(deleteLibrariesFromLibFolder)
    val ideaDownloadDir = file("$downloadDir/idea-$ideaVersion")
    val locallyDownloadedIntellijCoreFile by extra { file("$ideaDownloadDir/intellij-core.zip") }

    doLast {
        if(!locallyDownloadedIntellijCoreFile.exists()) {
            ideaArtifactsResolver.downloadTo(ideaArtifactsResolver.INTELLIJ_CORE_ZIP, locallyDownloadedIntellijCoreFile)
        }
        copy {
            from(zipTree(locallyDownloadedIntellijCoreFile))

            setIncludes(setOf("intellij-core.jar"))

            includeEmptyDirs = false

            into(libDir)
        }
    }
}

val downloadIdeaDistributionZipAndExtractSelectedJars by tasks.registering {
    dependsOn(deleteLibrariesFromLibFolder)
    val ideaDownloadDir = file("$downloadDir/idea-$ideaVersion")
    val locallyDownloadedIdeaZipFile by extra { file("$ideaDownloadDir/ideaIC.zip") }
    val chosenJars by extra { setOf(//"openapi",
            //"platform-util-ui",
            "util",
            "idea",
            //"trove4j",
            "platform-api",
            "platform-impl") }

    doLast {
        if(!locallyDownloadedIdeaZipFile.exists()) {
            ideaArtifactsResolver.downloadTo(ideaArtifactsResolver.IDEA_IC_ZIP, locallyDownloadedIdeaZipFile)
        }
        copy {
            from(zipTree(locallyDownloadedIdeaZipFile))

            setIncludes(chosenJars.map { "lib/$it.jar" }.toSet())

            includeEmptyDirs = false

            into(libDir)

// flatten the files
            eachFile {
                this.relativePath = RelativePath(true, this.name)
            }
        }
    }
}

val extractSelectedFilesFromIdeaJars by tasks.registering {
    dependsOn(downloadIdeaDistributionZipAndExtractSelectedJars)

    val packages by extra {
        /*new PackageListFromManifest("META-INF/MANIFEST.MF"),*/
        PackageListFromSimpleFile(file("referencedPackages.txt").path).pathsToInclude
    }
    val extractDir by extra { file("$downloadDir/dependencies") }

    doLast {
        val chosenJars: Set<String> by downloadIdeaDistributionZipAndExtractSelectedJars.get().extra
        for (library in chosenJars) {
            copy {
                from(zipTree("$libDir/$library.jar"))
                setIncludes(packages)
                includeEmptyDirs = false
                into(extractDir)
            }
            file("$libDir/$library.jar").delete()
        }
    }
}

val createIdeDependenciesJar by tasks.registering(Jar::class) {
    dependsOn(extractSelectedFilesFromIdeaJars)

    val extractDir: File by extractSelectedFilesFromIdeaJars.get().extra

    from(extractDir)
    destinationDirectory.set(libDir)
    archiveFileName.set("ide-dependencies.jar")

    manifest {
        attributes(mapOf("Built-By" to "JetBrains",
                "Implementation-Vendor" to "JetBrains",
                "Implementation-Version" to "1.0",
                "Implementation-Title" to "ide-dependencies"))
    }

    doLast {
        extractDir.deleteRecursively()
    }
}

val downloadKotlinxLibraries by tasks.registering(Copy::class) {
    from(kotlinxLibraries)
    into(libDir)
    rename("(kotlinx-coroutines-\\w+)-.*", "$1.jar")
}

val downloadIdeaAndKotlinCompilerSources by tasks.registering {
    val locallyDownloadedKotlinCompilerSourcesFile by extra { file("$downloadDir/kotlin-compiler-sources.jar") }
    val locallyDownloadedIdeaSourcesFile by extra { file("$downloadDir/idea-sdk-sources.jar") }

    doLast {
        if(!locallyDownloadedKotlinCompilerSourcesFile.exists()) {
            //TODO can we get the sources from somewhere?
            //tcArtifactsResolver.downloadTo(tcArtifactsResolver.KOTLIN_COMPILER_SOURCES_JAR, locallyDownloadedKotlinCompilerSourcesFile)
        }
        if(!locallyDownloadedIdeaSourcesFile.exists()) {
            ideaArtifactsResolver.downloadTo(ideaArtifactsResolver.IDEA_IC_SOURCES_JAR, locallyDownloadedIdeaSourcesFile)
        }
    }
}

val repackageIdeaAndKotlinCompilerSources by tasks.registering(Zip::class) {
    dependsOn(downloadIdeaAndKotlinCompilerSources)

    val locallyDownloadedKotlinCompilerSourcesFile: File by downloadIdeaAndKotlinCompilerSources.get().extra
    val locallyDownloadedIdeaSourcesFile: File by downloadIdeaAndKotlinCompilerSources.get().extra

    from(zipTree(locallyDownloadedKotlinCompilerSourcesFile))
    from(zipTree(locallyDownloadedIdeaSourcesFile))

    destinationDirectory.set(libDir)
    archiveFileName.set("kotlin-compiler-sources.jar")
}

val downloadBundled by tasks.registering {
    libDir.listFiles()?.filter { it.isFile }?.forEach { it.deleteRecursively() }
    if (localTCArtifacts) {
        dependsOn(extractPackagesFromPlugin,
                extractPackagesFromKTCompiler,
                downloadIntellijCoreAndExtractSelectedJars,
                createIdeDependenciesJar,
                downloadKotlinxLibraries)
    } else {
        dependsOn(extractPackagesFromPlugin,
                extractPackagesFromKTCompiler,
                downloadIntellijCoreAndExtractSelectedJars,
                createIdeDependenciesJar,
                downloadKotlinxLibraries)
    }

    if (!ignoreSources) {
        dependsOn(repackageIdeaAndKotlinCompilerSources)
    }
}

val getBundled by tasks.registering {
    dependsOn(downloadTestData, downloadTestFrameworkDependencies, downloadBundled)
}


================================================
FILE: kotlin-bundled-compiler/build.properties
================================================
###############################################################################
# Copyright 2000-2014 JetBrains s.r.o.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
###############################################################################
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               lib/kotlin-compiler.jar,\
               lib/kotlin-stdlib.jar,\
               lib/kotlin-reflect.jar,\
               lib/kotlin-stdlib-sources.jar,\
               lib/kotlin-script-runtime.jar,\
               lib/allopen-compiler-plugin.jar,\
               lib/kotlin-scripting-compiler.jar,\
               lib/sam-with-receiver-compiler-plugin.jar,\
               lib/noarg-compiler-plugin.jar,\
               lib/annotations-13.0.jar,\
               lib/kotlinx-coroutines-core.jar,\
               lib/kotlinx-coroutines-jdk8.jar,\
               lib/ide-dependencies.jar,\
               lib/kotlin-scripting-common.jar,\
               lib/kotlin-scripting-jvm.jar,\
               lib/kotlin-scripting-compiler-impl.jar,\
               lib/kotlin-plugin-parts.jar,\
               lib/kotlin-formatter.jar,\
               lib/kotlin-common.jar,\
               lib/kotlin-idea.jar,\
               lib/kotlin-core.jar,\
               lib/kotlin-j2k-old.jar,\
               lib/kotlin-j2k-new.jar,\
               lib/kotlin-j2k-idea.jar,\
               lib/kotlin-j2k-services.jar,\
               lib/kotlin-frontend-independent.jar,\
               lib/ide-common.jar
src.includes = lib/
bin.excludes = lib/kotlin-compiler-sources.jar,\
               lib/downloads/
src.excludes = lib/downloads/,\
               lib/intellij-core.jar


================================================
FILE: kotlin-bundled-compiler/buildSrc/build.gradle
================================================
apply plugin: 'groovy'


repositories {
    jcenter()
    mavenCentral()
    maven { url 'https://jitpack.io' }
}


dependencies {
    implementation 'org.jetbrains.teamcity:teamcity-rest-client:1.5.0'

    testImplementation('org.spockframework:spock-core:2.2-groovy-3.0') {
        exclude module : 'groovy-all'
    }
    testImplementation 'com.github.stefanbirkner:system-rules:1.19.0'
    testImplementation 'org.apache.commons:commons-lang3:3.8.1'

}

test.enabled = false // otherwise integration tests will run always before the actual build


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/dependencies/PackageList.groovy
================================================
package com.intellij.buildsupport.dependencies

abstract class PackageList {
    List<String> getPathsToInclude() {
        List<String> tempList = []
        packageNames.forEach {
            if(it.startsWith("custom:")) {
                tempList.add(it.replace("custom:", ""))
            } else {
                tempList.add(it.replace('.', '/') + '/*.class')
            }
        }
        return tempList
    }

    protected abstract List<String> getPackageNames()
}

================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/dependencies/PackageListFromManifest.groovy
================================================
package com.intellij.buildsupport.dependencies

import groovy.transform.TupleConstructor

import java.util.jar.Manifest

@TupleConstructor
class PackageListFromManifest extends PackageList {
    String path

    @Override
    protected List<String> getPackageNames() {
        new Manifest(new FileInputStream(path)).mainAttributes
                .getValue("Export-Package")
                .split(',')
                *.takeWhile { it != ';' } as List<String>
    }
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/dependencies/PackageListFromSimpleFile.groovy
================================================
package com.intellij.buildsupport.dependencies

import groovy.transform.TupleConstructor

import java.util.jar.Manifest

@TupleConstructor
class PackageListFromSimpleFile extends PackageList {
    String path

    @Override
    protected List<String> getPackageNames() {
        new FileInputStream(path).readLines()
                *.trim()
                .findAll { !it.empty }
                .findAll { it.take(1) != '#' }
    }
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/http/HttpArtifact.groovy
================================================
package com.intellij.buildsupport.resolve.http


import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import groovy.transform.TupleConstructor


@TupleConstructor(includeFields = true)
@EqualsAndHashCode
@ToString
class HttpArtifact {

    // relative to HTTP base URL
    final String filePath // cannot contain any regex patterns
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/http/HttpArtifactsResolver.groovy
================================================
package com.intellij.buildsupport.resolve.http


import groovy.transform.TupleConstructor


@TupleConstructor(includeFields = true)
class HttpArtifactsResolver {

    // FIELDS =========================================================================================================
    protected final String httpBaseUrl

    static Map<String, Object> proxyProps = new HashMap<>()


    // PUBLIC API =====================================================================================================
    final void downloadTo(HttpArtifact httpArtifact, File outputFile) {
        println "Downloading artifact: $httpArtifact.filePath"

        downloadFileFromUrlInto "$httpBaseUrl/$httpArtifact.filePath", outputFile
    }


    // PRIVATE API ====================================================================================================
    private void downloadFileFromUrlInto(String fileURL, File destinationFile) {
        destinationFile.parentFile.mkdirs()

        def ant = new AntBuilder()
        if (!proxyProps.isEmpty() && proxyProps['https.proxyHost'] != null) {
            if (proxyProps.get("https.proxyUser") == null) {
                ant.setproxy(proxyHost: proxyProps['https.proxyHost'], proxyPort: proxyProps['https.proxyPort'])
            } else {
                ant.setproxy(proxyHost: proxyProps['https.proxyHost'], proxyPort: proxyProps['https.proxyPort'], proxyUser: proxyProps['https.proxyUser'], proxyPassword: proxyProps['https.proxyPassword'])
            }
        }
        ant.get(src: fileURL,
                dest: destinationFile,
                usetimestamp: true)
    }
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/http/idea/IntellijIdeaArtifactsResolver.groovy
================================================
package com.intellij.buildsupport.resolve.http.idea


import com.intellij.buildsupport.resolve.http.HttpArtifact
import com.intellij.buildsupport.resolve.http.HttpArtifactsResolver

import groovy.transform.CompileStatic


@CompileStatic
class IntellijIdeaArtifactsResolver extends HttpArtifactsResolver {

    final String ideaVersion


    IntellijIdeaArtifactsResolver(String httpBaseUrl, String ideaVersion) {
        super(httpBaseUrl)

        this.ideaVersion = ideaVersion
    }


    public final HttpArtifact INTELLIJ_CORE_ZIP   = new HttpArtifact("intellij-core/$ideaVersion/intellij-core-${ideaVersion}.zip",)
    public final HttpArtifact IDEA_IC_ZIP         = new HttpArtifact("ideaIC/$ideaVersion/ideaIC-${ideaVersion}.zip",)
    public final HttpArtifact IDEA_IC_SOURCES_JAR = new HttpArtifact("ideaIC/$ideaVersion/ideaIC-$ideaVersion-sources.jar",)
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/TCArtifact.groovy
================================================
package com.intellij.buildsupport.resolve.tc


import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import groovy.transform.TupleConstructor


@TupleConstructor(includeFields = true)
@EqualsAndHashCode
@ToString
class TCArtifact {

    // relative to TeamCity base URL
    final String fileParentPathRegex // might contain '*' pattern
    final String fileNameRegex       // might contain '*' pattern
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/TCArtifactsResolver.groovy
================================================
package com.intellij.buildsupport.resolve.tc


import groovy.transform.CompileStatic
import groovy.transform.TupleConstructor

import org.jetbrains.teamcity.rest.Build
import org.jetbrains.teamcity.rest.BuildArtifact
import org.jetbrains.teamcity.rest.BuildConfigurationId
import org.jetbrains.teamcity.rest.BuildId
import org.jetbrains.teamcity.rest.BuildLocator
import org.jetbrains.teamcity.rest.TeamCityConversationException
import org.jetbrains.teamcity.rest.TeamCityInstanceFactory
import org.jetbrains.teamcity.rest.TeamCityQueryException


@TupleConstructor(includeFields = true, excludes = ['resolvedArtifactMap', 'untilDate'])
@CompileStatic
abstract class TCArtifactsResolver {

    // FIELDS =========================================================================================================
    protected final String teamcityBaseUrl

    protected final boolean lastSuccessfulBuild

    protected final String tcBuildId

    protected final String tcBuildBranch


    // for testing purposes only
    protected Date untilDate = null


    private Map<TCArtifact, BuildArtifact> resolvedArtifactMap = null


    // ABSTRACT METHODS TO IMPLEMENT ==================================================================================
    abstract List<TCArtifact> getRequiredArtifacts()

    abstract String tcBuildTypeId()


    // PUBLIC API =====================================================================================================
    final void downloadTo(TCArtifact tcArtifact, File outputFile) {
        if (resolvedArtifactMap == null) {
            resolvedArtifactMap = lastSuccessfulBuild ? resolveFromLastSuccessfulBuild()
                    : resolveFromBuildId()
        }

        BuildArtifact resolvedTCArtifact = resolvedArtifactMap.get(tcArtifact)

        println "Downloading artifact: $resolvedTCArtifact.fullName"

        resolvedTCArtifact.download(outputFile)
    }

    // PRIVATE API ====================================================================================================
    private Map<TCArtifact, BuildArtifact> resolveFromBuildId() {
        Build tcBuild = TeamCityInstanceFactory.guestAuth(teamcityBaseUrl)
                .build(new BuildId(tcBuildId))

        println "Resolving TC build: $tcBuild"
        return resolveRequiredArtifacts(tcBuild)
    }

    private Map<TCArtifact, BuildArtifact> resolveFromLastSuccessfulBuild() {
        BuildLocator builds = TeamCityInstanceFactory.guestAuth(teamcityBaseUrl)
                .builds()
                .fromConfiguration(new BuildConfigurationId(tcBuildTypeId()))
                .includeFailed()

        if (!tcBuildBranch.trim().isEmpty())
            builds.withBranch(tcBuildBranch.trim())

        if (untilDate != null)
            builds.untilDate(untilDate)

        for (Build tcBuild in iterable(builds.all())) {
            println "Resolving TC build: $tcBuild"

            Map <TCArtifact, BuildArtifact> resolvedArtifacts = resolveRequiredArtifacts(tcBuild)
            if (resolvedArtifacts.isEmpty())
                continue
            else
                return resolvedArtifacts
        }
    }

    private Map<TCArtifact, BuildArtifact> resolveRequiredArtifacts(Build tcBuild) {
        Map<TCArtifact, BuildArtifact> resolvedArtifactMap = [:] as HashMap

        for (TCArtifact requiredTcArtifact in getRequiredArtifacts()) {
            BuildArtifact resolvedTcArtifact

            // search the build and dependencies of the build for the artifact (in case of an aggregate build)
            for (build in [tcBuild] + tcBuild.snapshotDependencies) {
                try {
                    resolvedTcArtifact = build.findArtifact(requiredTcArtifact.fileNameRegex,
                            requiredTcArtifact.fileParentPathRegex,true)
                    break
                }
                catch (TeamCityConversationException ignored) {}
                catch (TeamCityQueryException ignored) {}
            }

            // in the case the latest build does not contain any artifacts, we continue searching the previous build
            if(resolvedTcArtifact == null)
                return Collections.EMPTY_MAP

            resolvedArtifactMap.put requiredTcArtifact, resolvedTcArtifact
        }
        return resolvedArtifactMap
    }

    private static <T> Iterable<T> iterable(kotlin.sequences.Sequence<T> sequence) {
        return sequence.iterator() as Iterable<T>
    }
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/kotlin/CommonIDEArtifactsResolver.groovy
================================================
package com.intellij.buildsupport.resolve.tc.kotlin

import com.intellij.buildsupport.resolve.tc.TCArtifact
import com.intellij.buildsupport.resolve.tc.TCArtifactsResolver
import groovy.transform.CompileStatic

@CompileStatic
class CommonIDEArtifactsResolver extends TCArtifactsResolver {

    final String kotlinCompilerVersion


    CommonIDEArtifactsResolver(
            String teamcityBaseUrl,
            boolean lastSuccessfulBuild,
            String tcBuildId,
            String kotlinCompilerVersion
    ) {
        super(teamcityBaseUrl, lastSuccessfulBuild, tcBuildId, kotlinCompilerVersion)

        this.kotlinCompilerVersion = kotlinCompilerVersion
    }

    public final TCArtifact KOTLIN_FORMATTER_JAR = new TCArtifact('internal', 'kotlin-formatter.jar')
    public final TCArtifact KOTLIN_IDE_COMMON_JAR = new TCArtifact('internal', 'kotlin-ide-common.jar')

    @Override
    List<TCArtifact> getRequiredArtifacts() {
        return [
                KOTLIN_IDE_COMMON_JAR,
                KOTLIN_FORMATTER_JAR
        ]
    }

    @Override
    String tcBuildTypeId() {
        String kotlinCompilerVersionInBuildId = kotlinCompilerVersion.replace('.', '') // '1.3.0'  => '130'
                .replace('-', '') // '1.3-M2' => '13M2'

        return "Kotlin_${kotlinCompilerVersionInBuildId}_CompilerAllPlugins"
    }
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/kotlin/KotlinCompilerTCArtifactsResolver.groovy
================================================
package com.intellij.buildsupport.resolve.tc.kotlin


import com.intellij.buildsupport.resolve.tc.TCArtifact
import com.intellij.buildsupport.resolve.tc.TCArtifactsResolver

import groovy.transform.CompileStatic


@CompileStatic
class KotlinCompilerTCArtifactsResolver extends TCArtifactsResolver {

    final String kotlinIdeaCompatibleVersionMinor

    final String kotlinCompilerVersion


    KotlinCompilerTCArtifactsResolver(String teamcityBaseUrl, boolean lastSuccessfulBuild, String tcBuildId,
                                      String kotlinCompilerVersion, String kotlinIdeaCompatibleVersionMinor) {
        super(teamcityBaseUrl,
              lastSuccessfulBuild,
              tcBuildId,
              kotlinCompilerVersion)

        this.kotlinCompilerVersion            = kotlinCompilerVersion
        this.kotlinIdeaCompatibleVersionMinor = kotlinIdeaCompatibleVersionMinor
    }


    public final TCArtifact KOTLIN_PLUGIN_ZIP           = new TCArtifact('',                                           "kotlin-plugin-*-IJ${kotlinIdeaCompatibleVersionMinor}*.zip")
    public final TCArtifact KOTLIN_TEST_DATA_ZIP        = new TCArtifact('internal',                                   'kotlin-test-data.zip')
    public final TCArtifact KOTLIN_COMPILER_SOURCES_JAR = new TCArtifact('maven/org/jetbrains/kotlin/kotlin-compiler', 'kotlin-compiler-*-sources.jar')


    @Override
    List<TCArtifact> getRequiredArtifacts() {
        return [KOTLIN_TEST_DATA_ZIP,
                KOTLIN_PLUGIN_ZIP,
                KOTLIN_COMPILER_SOURCES_JAR]
    }

    @Override
    String tcBuildTypeId() {
        String kotlinCompilerVersionInBuildId = kotlinCompilerVersion.replace('.', '') // '1.3.0'  => '130'
                                                                     .replace('-', '') // '1.3-M2' => '13M2'

        return "Kotlin_${kotlinCompilerVersionInBuildId}_Aggregate"
    }
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/utils/FileUtils.groovy
================================================
package com.intellij.buildsupport.utils


import groovy.transform.CompileStatic


@CompileStatic
class FileUtils {
    private FileUtils() {}


    static void cleanDir(File dir) {
        dir.deleteDir()
        dir.mkdirs()
    }

    static void cleanDirExceptSubDirName(File dir, String retainSubDirName) {
        if (dir.exists()) {
            dir.eachFile { File file ->
                if (file.isFile())
                    file.delete()
                else if (file.isDirectory()) {
                    if (file.name != retainSubDirName)
                        file.deleteDir()
                }
            }
        }

        dir.mkdirs()

        new File("$dir/$retainSubDirName").mkdirs()
    }
}


================================================
FILE: kotlin-bundled-compiler/buildSrc/src/test/groovy/com/intellij/buildsupport/tc/kotlin/KotlinCompilerTCArtifactsResolverSpecification.groovy
================================================
package com.intellij.buildsupport.tc.kotlin


import com.intellij.buildsupport.resolve.tc.TCArtifactsResolver
import com.intellij.buildsupport.resolve.tc.kotlin.KotlinCompilerTCArtifactsResolver

import java.text.SimpleDateFormat

import org.junit.Rule
import org.junit.contrib.java.lang.system.SystemOutRule

import spock.lang.Specification
import spock.lang.Unroll

import static org.apache.commons.lang3.StringUtils.countMatches


class KotlinCompilerTCArtifactsResolverSpecification extends Specification {

    private static final String TC_BASE_URL = 'https://teamcity.jetbrains.com'

    @Rule
    public final SystemOutRule systemOut = new SystemOutRule().enableLog()


    @Unroll
    def "should resolve TC artifacts by buildId for version #releaseDescribeVersion"() {
        setup:
            def tcArtifactResolver = tcArtifactResolverWithBuildId(tcBuildId,
                                                                   kotlinIdeaCompatibleVersionMinor)

            def temporaryFile = File.createTempFile("kotlin-compiler-$releaseDescribeVersion", '.tmp')

        expect:
            tcArtifactResolver.downloadTo tcArtifactResolver.KOTLIN_PLUGIN_ZIP, temporaryFile

            assert temporaryFile.exists()

        where:
            releaseDescribeVersion | tcBuildId | kotlinIdeaCompatibleVersionMinor
            '1.2.72-release-68'    | '1646860' | '2017.3'
            '1.3-M2-eap-105'       | '1572593' | '2017.3'
            '1.3.0-rc-153'         | '1664232' | '2017.3'
    }

    @Unroll
    def "should resolve TC artifacts for latest successful build for version #kotlinCompilerVersion"() {
        setup:
            def tcArtifactResolver = tcArtifactResolverWithLatestBuildAndKotlinCompilerVersion(kotlinCompilerVersion,
                                                                                               kotlinIdeaCompatibleVersionMinor)

            def temporaryFile = File.createTempFile("kotlin-compiler-latest-$kotlinCompilerVersion", '.tmp')

        expect:
            tcArtifactResolver.downloadTo tcArtifactResolver.KOTLIN_PLUGIN_ZIP, temporaryFile

            assert temporaryFile.exists()

        where:
            kotlinCompilerVersion | kotlinIdeaCompatibleVersionMinor
            '1.2.70'              | '2017.3'
            '1.3-M1'              | '2017.3'
            '1.3-M2'              | '2017.3'
            '1.3.0'               | '2017.3'
    }

    @Unroll
    def "should resolve TC artifacts for latest successful build without TC artifacts for version #kotlinCompilerVersion"() {
        setup:
            def tcArtifactResolver = tcArtifactResolverWithLatestBuildAndKotlinCompilerVersion(kotlinCompilerVersion,
                                                                                               kotlinIdeaCompatibleVersionMinor,
                                                                                               untilDate)

            def temporaryFile = File.createTempFile("kotlin-compiler-latest-$kotlinCompilerVersion", '.tmp')

        expect:
            tcArtifactResolver.downloadTo tcArtifactResolver.KOTLIN_PLUGIN_ZIP, temporaryFile

            assert temporaryFile.exists()

            assert countMatches(systemOut.log, 'Resolving TC build') == expectednumberOfSearchedTcBuilds

        where:
            untilDate    | kotlinCompilerVersion | kotlinIdeaCompatibleVersionMinor || expectednumberOfSearchedTcBuilds
            '2018-08-16' | '1.2.60'              | '2017.3'                         || 4
            '2018-09-10' | '1.2.70'              | '2017.3'                         || 5
            '2018-08-24' | '1.3-M2'              | '2017.3'                         || 4
            '2018-10-03' | '1.3.0'               | '2017.3'                         || 11
    }


    private static TCArtifactsResolver tcArtifactResolverWithBuildId(String tcBuildId,
                                                                     String kotlinIdeaCompatibleVersionMinor) {
        return new KotlinCompilerTCArtifactsResolver(TC_BASE_URL,
                                                     false,     // not searching for last successful build
                                                     tcBuildId,
                                                     '', // Kotlin compiler version determined automatically
                                                     kotlinIdeaCompatibleVersionMinor)
    }

    private static TCArtifactsResolver tcArtifactResolverWithLatestBuildAndKotlinCompilerVersion(String kotlinCompilerVersion,
                                                                                                 String kotlinIdeaCompatibleVersionMinor) {
        return tcArtifactResolverWithLatestBuildAndKotlinCompilerVersion(kotlinCompilerVersion,
                                                                         kotlinIdeaCompatibleVersionMinor,
                                                                         null)
    }

    private static TCArtifactsResolver tcArtifactResolverWithLatestBuildAndKotlinCompilerVersion(String kotlinCompilerVersion,
                                                                                                 String kotlinIdeaCompatibleVersionMinor,
                                                                                                 String untilDate) {
        TCArtifactsResolver tcArtifactsResolver =  new KotlinCompilerTCArtifactsResolver(TC_BASE_URL,
                                                                                         true,  // searching for last successful build
                                                                                         '', // buildId not used
                                                                                         kotlinCompilerVersion,
                                                                                         kotlinIdeaCompatibleVersionMinor)

        if (untilDate != null)
            tcArtifactsResolver.untilDate = new SimpleDateFormat("yyyy-MM-dd").parse(untilDate)

        return tcArtifactsResolver
    }
}


================================================
FILE: kotlin-bundled-compiler/gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists


================================================
FILE: kotlin-bundled-compiler/gradlew
================================================
#!/usr/bin/env sh

#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      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,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##############################################################################
##
##  Gradle start up script for UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '.*-> \(.*\)$'`
    if expr "$link" : '/.*' > /dev/null; then
        PRG="$link"
    else
        PRG=`dirname "$PRG"`"/$link"
    fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn () {
    echo "$*"
}

die () {
    echo
    echo "$*"
    echo
    exit 1
}

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
  CYGWIN* )
    cygwin=true
    ;;
  Darwin* )
    darwin=true
    ;;
  MINGW* )
    msys=true
    ;;
  NONSTOP* )
    nonstop=true
    ;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
        # IBM's JDK on AIX uses strange locations for the executables
        JAVACMD="$JAVA_HOME/jre/sh/java"
    else
        JAVACMD="$JAVA_HOME/bin/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
    fi
else
    JAVACMD="java"
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
    MAX_FD_LIMIT=`ulimit -H -n`
    if [ $? -eq 0 ] ; then
        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
            MAX_FD="$MAX_FD_LIMIT"
        fi
        ulimit -n $MAX_FD
        if [ $? -ne 0 ] ; then
            warn "Could not set maximum file descriptor limit: $MAX_FD"
        fi
    else
        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
    fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
    JAVACMD=`cygpath --unix "$JAVACMD"`

    # We build the pattern for arguments to be converted via cygpath
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
    SEP=""
    for dir in $ROOTDIRSRAW ; do
        ROOTDIRS="$ROOTDIRS$SEP$dir"
        SEP="|"
    done
    OURCYGPATTERN="(^($ROOTDIRS))"
    # Add a user-defined pattern to the cygpath arguments
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
    fi
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    i=0
    for arg in "$@" ; do
        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option

        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
        else
            eval `echo args$i`="\"$arg\""
        fi
        i=$((i+1))
    done
    case $i in
        (0) set -- ;;
        (1) set -- "$args0" ;;
        (2) set -- "$args0" "$args1" ;;
        (3) set -- "$args0" "$args1" "$args2" ;;
        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
    esac
fi

# Escape application args
save () {
    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
    echo " "
}
APP_ARGS=$(save "$@")

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
  cd "$(dirname "$0")"
fi

exec "$JAVACMD" "$@"


================================================
FILE: kotlin-bundled-compiler/gradlew.bat
================================================
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem      https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem  Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto init

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.

goto fail

:init
@rem Get command-line arguments, handling Windows variants

if not "%OS%" == "Windows_NT" goto win9xME_args

:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2

:win9xME_args_slurp
if "x%~1" == "x" goto execute

set CMD_LINE_ARGS=%*

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar

@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega


================================================
FILE: kotlin-bundled-compiler/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<relativePath>../pom.xml</relativePath>
		<groupId>kotlin.eclipse</groupId>
		<artifactId>kotlin.eclipse.plugin</artifactId>
		<version>0.8.24-SNAPSHOT</version>
	</parent>

	<artifactId>org.jetbrains.kotlin.bundled-compiler</artifactId>
	<packaging>eclipse-plugin</packaging>
	
	<build>
		<sourceDirectory>src</sourceDirectory>

		<plugins>
			<plugin>
				<groupId>org.jetbrains.kotlin</groupId>
				<artifactId>kotlin-maven-plugin</artifactId>
				<version>${kotlin.version}</version>
				<configuration>
					<jvmTarget>17</jvmTarget>
				</configuration>
				<executions>
					<execution>
						<id>compile</id>
						<phase>process-sources</phase>
						<goals>
							<goal>compile</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.10.1</version>
				<configuration>
					<release>17</release>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>with-gradle</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>exec-maven-plugin</artifactId>
						<version>3.0.0</version>
						<executions>
							<execution>
								<id>gradle-clean</id>
								<phase>clean</phase>
								<goals>
									<goal>exec</goal>
								</goals>
								<configuration>
									<executable>${project.basedir}/gradlew</executable>
									<arguments>
										<argument>clean</argument>
									</arguments>
								</configuration>
							</execution>
							<execution>
								<id>gradle-getBundled</id>
								<phase>validate</phase>
								<goals>
									<goal>exec</goal>
								</goals>
								<configuration>
									<executable>${project.basedir}/gradlew</executable>
									<arguments>
										<argument>getBundled</argument>
									</arguments>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>

================================================
FILE: kotlin-bundled-compiler/referencedPackages.txt
================================================
# List of packages that are referenced from other dependencies and should be included in plugin to avoid classpath issues

com.intellij.psi.codeStyle
com.intellij.psi.formatter
com.intellij.openapi.components
com.intellij.openapi.options
com.intellij.application.options
com.intellij.application.options.codeStyle.properties
com.intellij.formatting
com.intellij.formatting.engine
com.intellij.util.containers
gnu.trove
com.intellij.openapi.util
com.intellij.openapi.util.text
com.intellij.psi.codeStyle.arrangement
com.intellij.configurationStore
com.intellij.openapi.progress
com.intellij.ui
com.intellij.util.text
custom:com/intellij/CodeStyleBundle.class
custom:com/intellij/DynamicBundle.class
custom:com/intellij/AbstractBundle.class
custom:messages/CodeStyleBundle.*
it.unimi.dsi.fastutil.objects

================================================
FILE: kotlin-bundled-compiler/src/com/intellij/codeInsight/CodeInsightBundle.java
================================================
package com.intellij.codeInsight;

public class CodeInsightBundle {
    public static String message(String key, Object... params) {
        return key;
    }
}

================================================
FILE: kotlin-bundled-compiler/src/com/intellij/codeInsight/KotlinNullableNotNullManager.kt
================================================
/*******************************************************************************
 * Copyright 2000-2015 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *******************************************************************************/
package com.intellij.codeInsight

import com.intellij.openapi.project.Project
import com.intellij.psi.PsiAnnotation
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiModifierListOwner
import org.jetbrains.annotations.Nullable


// Dummy implementation. Will be changed to something more useful, when KE-277 is fixed.
class KotlinNullableNotNullManager(project: Project) : NullableNotNullManager(project) {
    private val _nullables = mutableListOf<String>()
    private val _notNulls = mutableListOf<String>()

    override fun getNullables(): List<String> = _nullables

    override fun setInstrumentedNotNulls(names: MutableList<String>) {}

    override fun getInstrumentedNotNulls(): List<String> = emptyList()

//    override fun isJsr305Default(annotation: PsiAnnotation, placeTargetTypes: Array<out PsiAnnotation.TargetType>): NullabilityAnnotationInfo? = null

    override fun setNullables(vararg annotations: String) {
        _nullables.clear()
        _nullables.addAll(annotations)
    }

    override fun getNotNulls(): List<String> = _notNulls

    override fun setDefaultNotNull(defaultNotNull: String) {
    }

    override fun getDefaultNullable(): String = "Nullable"

    override fun getDefaultNotNull(): String {
        return "NotNullable"
    }

    override fun getDefaultNullables(): MutableList<String> {
        return mutableListOf(defaultNullable)
    }

    override fun getDefaultNotNulls(): MutableList<String> {
        return mutableListOf(defaultNotNull)
    }

    override fun getAllDefaultAnnotations(): MutableList<String> {
        return (defaultNullables + defaultNotNulls).toMutableList()
    }

    override fun setNotNulls(vararg annotations: String) {
        _notNulls.clear()
        _notNulls.addAll(annotations)
    }

    //    For now we get unresolved psi elements and as a result annotations qualified names are short
    init {
        setNotNulls("NotNull")
        setNullables("Nullable")
    }

    override fun setDefaultNullable(defaultNullable: String) {
    }

    override fun hasHardcodedContracts(element: PsiElement): Boolean = false

    override fun isNotNull(owner: PsiModifierListOwner, checkBases: Boolean): Boolean {
        val notNullAnnotations = notNulls.toSet()
        return owner.modifierList?.annotations?.any { annotation ->
            annotation.qualifiedName in notNullAnnotations
        } ?: false
    }

    @Nullable
    override fun getNullityDefault(
        container: PsiModifierListOwner,
        placeTargetTypes: Array<PsiAnnotation.TargetType>,
        context: PsiElement, superPackage: Boolean
    ): NullabilityAnnotationInfo? {
        return null
    }

    override fun isNullable(owner: PsiModifierListOwner, checkBases: Boolean) = !isNotNull(owner, checkBases)
}

================================================
FILE: kotlin-bundled-compiler/src/com/intellij/codeInsight/actions/ReformatCodeProcessor.java
================================================
package com.intellij.codeInsight.actions;

public class ReformatCodeProcessor {
    public static final String COMMAND_NAME = "dummy";

    public static String getCommandName() {
        return "Reformat Code";
    }
}


================================================
FILE: kotlin-bundled-compiler/src/com/intellij/codeInsight/generation/GenerateEqualsHelper.java
================================================
package com.intellij.codeInsight.generation;

import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiClassType;
import com.intellij.psi.PsiManager;
import com.intellij.psi.PsiSubstitutor;
import com.intellij.psi.PsiType;
import com.intellij.psi.PsiTypeParameter;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.util.MethodSignature;
import com.intellij.psi.util.MethodSignatureUtil;

// Temp workaround for bad j2k classes politics
public class GenerateEqualsHelper {
    public static MethodSignature getEqualsSignature(Project project, GlobalSearchScope scope) {
    	final PsiClassType javaLangObject = PsiType.getJavaLangObject(PsiManager.getInstance(project), scope);
        return MethodSignatureUtil.createMethodSignature(
        		"equals", new PsiType[]{javaLangObject}, PsiTypeParameter.EMPTY_ARRAY, PsiSubstitutor.EMPTY);
    }
}


================================================
FILE: kotlin-bundled-compiler/src/com/intellij/formatting/KotlinLanguageCodeStyleSettingsProvider.kt
================================================
package com.intellij.formatting

import org.jetbrains.kotlin.idea.KotlinLanguage
import com.intellij.application.options.IndentOptionsEditor
import com.intellij.lang.Language
import com.intellij.psi.codeStyle.CodeStyleSettingsCustomizable
import com.intellij.psi.codeStyle.CommonCodeStyleSettings
import com.intellij.psi.codeStyle.LanguageCodeStyleSettingsProvider
import org.jetbrains.kotlin.idea.formatter.KotlinCommonCodeStyleSettings

class KotlinLanguageCodeStyleSettingsProvider : LanguageCodeStyleSettingsProvider() {
    override fun getLanguage(): Language = KotlinLanguage.INSTANCE
    
    override fun getCodeSample(settingsType: SettingsType): String = ""
    
    override fun getLanguageName(): String = KotlinLanguage.NAME
    
    override fun customizeSettings(consumer:CodeStyleSettingsCustomizable, settingsType:SettingsType) {
    }
    
    override fun getIndentOptionsEditor(): IndentOptionsEditor? = null
    
    override fun getDefaultCommonSettings(): CommonCodeStyleSettings {
        val commonCodeStyleSettings = KotlinCommonCodeStyleSettings()
        commonCodeStyleSettings.initIndentOptions()
        return commonCodeStyleSettings
    }
}

================================================
FILE: kotlin-bundled-compiler/src/com/intellij/formatting/KotlinSettingsProvider.kt
================================================
package com.intellij.formatting

import com.intellij.lang.Language
import com.intellij.openapi.options.Configurable
import com.intellij.psi.codeStyle.CodeStyleSettings
import com.intellij.psi.codeStyle.CodeStyleSettingsProvider
import com.intellij.psi.codeStyle.CustomCodeStyleSettings
import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings

class KotlinSettingsProvider : CodeStyleSettingsProvider() {
    override fun getConfigurableDisplayName(): String = KotlinLanguage.NAME
    
    override fun getLanguage(): Language = KotlinLanguage.INSTANCE
    
    override fun createCustomSettings(settings: CodeStyleSettings): CustomCodeStyleSettings {
        return KotlinCodeStyleSettings(settings).apply {
            this.ALLOW_TRAILING_COMMA = true
            this.ALLOW_TRAILING_COMMA_ON_CALL_SITE = true
        }
    }
    
    override fun createSettingsPage(settings: CodeStyleSettings, originalSettings: CodeStyleSettings): Configurable {
        throw UnsupportedOperationException()
    }
}

================================================
FILE: kotlin-bundled-compiler/src/com/intellij/openapi/editor/Editor.java
================================================
package com.intellij.openapi.editor;

public class Editor {
    
}


================================================
FILE: kotlin-bundled-compiler/src/com/intellij/openapi/extensions/ExtensionException.kt
================================================
package com.intellij.openapi.extensions

class ExtensionException(val extensionClass: Class<*>) : RuntimeException(extensionClass.getCanonicalName())

================================================
FILE: kotlin-bundled-compiler/src/com/intellij/openapi/fileTypes/StdFileTypes.java
================================================
package com.intellij.openapi.fileTypes;

public class StdFileTypes {
    public static final LanguageFileType JAVA = null;
}


================================================
FILE: kotlin-bundled-compiler/src/com/intellij/openapi/util/text/StringUtil.java
================================================
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.openapi.util.text;

import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProcessCanceledException;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.TextRange;
import com.intellij.util.*;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.text.*;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import javax.swing.text.MutableAttributeSet;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.parser.ParserDelegator;
import java.beans.Introspector;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.*;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

//TeamCity inherits StringUtil: do not add private constructors!!!
@SuppressWarnings("MethodOverridesStaticMethodOfSuperclass")
public class StringUtil extends StringUtilRt {
    private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.util.text.StringUtil");

    @SuppressWarnings("SpellCheckingInspection") private static final String VOWELS = "aeiouy";
    private static final Pattern EOL_SPLIT_KEEP_SEPARATORS = Pattern.compile("(?<=(\r\n|\n))|(?<=\r)(?=[^\n])");
    private static final Pattern EOL_SPLIT_PATTERN = Pattern.compile(" *(\r|\n|\r\n)+ *");
    private static final Pattern EOL_SPLIT_PATTERN_WITH_EMPTY = Pattern.compile(" *(\r|\n|\r\n) *");
    private static final Pattern EOL_SPLIT_DONT_TRIM_PATTERN = Pattern.compile("(\r|\n|\r\n)+");

    @NotNull
    public static MergingCharSequence replaceSubSequence(@NotNull CharSequence charSeq, int start, int end, @NotNull CharSequence replacement) {
        return new MergingCharSequence(
                new MergingCharSequence(charSeq.subSequence(0, start), replacement),
                charSeq.subSequence(end, charSeq.length()));
    }

    @Contract(value = "null -> null; !null->!null", pure = true)
    public static String internEmptyString(String s) {
        return s == null ? null : (s.isEmpty() ? "" : s);
    }

    private static class MyHtml2Text extends HTMLEditorKit.ParserCallback {
        @NotNull private final StringBuilder myBuffer = new StringBuilder();
        private final boolean myIsSkipStyleTag;

        private boolean myIsStyleTagOpened;

        private MyHtml2Text(boolean isSkipStyleTag) {
            myIsSkipStyleTag = isSkipStyleTag;
        }

        public void parse(@NotNull Reader in) throws IOException {
            myBuffer.setLength(0);
            new ParserDelegator().parse(in, this, Boolean.TRUE);
        }

        @Override
        public void handleText(@NotNull char[] text, int pos) {
            if (!myIsStyleTagOpened) {
                myBuffer.append(text);
            }
        }

        @Override
        public void handleStartTag(@NotNull HTML.Tag tag, MutableAttributeSet set, int i) {
            if (myIsSkipStyleTag && "style".equals(tag.toString())) {
                myIsStyleTagOpened = true;
            }
            handleTag(tag);
        }

        @Override
        public void handleEndTag(@NotNull HTML.Tag tag, int pos) {
            if (myIsSkipStyleTag && "style".equals(tag.toString())) {
                myIsStyleTagOpened = false;
            }
        }

        @Override
        public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet set, int i) {
            handleTag(tag);
        }

        private void handleTag(@NotNull HTML.Tag tag) {
            if (tag.breaksFlow() && myBuffer.length() > 0) {
                myBuffer.append(SystemProperties.getLineSeparator());
            }
        }

        @NotNull
        public String getText() {
            return myBuffer.toString();
        }
    }

    private static final MyHtml2Text html2TextParser = new MyHtml2Text(false);

    public static final NotNullFunction<String, String> QUOTER = new NotNullFunction<String, String>() {
        @Override
        @NotNull
        public String fun(String s) {
            return "\"" + s + "\"";
        }
    };

    public static final NotNullFunction<String, String> SINGLE_QUOTER = new NotNullFunction<String, String>() {
        @Override
        @NotNull
        public String fun(String s) {
            return "'" + s + "'";
        }
    };

    @NotNull
    @Contract(pure = true)
    public static List<String> getWordsInStringLongestFirst(@NotNull String find) {
        List<String> words = getWordsIn(find);
        // hope long words are rare
        Collections.sort(words, new Comparator<String>() {
            @Override
            public int compare(@NotNull final String o1, @NotNull final String o2) {
                return o2.length() - o1.length();
            }
        });
        return words;
    }

    @NotNull
    @Contract(pure = true)
    public static String escapePattern(@NotNull final String text) {
        return replace(replace(text, "'", "''"), "{", "'{'");
    }

    @NotNull
    @Contract(pure = true)
    public static <T> Function<T, String> createToStringFunction(@SuppressWarnings("unused") @NotNull Class<T> cls) {
        return new Function<T, String>() {
            @Override
            public String fun(@NotNull T o) {
                return o.toString();
            }
        };
    }

    @NotNull
    public static final Function<String, String> TRIMMER = new Function<String, String>() {
        @Nullable
        @Override
        public String fun(@Nullable String s) {
            return trim(s);
        }
    };

    // Unlike String.replace(CharSequence,CharSequence) does not allocate intermediate objects on non-match
    // TODO revise when JDK9 arrives - its String.replace(CharSequence, CharSequence) is more optimized
    @NotNull
    @Contract(pure = true)
    public static String replace(@NotNull String text, @NotNull String oldS, @NotNull String newS) {
        return replace(text, oldS, newS, false);
    }

    @NotNull
    @Contract(pure = true)
    public static String replaceIgnoreCase(@NotNull String text, @NotNull String oldS, @NotNull String newS) {
        return replace(text, oldS, newS, true);
    }

    /**
     * @deprecated Use {@link String#replace(char,char)} instead
     */
    @NotNull
    @Contract(pure = true)
    @Deprecated
    public static String replaceChar(@NotNull String buffer, char oldChar, char newChar) {
        return buffer.replace(oldChar, newChar);
    }

    @Contract(pure = true)
    public static String replace(@NotNull final String text, @NotNull final String oldS, @NotNull final String newS, final boolean ignoreCase) {
        if (text.length() < oldS.length()) return text;

        StringBuilder newText = null;
        int i = 0;

        while (i < text.length()) {
            final int index = ignoreCase? indexOfIgnoreCase(text, oldS, i) : text.indexOf(oldS, i);
            if (index < 0) {
                if (i == 0) {
                    return text;
                }

                newText.append(text, i, text.length());
                break;
            }
            else {
                if (newText == null) {
                    if (text.length() == oldS.length()) {
                        return newS;
                    }
                    newText = new StringBuilder(text.length() - i);
                }

                newText.append(text, i, index);
                newText.append(newS);
                i = index + oldS.length();
            }
        }
        return newText != null ? newText.toString() : "";
    }

    @Contract(pure = true)
    public static int indexOfIgnoreCase(@NotNull String where, @NotNull String what, int fromIndex) {
        return indexOfIgnoreCase((CharSequence)where, what, fromIndex);
    }

    /**
     * Implementation copied from {@link String#indexOf(String, int)} except character comparisons made case insensitive
     */
    @Contract(pure = true)
    public static int indexOfIgnoreCase(@NotNull CharSequence where, @NotNull CharSequence what, int fromIndex) {
        int targetCount = what.length();
        int sourceCount = where.length();

        if (fromIndex >= sourceCount) {
            return targetCount == 0 ? sourceCount : -1;
        }

        if (fromIndex < 0) {
            fromIndex = 0;
        }

        if (targetCount == 0) {
            return fromIndex;
        }

        char first = what.charAt(0);
        int max = sourceCount - targetCount;

        for (int i = fromIndex; i <= max; i++) {
            /* Look for first character. */
            if (!charsEqualIgnoreCase(where.charAt(i), first)) {
                //noinspection StatementWithEmptyBody,AssignmentToForLoopParameter
                while (++i <= max && !charsEqualIgnoreCase(where.charAt(i), first)) ;
            }

            /* Found first character, now look at the rest of v2 */
            if (i <= max) {
                int j = i + 1;
                int end = j + targetCount - 1;
                //noinspection StatementWithEmptyBody
                for (int k = 1; j < end && charsEqualIgnoreCase(where.charAt(j), what.charAt(k)); j++, k++) ;

                if (j == end) {
                    /* Found whole string. */
                    return i;
                }
            }
        }

        return -1;
    }

    @Contract(pure = true)
    public static int indexOfIgnoreCase(@NotNull String where, char what, int fromIndex) {
        int sourceCount = where.length();
        for (int i = Math.max(fromIndex, 0); i < sourceCount; i++) {
            if (charsEqualIgnoreCase(where.charAt(i), what)) {
                return i;
            }
        }

        return -1;
    }

    @Contract(pure = true)
    public static int lastIndexOfIgnoreCase(@NotNull String where, char what, int fromIndex) {
        for (int i = Math.min(fromIndex, where.length() - 1); i >= 0; i--) {
            if (charsEqualIgnoreCase(where.charAt(i), what)) {
                return i;
            }
        }

        return -1;
    }

    @Contract(pure = true)
    public static boolean containsIgnoreCase(@NotNull String where, @NotNull String what) {
        return indexOfIgnoreCase(where, what, 0) >= 0;
    }

    @Contract(pure = true)
    public static boolean endsWithIgnoreCase(@NotNull String str, @NotNull String suffix) {
        return StringUtilRt.endsWithIgnoreCase(str, suffix);
    }

    @Contract(pure = true)
    public static boolean startsWithIgnoreCase(@NotNull String str, @NotNull String prefix) {
        return StringUtilRt.startsWithIgnoreCase(str, prefix);
    }

    @Contract(pure = true)
    @NotNull
    public static String stripHtml(@NotNull String html, boolean convertBreaks) {
        if (convertBreaks) {
            html = html.replaceAll("<br/?>", "\n\n");
        }

        return html.replaceAll("<(.|\n)*?>", "");
    }

    @Contract(value = "null -> null; !null -> !null", pure = true)
    public static String toLowerCase(@Nullable final String str) {
        return str == null ? null : str.toLowerCase();
    }

    @NotNull
    @Contract(pure = true)
    public static String getPackageName(@NotNull String fqName) {
        return getPackageName(fqName, '.');
    }

    /**
     * Given a fqName returns the package name for the type or the containing type.
     * <p/>
     * <ul>
     * <li>{@code java.lang.String} -> {@code java.lang}</li>
     * <li>{@code java.util.Map.Entry} -> {@code java.util.Map}</li>
     * </ul>
     *
     * @param fqName    a fully qualified type name. Not supposed to contain any type arguments
     * @param separator the separator to use. Typically '.'
     * @return the package name of the type or the declarator of the type. The empty string if the given fqName is unqualified
     */
    @NotNull
    @Contract(pure = true)
    public static String getPackageName(@NotNull String fqName, char separator) {
        int lastPointIdx = fqName.lastIndexOf(separator);
        if (lastPointIdx >= 0) {
            return fqName.substring(0, lastPointIdx);
        }
        return "";
    }

    @Contract(pure = true)
    public static int getLineBreakCount(@NotNull CharSequence text) {
        int count = 0;
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (c == '\n') {
                count++;
            }
            else if (c == '\r') {
                if (i + 1 < text.length() && text.charAt(i + 1) == '\n') {
                    //noinspection AssignmentToForLoopParameter
                    i++;
                }
                count++;
            }
        }
        return count;
    }

    @Contract(pure = true)
    public static boolean containsLineBreak(@NotNull CharSequence text) {
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (isLineBreak(c)) return true;
        }
        return false;
    }

    @Contract(pure = true)
    public static boolean isLineBreak(char c) {
        return c == '\n' || c == '\r';
    }

    @NotNull
    @Contract(pure = true)
    public static String escapeLineBreak(@NotNull String text) {
        StringBuilder buffer = new StringBuilder(text.length());
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            switch (c) {
                case '\n':
                    buffer.append("\\n");
                    break;
                case '\r':
                    buffer.append("\\r");
                    break;
                default:
                    buffer.append(c);
            }
        }
        return buffer.toString();
    }

    @Contract(pure = true)
    public static boolean endsWithLineBreak(@NotNull CharSequence text) {
        int len = text.length();
        return len > 0 && isLineBreak(text.charAt(len - 1));
    }

    @Contract(pure = true)
    public static int lineColToOffset(@NotNull CharSequence text, int line, int col) {
        int curLine = 0;
        int offset = 0;
        while (line != curLine) {
            if (offset == text.length()) return -1;
            char c = text.charAt(offset);
            if (c == '\n') {
                curLine++;
            }
            else if (c == '\r') {
                curLine++;
                if (offset < text.length() - 1 && text.charAt(offset + 1) == '\n') {
                    offset++;
                }
            }
            offset++;
        }
        return offset + col;
    }

    @Contract(pure = true)
    public static int offsetToLineNumber(@NotNull CharSequence text, int offset) {
        LineColumn lineColumn = offsetToLineColumn(text, offset);
        return lineColumn != null ? lineColumn.line : -1;
    }

    @Contract(pure = true)
    public static LineColumn offsetToLineColumn(@NotNull CharSequence text, int offset) {
        int curLine = 0;
        int curLineStart = 0;
        int curOffset = 0;
        while (curOffset < offset) {
            if (curOffset == text.length()) return null;
            char c = text.charAt(curOffset);
            if (c == '\n') {
                curLine++;
                curLineStart = curOffset + 1;
            }
            else if (c == '\r') {
                curLine++;
                if (curOffset < text.length() - 1 && text.charAt(curOffset + 1) == '\n') {
                    curOffset++;
                }
                curLineStart = curOffset + 1;
            }
            curOffset++;
        }

        return LineColumn.of(curLine, offset - curLineStart);
    }

    /**
     * Classic dynamic programming algorithm for string differences.
     */
    @Contract(pure = true)
    public static int difference(@NotNull String s1, @NotNull String s2) {
        int[][] a = new int[s1.length()][s2.length()];

        for (int i = 0; i < s1.length(); i++) {
            a[i][0] = i;
        }

        for (int j = 0; j < s2.length(); j++) {
            a[0][j] = j;
        }

        for (int i = 1; i < s1.length(); i++) {
            for (int j = 1; j < s2.length(); j++) {

                a[i][j] = Math.min(Math.min(a[i - 1][j - 1] + (s1.charAt(i) == s2.charAt(j) ? 0 : 1), a[i - 1][j] + 1), a[i][j - 1] + 1);
            }
        }

        return a[s1.length() - 1][s2.length() - 1];
    }

    @NotNull
    @Contract(pure = true)
    public static String wordsToBeginFromUpperCase(@NotNull String s) {
        return fixCapitalization(s, ourPrepositions, true);
    }

    @NotNull
    @Contract(pure = true)
    public static String wordsToBeginFromLowerCase(@NotNull String s) {
        return fixCapitalization(s, ourPrepositions, false);
    }

    @NotNull
    @Contract(pure = true)
    public static String toTitleCase(@NotNull String s) {
        return fixCapitalization(s, ArrayUtil.EMPTY_STRING_ARRAY, true);
    }

    @NotNull
    private static String fixCapitalization(@NotNull String s, @NotNull String[] prepositions, boolean title) {
        StringBuilder buffer = null;
        for (int i = 0; i < s.length(); i++) {
            char prevChar = i == 0 ? ' ' : s.charAt(i - 1);
            char currChar = s.charAt(i);
            if (!Character.isLetterOrDigit(prevChar) && prevChar != '\'') {
                if (Character.isLetterOrDigit(currChar)) {
                    if (title || Character.isUpperCase(currChar)) {
                        int j = i;
                        for (; j < s.length(); j++) {
                            if (!Character.isLetterOrDigit(s.charAt(j))) {
                                break;
                            }
                        }
                        if (!title && j > i + 1 && !Character.isLowerCase(s.charAt(i + 1))) {
                            // filter out abbreviations like I18n, SQL and CSS
                            continue;
                        }
                        if (!isPreposition(s, i, j - 1, prepositions)) {
                            if (buffer == null) {
                                buffer = new StringBuilder(s);
                            }
                            buffer.setCharAt(i, title ? toUpperCase(currChar) : toLowerCase(currChar));
                        }
                    }
                }
            }
        }
        return buffer == null ? s : buffer.toString();
    }

    private static final String[] ourPrepositions = {
            "a", "an", "and", "as", "at", "but", "by", "down", "for", "from", "if", "in", "into", "not", "of", "on", "onto", "or", "out", "over",
            "per", "nor", "the", "to", "up", "upon", "via", "with"
    };

    @Contract(pure = true)
    public static boolean isPreposition(@NotNull String s, int firstChar, int lastChar) {
        return isPreposition(s, firstChar, lastChar, ourPrepositions);
    }

    @Contract(pure = true)
    public static boolean isPreposition(@NotNull String s, int firstChar, int lastChar, @NotNull String[] prepositions) {
        for (String preposition : prepositions) {
            boolean found = false;
            if (lastChar - firstChar + 1 == preposition.length()) {
                found = true;
                for (int j = 0; j < preposition.length(); j++) {
                    if (toLowerCase(s.charAt(firstChar + j)) != preposition.charAt(j)) {
                        found = false;
                    }
                }
            }
            if (found) {
                return true;
            }
        }
        return false;
    }

    @NotNull
    @Contract(pure = true)
    public static NotNullFunction<String, String> escaper(final boolean escapeSlash, @Nullable final String additionalChars) {
        return new NotNullFunction<String, String>() {
            @NotNull
            @Override
            public String fun(@NotNull String dom) {
                final StringBuilder builder = new StringBuilder(dom.length());
                escapeStringCharacters(dom.length(), dom, additionalChars, escapeSlash, builder);
                return builder.toString();
            }
        };
    }


    public static void escapeStringCharacters(int length, @NotNull String str, @NotNull StringBuilder buffer) {
        escapeStringCharacters(length, str, "\"", buffer);
    }

    @NotNull
    public static StringBuilder escapeStringCharacters(int length,
                                                       @NotNull String str,
                                                       @Nullable String additionalChars,
                                                       @NotNull StringBuilder buffer) {
        return escapeStringCharacters(length, str, additionalChars, true, buffer);
    }

    @NotNull
    public static StringBuilder escapeStringCharacters(int length,
                                                       @NotNull String str,
                                                       @Nullable String additionalChars,
                                                       boolean escapeSlash,
                                                       @NotNull StringBuilder buffer) {
        return escapeStringCharacters(length, str, additionalChars, escapeSlash, true, buffer);
    }

    @NotNull
    public static StringBuilder escapeStringCharacters(int length,
                                                       @NotNull String str,
                                                       @Nullable String additionalChars,
                                                       boolean escapeSlash,
                                                       boolean escapeUnicode,
                                                       @NotNull StringBuilder buffer) {
        char prev = 0;
        for (int idx = 0; idx < length; idx++) {
            char ch = str.charAt(idx);
            switch (ch) {
                case '\b':
                    buffer.append("\\b");
                    break;

                case '\t':
                    buffer.append("\\t");
                    break;

                case '\n':
                    buffer.append("\\n");
                    break;

                case '\f':
                    buffer.append("\\f");
                    break;

                case '\r':
                    buffer.append("\\r");
                    break;

                default:
                    if (escapeSlash && ch == '\\') {
                        buffer.append("\\\\");
                    }
                    else if (additionalChars != null && additionalChars.indexOf(ch) > -1 && (escapeSlash || prev != '\\')) {
                        buffer.append("\\").append(ch);
                    }
                    else if (escapeUnicode && !isPrintableUnicode(ch)) {
                        CharSequence hexCode = toUpperCase(Integer.toHexString(ch));
                        buffer.append("\\u");
                        int paddingCount = 4 - hexCode.length();
                        while (paddingCount-- > 0) {
                            buffer.append(0);
                        }
                        buffer.append(hexCode);
                    }
                    else {
                        buffer.append(ch);
                    }
            }
            prev = ch;
        }
        return buffer;
    }

    @Contract(pure = true)
    public static boolean isPrintableUnicode(char c) {
        int t = Character.getType(c);
        return t != Character.UNASSIGNED && t != Character.LINE_SEPARATOR && t != Character.PARAGRAPH_SEPARATOR &&
                t != Character.CONTROL && t != Character.FORMAT && t != Character.PRIVATE_USE && t != Character.SURROGATE;
    }

    @NotNull
    @Contract(pure = true)
    public static String escapeStringCharacters(@NotNull String s) {
        StringBuilder buffer = new StringBuilder(s.length());
        escapeStringCharacters(s.length(), s, "\"", buffer);
        return buffer.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static String escapeCharCharacters(@NotNull String s) {
        StringBuilder buffer = new StringBuilder(s.length());
        escapeStringCharacters(s.length(), s, "\'", buffer);
        return buffer.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static String unescapeStringCharacters(@NotNull String s) {
        StringBuilder buffer = new StringBuilder(s.length());
        unescapeStringCharacters(s.length(), s, buffer);
        return buffer.toString();
    }

    private static boolean isQuoteAt(@NotNull String s, int ind) {
        char ch = s.charAt(ind);
        return ch == '\'' || ch == '\"';
    }

    @Contract(pure = true)
    public static boolean isQuotedString(@NotNull String s) {
        return StringUtilRt.isQuotedString(s);
    }

    @NotNull
    @Contract(pure = true)
    public static String unquoteString(@NotNull String s) {
        return StringUtilRt.unquoteString(s);
    }

    private static void unescapeStringCharacters(int length, @NotNull String s, @NotNull StringBuilder buffer) {
        boolean escaped = false;
        for (int idx = 0; idx < length; idx++) {
            char ch = s.charAt(idx);
            if (!escaped) {
                if (ch == '\\') {
                    escaped = true;
                }
                else {
                    buffer.append(ch);
                }
            }
            else {
                int octalEscapeMaxLength = 2;
                switch (ch) {
                    case 'n':
                        buffer.append('\n');
                        break;

                    case 'r':
                        buffer.append('\r');
                        break;

                    case 'b':
                        buffer.append('\b');
                        break;

                    case 't':
                        buffer.append('\t');
                        break;

                    case 'f':
                        buffer.append('\f');
                        break;

                    case '\'':
                        buffer.append('\'');
                        break;

                    case '\"':
                        buffer.append('\"');
                        break;

                    case '\\':
                        buffer.append('\\');
                        break;

                    case 'u':
                        if (idx + 4 < length) {
                            try {
                                int code = Integer.parseInt(s.substring(idx + 1, idx + 5), 16);
                                //noinspection AssignmentToForLoopParameter
                                idx += 4;
                                buffer.append((char)code);
                            }
                            catch (NumberFormatException e) {
                                buffer.append("\\u");
                            }
                        }
                        else {
                            buffer.append("\\u");
                        }
                        break;

                    case '0':
                    case '1':
                    case '2':
                    case '3':
                        octalEscapeMaxLength = 3;
                        //noinspection fallthrough
                    case '4':
                    case '5':
                    case '6':
                    case '7':
                        int escapeEnd = idx + 1;
                        while (escapeEnd < length && escapeEnd < idx + octalEscapeMaxLength && isOctalDigit(s.charAt(escapeEnd))) escapeEnd++;
                        try {
                            buffer.append((char)Integer.parseInt(s.substring(idx, escapeEnd), 8));
                        }
                        catch (NumberFormatException e) {
                            throw new RuntimeException("Couldn't parse " + s.substring(idx, escapeEnd), e); // shouldn't happen
                        }
                        //noinspection AssignmentToForLoopParameter
                        idx = escapeEnd - 1;
                        break;

                    default:
                        buffer.append(ch);
                        break;
                }
                escaped = false;
            }
        }

        if (escaped) buffer.append('\\');
    }

//  @NotNull
//  @Contract(pure = true)
//  public static String pluralize(@NotNull String word) {
//    String plural = Pluralizer.PLURALIZER.plural(word);
//    if (plural != null) return plural;
//    if (word.endsWith("s")) return Pluralizer.restoreCase(word, word + "es");
//    return Pluralizer.restoreCase(word, word + "s");
//  }

    @NotNull
    @Contract(pure = true)
    public static String capitalizeWords(@NotNull String text,
                                         boolean allWords) {
        return capitalizeWords(text, " \t\n\r\f", allWords, false);
    }

    @NotNull
    @Contract(pure = true)
    public static String capitalizeWords(@NotNull String text,
                                         @NotNull String tokenizerDelim,
                                         boolean allWords,
                                         boolean leaveOriginalDelims) {
        final StringTokenizer tokenizer = new StringTokenizer(text, tokenizerDelim, leaveOriginalDelims);
        final StringBuilder out = new StringBuilder(text.length());
        boolean toCapitalize = true;
        while (tokenizer.hasMoreTokens()) {
            final String word = tokenizer.nextToken();
            if (!leaveOriginalDelims && out.length() > 0) {
                out.append(' ');
            }
            out.append(toCapitalize ? capitalize(word) : word);
            if (!allWords) {
                toCapitalize = false;
            }
        }
        return out.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static String decapitalize(@NotNull String s) {
        return Introspector.decapitalize(s);
    }

    @Contract(pure = true)
    public static boolean isVowel(char c) {
        return VOWELS.indexOf(c) >= 0;
    }

    /**
     * Capitalize the first letter of the sentence.
     */
    @NotNull
    @Contract(pure = true)
    public static String capitalize(@NotNull String s) {
        if (s.isEmpty()) return s;
        if (s.length() == 1) return toUpperCase(s).toString();

        // Optimization
        if (Character.isUpperCase(s.charAt(0))) return s;
        return toUpperCase(s.charAt(0)) + s.substring(1);
    }

    @Contract(value = "null -> false", pure = true)
    public static boolean isCapitalized(@Nullable String s) {
        return s != null && !s.isEmpty() && Character.isUpperCase(s.charAt(0));
    }

    @NotNull
    @Contract(pure = true)
    public static String capitalizeWithJavaBeanConvention(@NotNull String s) {
        if (s.length() > 1 && Character.isUpperCase(s.charAt(1))) {
            return s;
        }
        return capitalize(s);
    }

    @Contract(pure = true)
    public static int stringHashCode(@NotNull CharSequence chars) {
        if (chars instanceof String || chars instanceof CharSequenceWithStringHash) {
            // we know for sure these classes have conformant (and maybe faster) hashCode()
            return chars.hashCode();
        }

        return stringHashCode(chars, 0, chars.length());
    }

    @Contract(pure = true)
    public static int stringHashCode(@NotNull CharSequence chars, int from, int to) {
        int h = 0;
        for (int off = from; off < to; off++) {
            h = 31 * h + chars.charAt(off);
        }
        return h;
    }

    @Contract(pure = true)
    public static int stringHashCode(char[] chars, int from, int to) {
        int h = 0;
        for (int off = from; off < to; off++) {
            h = 31 * h + chars[off];
        }
        return h;
    }

    @Contract(pure = true)
    public static int stringHashCodeInsensitive(@NotNull char[] chars, int from, int to) {
        int h = 0;
        for (int off = from; off < to; off++) {
            h = 31 * h + toLowerCase(chars[off]);
        }
        return h;
    }

    @Contract(pure = true)
    public static int stringHashCodeInsensitive(@NotNull CharSequence chars, int from, int to) {
        int h = 0;
        for (int off = from; off < to; off++) {
            h = 31 * h + toLowerCase(chars.charAt(off));
        }
        return h;
    }

    @Contract(pure = true)
    public static int stringHashCodeInsensitive(@NotNull CharSequence chars) {
        return stringHashCodeInsensitive(chars, 0, chars.length());
    }

    @Contract(pure = true)
    public static int stringHashCodeIgnoreWhitespaces(@NotNull char[] chars, int from, int to) {
        int h = 0;
        for (int off = from; off < to; off++) {
            char c = chars[off];
            if (!isWhiteSpace(c)) {
                h = 31 * h + c;
            }
        }
        return h;
    }

    @Contract(pure = true)
    public static int stringHashCodeIgnoreWhitespaces(@NotNull CharSequence chars, int from, int to) {
        int h = 0;
        for (int off = from; off < to; off++) {
            char c = chars.charAt(off);
            if (!isWhiteSpace(c)) {
                h = 31 * h + c;
            }
        }
        return h;
    }

    @Contract(pure = true)
    public static int stringHashCodeIgnoreWhitespaces(@NotNull CharSequence chars) {
        return stringHashCodeIgnoreWhitespaces(chars, 0, chars.length());
    }

    /**
     * Equivalent to string.startsWith(prefixes[0] + prefixes[1] + ...) but avoids creating an object for concatenation.
     */
    @Contract(pure = true)
    public static boolean startsWithConcatenation(@NotNull String string, @NotNull String... prefixes) {
        int offset = 0;
        for (String prefix : prefixes) {
            int prefixLen = prefix.length();
            if (!string.regionMatches(offset, prefix, 0, prefixLen)) {
                return false;
            }
            offset += prefixLen;
        }
        return true;
    }

    @Contract(value = "null -> null; !null -> !null", pure = true)
    public static String trim(@Nullable String s) {
        return s == null ? null : s.trim();
    }

    @NotNull
    @Contract(pure = true)
    public static String trimEnd(@NotNull String s, @NotNull String suffix) {
        return trimEnd(s, suffix, false);
    }

    @NotNull
    @Contract(pure = true)
    public static String trimEnd(@NotNull String s, @NotNull String suffix, boolean ignoreCase) {
        boolean endsWith = ignoreCase ? endsWithIgnoreCase(s, suffix) : s.endsWith(suffix);
        if (endsWith) {
            return s.substring(0, s.length() - suffix.length());
        }
        return s;
    }

    @NotNull
    @Contract(pure = true)
    public static String trimEnd(@NotNull String s, char suffix) {
        if (endsWithChar(s, suffix)) {
            return s.substring(0, s.length() - 1);
        }
        return s;
    }

    @NotNull
    @Contract(pure = true)
    public static String trimLog(@NotNull final String text, final int limit) {
        if (limit > 5 && text.length() > limit) {
            return text.substring(0, limit - 5) + " ...\n";
        }
        return text;
    }

    @NotNull
    @Contract(pure = true)
    public static String trimLeading(@NotNull String string) {
        return trimLeading((CharSequence)string).toString();
    }
    @NotNull
    @Contract(pure = true)
    public static CharSequence trimLeading(@NotNull CharSequence string) {
        int index = 0;
        while (index < string.length() && Character.isWhitespace(string.charAt(index))) index++;
        return string.subSequence(index, string.length());
    }

    @NotNull
    @Contract(pure = true)
    public static String trimLeading(@NotNull String string, char symbol) {
        int index = 0;
        while (index < string.length() && string.charAt(index) == symbol) index++;
        return string.substring(index);
    }

    @NotNull
    public static StringBuilder trimLeading(@NotNull StringBuilder builder, char symbol) {
        int index = 0;
        while (index < builder.length() && builder.charAt(index) == symbol) index++;
        if (index > 0) builder.delete(0, index);
        return builder;
    }

    @NotNull
    @Contract(pure = true)
    public static String trimTrailing(@NotNull String string) {
        return trimTrailing((CharSequence)string).toString();
    }

    @NotNull
    @Contract(pure = true)
    public static CharSequence trimTrailing(@NotNull CharSequence string) {
        int index = string.length() - 1;
        while (index >= 0 && Character.isWhitespace(string.charAt(index))) index--;
        return string.subSequence(0, index + 1);
    }

    @NotNull
    @Contract(pure = true)
    public static String trimTrailing(@NotNull String string, char symbol) {
        int index = string.length() - 1;
        while (index >= 0 && string.charAt(index) == symbol) index--;
        return string.substring(0, index + 1);
    }

    @NotNull
    public static StringBuilder trimTrailing(@NotNull StringBuilder builder, char symbol) {
        int index = builder.length() - 1;
        while (index >= 0 && builder.charAt(index) == symbol) index--;
        builder.setLength(index + 1);
        return builder;
    }

    @Contract(pure = true)
    public static boolean startsWithChar(@Nullable CharSequence s, char prefix) {
        return s != null && s.length() != 0 && s.charAt(0) == prefix;
    }

    @Contract(pure = true)
    public static boolean endsWithChar(@Nullable CharSequence s, char suffix) {
        return StringUtilRt.endsWithChar(s, suffix);
    }

    @NotNull
    @Contract(pure = true)
    public static String trimStart(@NotNull String s, @NotNull String prefix) {
        if (s.startsWith(prefix)) {
            return s.substring(prefix.length());
        }
        return s;
    }

    @NotNull
    @Contract(pure = true)
    public static String trimExtensions(@NotNull String name) {
        int index = name.indexOf('.');
        return index < 0 ? name : name.substring(0, index);
    }

//  @NotNull
//  @Contract(pure = true)
//  public static String pluralize(@NotNull String base, int count) {
//    if (count == 1) return base;
//    return pluralize(base);
//  }

    public static void repeatSymbol(@NotNull Appendable buffer, char symbol, int times) {
        assert times >= 0 : times;
        try {
            for (int i = 0; i < times; i++) {
                buffer.append(symbol);
            }
        }
        catch (IOException e) {
            LOG.error(e);
        }
    }

    @Contract(pure = true)
    public static String defaultIfEmpty(@Nullable String value, String defaultValue) {
        return isEmpty(value) ? defaultValue : value;
    }

    @Contract(value = "null -> false", pure = true)
    public static boolean isNotEmpty(@Nullable String s) {
        return !isEmpty(s);
    }

    @Contract(value = "null -> true", pure = true)
    public static boolean isEmpty(@Nullable String s) {
        return s == null || s.isEmpty();
    }

    @Contract(value = "null -> true",pure = true)
    public static boolean isEmpty(@Nullable CharSequence cs) {
        return StringUtilRt.isEmpty(cs);
    }

    @Contract(pure = true)
    public static int length(@Nullable CharSequence cs) {
        return cs == null ? 0 : cs.length();
    }

    @NotNull
    @Contract(pure = true)
    public static String notNullize(@Nullable String s) {
        return StringUtilRt.notNullize(s);
    }

    @NotNull
    @Contract(pure = true)
    public static String notNullize(@Nullable String s, @NotNull String defaultValue) {
        return StringUtilRt.notNullize(s, defaultValue);
    }

    @Nullable
    @Contract(pure = true)
    public static String nullize(@Nullable String s) {
        return nullize(s, false);
    }

    @Nullable
    @Contract(pure = true)
    public static String nullize(@Nullable String s, boolean nullizeSpaces) {
        boolean empty = nullizeSpaces ? isEmptyOrSpaces(s) : isEmpty(s);
        return empty ? null : s;
    }

    @Contract(value = "null -> true",pure = true)
    // we need to keep this method to preserve backward compatibility
    public static boolean isEmptyOrSpaces(@Nullable String s) {
        return isEmptyOrSpaces((CharSequence)s);
    }

    @Contract(value = "null -> true", pure = true)
    public static boolean isEmptyOrSpaces(@Nullable CharSequence s) {
        return StringUtilRt.isEmptyOrSpaces(s);
    }

    /**
     * Allows to answer if given symbol is white space, tabulation or line feed.
     *
     * @param c symbol to check
     * @return {@code true} if given symbol is white space, tabulation or line feed; {@code false} otherwise
     */
    @Contract(pure = true)
    public static boolean isWhiteSpace(char c) {
        return c == '\n' || c == '\t' || c == ' ';
    }

    @NotNull
    @Contract(pure = true)
    public static String getThrowableText(@NotNull Throwable aThrowable) {
        return ExceptionUtil.getThrowableText(aThrowable);
    }

    @NotNull
    @Contract(pure = true)
    public static String repeatSymbol(final char aChar, final int count) {
        char[] buffer = new char[count];
        Arrays.fill(buffer, aChar);
        return StringFactory.createShared(buffer);
    }

    @NotNull
    @Contract(pure = true)
    public static String repeat(@NotNull String s, int count) {
        assert count >= 0 : count;
        StringBuilder sb = new StringBuilder(s.length() * count);
        for (int i = 0; i < count; i++) {
            sb.append(s);
        }
        return sb.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static List<String> split(@NotNull String s, @NotNull String separator) {
        return split(s, separator, true);
    }
    @NotNull
    @Contract(pure = true)
    public static List<CharSequence> split(@NotNull CharSequence s, @NotNull CharSequence separator) {
        return split(s, separator, true, true);
    }

    @NotNull
    @Contract(pure = true)
    public static List<String> split(@NotNull String s, @NotNull String separator, boolean excludeSeparator) {
        return split(s, separator, excludeSeparator, true);
    }

    @NotNull
    @Contract(pure = true)
    @SuppressWarnings("unchecked")
    public static List<String> split(@NotNull String s, @NotNull String separator, boolean excludeSeparator, boolean excludeEmptyStrings) {
        return (List)split((CharSequence)s, separator, excludeSeparator, excludeEmptyStrings);
    }

    @NotNull
    @Contract(pure = true)
    public static List<CharSequence> split(@NotNull CharSequence s, @NotNull CharSequence separator, boolean excludeSeparator, boolean excludeEmptyStrings) {
        if (separator.length() == 0) {
            return Collections.singletonList(s);
        }
        List<CharSequence> result = new ArrayList<CharSequence>();
        int pos = 0;
        while (true) {
            int index = indexOf(s, separator, pos);
            if (index == -1) break;
            final int nextPos = index + separator.length();
            CharSequence token = s.subSequence(pos, excludeSeparator ? index : nextPos);
            if (token.length() != 0 || !excludeEmptyStrings) {
                result.add(token);
            }
            pos = nextPos;
        }
        if (pos < s.length() || !excludeEmptyStrings && pos == s.length()) {
            result.add(s.subSequence(pos, s.length()));
        }
        return result;
    }

    @NotNull
    @Contract(pure = true)
    public static Iterable<String> tokenize(@NotNull String s, @NotNull String separators) {
        final com.intellij.util.text.StringTokenizer tokenizer = new com.intellij.util.text.StringTokenizer(s, separators);
        return new Iterable<String>() {
            @NotNull
            @Override
            public Iterator<String> iterator() {
                return new Iterator<String>() {
                    @Override
                    public boolean hasNext() {
                        return tokenizer.hasMoreTokens();
                    }

                    @Override
                    public String next() {
                        return tokenizer.nextToken();
                    }

                    @Override
                    public void remove() {
                        throw new UnsupportedOperationException();
                    }
                };
            }
        };
    }

    @NotNull
    @Contract(pure = true)
    public static Iterable<String> tokenize(@NotNull final StringTokenizer tokenizer) {
        return new Iterable<String>() {
            @NotNull
            @Override
            public Iterator<String> iterator() {
                return new Iterator<String>() {
                    @Override
                    public boolean hasNext() {
                        return tokenizer.hasMoreTokens();
                    }

                    @Override
                    public String next() {
                        return tokenizer.nextToken();
                    }

                    @Override
                    public void remove() {
                        throw new UnsupportedOperationException();
                    }
                };
            }
        };
    }

    /**
     * @return list containing all words in {@code text}, or {@link ContainerUtil#emptyList()} if there are none.
     * The <b>word</b> here means the maximum sub-string consisting entirely of characters which are {@code Character.isJavaIdentifierPart(c)}.
     */
    @NotNull
    @Contract(pure = true)
    public static List<String> getWordsIn(@NotNull String text) {
        List<String> result = null;
        int start = -1;
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            boolean isIdentifierPart = Character.isJavaIdentifierPart(c);
            if (isIdentifierPart && start == -1) {
                start = i;
            }
            if (isIdentifierPart && i == text.length() - 1) {
                if (result == null) {
                    result = new SmartList<String>();
                }
                result.add(text.substring(start, i + 1));
            }
            else if (!isIdentifierPart && start != -1) {
                if (result == null) {
                    result = new SmartList<String>();
                }
                result.add(text.substring(start, i));
                start = -1;
            }
        }
        if (result == null) {
            return ContainerUtil.emptyList();
        }
        return result;
    }

    @NotNull
    @Contract(pure = true)
    public static List<TextRange> getWordIndicesIn(@NotNull String text) {
        return getWordIndicesIn(text, null);
    }

    /**
     * @param text text to get word ranges in.
     * @param separatorsSet if not null, only these characters will be considered as separators (i.e. not a part of word).
     *                   Otherwise {@link Character#isJavaIdentifierPart(char)} will be used to determine whether a symbol is part of word.
     * @return ranges ranges of words in passed text.
     */
    @NotNull
    @Contract(pure = true)
    public static List<TextRange> getWordIndicesIn(@NotNull String text, @Nullable Set<Character> separatorsSet) {
        List<TextRange> result = new SmartList<TextRange>();
        int start = -1;
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            boolean isIdentifierPart = separatorsSet == null ? Character.isJavaIdentifierPart(c) : !separatorsSet.contains(c);
            if (isIdentifierPart && start == -1) {
                start = i;
            }
            if (isIdentifierPart && i == text.length() - 1) {
                result.add(new TextRange(start, i + 1));
            }
            else if (!isIdentifierPart && start != -1) {
                result.add(new TextRange(start, i));
                start = -1;
            }
        }
        return result;
    }

    @NotNull
    @Contract(pure = true)
    public static String join(@NotNull final String[] strings, @NotNull final String separator) {
        return join(strings, 0, strings.length, separator);
    }

    @NotNull
    @Contract(pure = true)
    public static String join(@NotNull final String[] strings, int startIndex, int endIndex, @NotNull final String separator) {
        final StringBuilder result = new StringBuilder();
        for (int i = startIndex; i < endIndex; i++) {
            if (i > startIndex) result.append(separator);
            result.append(strings[i]);
        }
        return result.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static String[] zip(@NotNull String[] strings1, @NotNull String[] strings2, String separator) {
        if (strings1.length != strings2.length) throw new IllegalArgumentException();

        String[] result = ArrayUtil.newStringArray(strings1.length);
        for (int i = 0; i < result.length; i++) {
            result[i] = strings1[i] + separator + strings2[i];
        }

        return result;
    }

    @NotNull
    @Contract(pure = true)
    public static String[] surround(@NotNull String[] strings, @NotNull String prefix, @NotNull String suffix) {
        String[] result = ArrayUtil.newStringArray(strings.length);
        for (int i = 0; i < result.length; i++) {
            result[i] = prefix + strings[i] + suffix;
        }
        return result;
    }

    @NotNull
    @Contract(pure = true)
    public static <T> String join(@NotNull T[] items, @NotNull Function<? super T, String> f, @NotNull String separator) {
        return join(Arrays.asList(items), f, separator);
    }

    @NotNull
    @Contract(pure = true)
    public static <T> String join(@NotNull Collection<? extends T> items,
                                  @NotNull Function<? super T, String> f,
                                  @NotNull String separator) {
        if (items.isEmpty()) return "";
        if (items.size() == 1) return notNullize(f.fun(items.iterator().next()));
        return join((Iterable<? extends T>)items, f, separator);
    }

    @Contract(pure = true)
    public static String join(@NotNull Iterable<?> items, @NotNull String separator) {
        StringBuilder result = new StringBuilder();
        for (Object item : items) {
            result.append(item).append(separator);
        }
        if (result.length() > 0) {
            result.setLength(result.length() - separator.length());
        }
        return result.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static <T> String join(@NotNull Iterable<? extends T> items,
                                  @NotNull Function<? super T, String> f,
                                  @NotNull String separator) {
        StringBuilder result = new StringBuilder();
        join(items, f, separator, result);
        return result.toString();
    }

    public static <T> void join(@NotNull Iterable<? extends T> items,
                                @NotNull Function<? super T, String> f,
                                @NotNull String separator,
                                @NotNull StringBuilder result) {
        boolean isFirst = true;
        for (T item : items) {
            String string = f.fun(item);
            if (!isEmpty(string)) {
                if (isFirst) {
                    isFirst = false;
                }
                else {
                    result.append(separator);
                }
                result.append(string);
            }
        }
    }

    @NotNull
    @Contract(pure = true)
    public static String join(@NotNull Collection<String> strings, @NotNull String separator) {
        if (strings.size() <= 1) {
            return notNullize(ContainerUtil.getFirstItem(strings));
        }
        StringBuilder result = new StringBuilder();
        join(strings, separator, result);
        return result.toString();
    }

    public static void join(@NotNull Collection<String> strings, @NotNull String separator, @NotNull StringBuilder result) {
        boolean isFirst = true;
        for (String string : strings) {
            if (string != null) {
                if (isFirst) {
                    isFirst = false;
                }
                else {
                    result.append(separator);
                }
                result.append(string);
            }
        }
    }

    @NotNull
    @Contract(pure = true)
    public static String join(@NotNull final int[] strings, @NotNull final String separator) {
        final StringBuilder result = new StringBuilder();
        for (int i = 0; i < strings.length; i++) {
            if (i > 0) result.append(separator);
            result.append(strings[i]);
        }
        return result.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static String join(@NotNull final String... strings) {
        if (strings.length == 0) return "";

        final StringBuilder builder = new StringBuilder();
        for (final String string : strings) {
            builder.append(string);
        }
        return builder.toString();
    }

    /**
     * Consider using {@link StringUtil#unquoteString(String)} instead.
     * Note: this method has an odd behavior:
     *   Quotes are removed even if leading and trailing quotes are different or
     *                           if there is only one quote (leading or trailing).
     */
    @NotNull
    @Contract(pure = true)
    public static String stripQuotesAroundValue(@NotNull String text) {
        final int len = text.length();
        if (len > 0) {
            final int from = isQuoteAt(text, 0) ? 1 : 0;
            final int to = len > 1 && isQuoteAt(text, len - 1) ? len - 1 : len;
            if (from > 0 || to < len) {
                return text.substring(from, to);
            }
        }
        return text;
    }

    /** Formats given duration as a sum of time units (example: {@code formatDuration(123456) = "2 m 3 s 456 ms"}). */
    @NotNull
    @Contract(pure = true)
    public static String formatDuration(long duration) {
        return formatDuration(duration, " ");
    }

    private static final String[] TIME_UNITS = {"ms", "s", "m", "h", "d", "mo", "yr", "c", "ml", "ep"};
    private static final long[] TIME_MULTIPLIERS = {1, 1000, 60, 60, 24, 30, 12, 100, 10, 10000};

    /** Formats given duration as a sum of time units (example: {@code formatDuration(123456, "") = "2m 3s 456ms"}). */
    @NotNull
    @Contract(pure = true)
    public static String formatDuration(long duration, @NotNull String unitSeparator) {
        String[] units = TIME_UNITS;

        StringBuilder sb = new StringBuilder();
        long count = duration;
        int i = 1;
        for (; i < units.length && count > 0; i++) {
            long multiplier = TIME_MULTIPLIERS[i];
            if (count < multiplier) break;
            long remainder = count % multiplier;
            count /= multiplier;
            if (remainder != 0 || sb.length() > 0) {
                if (!units[i - 1].isEmpty()) {
                    sb.insert(0, units[i - 1]);
                    sb.insert(0, unitSeparator);
                }
                sb.insert(0, remainder).insert(0, " ");
            }
            else {
                remainder = Math.round(remainder * 100 / (double)multiplier);
                count += remainder / 100;
            }
        }
        if (!units[i - 1].isEmpty()) {
            sb.insert(0, units[i - 1]);
            sb.insert(0, unitSeparator);
        }
        sb.insert(0, count);
        return sb.toString();
    }

    @Contract(pure = true)
    public static boolean containsAlphaCharacters(@NotNull String value) {
        for (int i = 0; i < value.length(); i++) {
            if (Character.isLetter(value.charAt(i))) return true;
        }
        return false;
    }

    @Contract(pure = true)
    public static boolean containsAnyChar(@NotNull final String value, @NotNull final String chars) {
        return chars.length() > value.length()
                ? containsAnyChar(value, chars, 0, value.length())
                : containsAnyChar(chars, value, 0, chars.length());
    }

    @Contract(pure = true)
    public static boolean containsAnyChar(@NotNull final String value,
                                          @NotNull final String chars,
                                          final int start, final int end) {
        for (int i = start; i < end; i++) {
            if (chars.indexOf(value.charAt(i)) >= 0) {
                return true;
            }
        }

        return false;
    }

    @Contract(pure = true)
    public static boolean containsChar(@NotNull final String value, final char ch) {
        return value.indexOf(ch) >= 0;
    }

    /**
     * @deprecated use #capitalize(String)
     */
    @Deprecated
    @Contract(value = "null -> null; !null -> !null", pure = true)
    public static String firstLetterToUpperCase(@Nullable final String displayString) {
        if (displayString == null || displayString.isEmpty()) return displayString;
        char firstChar = displayString.charAt(0);
        char uppedFirstChar = toUpperCase(firstChar);

        if (uppedFirstChar == firstChar) return displayString;

        char[] buffer = displayString.toCharArray();
        buffer[0] = uppedFirstChar;
        return StringFactory.createShared(buffer);
    }

    /**
     * Strip out all characters not accepted by given filter
     *
     * @param s      e.g. "/n    my string "
     * @param filter e.g. {@link CharFilter#NOT_WHITESPACE_FILTER}
     * @return stripped string e.g. "mystring"
     */
    @NotNull
    @Contract(pure = true)
    public static String strip(@NotNull final String s, @NotNull final CharFilter filter) {
        final StringBuilder result = new StringBuilder(s.length());
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            if (filter.accept(ch)) {
                result.append(ch);
            }
        }
        return result.toString();
    }

    @NotNull
    @Contract(pure = true)
    public static List<String> findMatches(@NotNull String s, @NotNull Pattern pattern) {
        return findMatches(s, pattern, 1);
    }

    @NotNull
    @Contract(pure = true)
    public static List<String> findMatches(@NotNull String s, @NotNull Pattern pattern, int groupIndex) {
        List<String> result = new SmartList<String>();
        Matcher m = pattern.matcher(s);
        while (m.find()) {
            String group = m.group(groupIndex);
            if (group != null) {
                result.add(group);
            }
        }
        return result;
    }

    /**
     * Find position of the first character accep
Download .txt
gitextract_ciuqhpnh/

├── .gitattributes
├── .github/
│   └── workflows/
│       └── main.yml
├── .gitignore
├── LICENSE
├── README.md
├── common-settings/
│   └── kotlin-formatting.xml
├── docs/
│   └── dev-documentation.md
├── kotlin-bundled-compiler/
│   ├── Get Bundled Kotlin.launch
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.gradle.kts
│   ├── build.properties
│   ├── buildSrc/
│   │   ├── build.gradle
│   │   └── src/
│   │       ├── main/
│   │       │   └── groovy/
│   │       │       └── com/
│   │       │           └── intellij/
│   │       │               └── buildsupport/
│   │       │                   ├── dependencies/
│   │       │                   │   ├── PackageList.groovy
│   │       │                   │   ├── PackageListFromManifest.groovy
│   │       │                   │   └── PackageListFromSimpleFile.groovy
│   │       │                   ├── resolve/
│   │       │                   │   ├── http/
│   │       │                   │   │   ├── HttpArtifact.groovy
│   │       │                   │   │   ├── HttpArtifactsResolver.groovy
│   │       │                   │   │   └── idea/
│   │       │                   │   │       └── IntellijIdeaArtifactsResolver.groovy
│   │       │                   │   └── tc/
│   │       │                   │       ├── TCArtifact.groovy
│   │       │                   │       ├── TCArtifactsResolver.groovy
│   │       │                   │       └── kotlin/
│   │       │                   │           ├── CommonIDEArtifactsResolver.groovy
│   │       │                   │           └── KotlinCompilerTCArtifactsResolver.groovy
│   │       │                   └── utils/
│   │       │                       └── FileUtils.groovy
│   │       └── test/
│   │           └── groovy/
│   │               └── com/
│   │                   └── intellij/
│   │                       └── buildsupport/
│   │                           └── tc/
│   │                               └── kotlin/
│   │                                   └── KotlinCompilerTCArtifactsResolverSpecification.groovy
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── pom.xml
│   ├── referencedPackages.txt
│   └── src/
│       ├── com/
│       │   └── intellij/
│       │       ├── codeInsight/
│       │       │   ├── CodeInsightBundle.java
│       │       │   ├── KotlinNullableNotNullManager.kt
│       │       │   ├── actions/
│       │       │   │   └── ReformatCodeProcessor.java
│       │       │   └── generation/
│       │       │       └── GenerateEqualsHelper.java
│       │       ├── formatting/
│       │       │   ├── KotlinLanguageCodeStyleSettingsProvider.kt
│       │       │   └── KotlinSettingsProvider.kt
│       │       ├── openapi/
│       │       │   ├── editor/
│       │       │   │   └── Editor.java
│       │       │   ├── extensions/
│       │       │   │   └── ExtensionException.kt
│       │       │   ├── fileTypes/
│       │       │   │   └── StdFileTypes.java
│       │       │   └── util/
│       │       │       └── text/
│       │       │           └── StringUtil.java
│       │       └── util/
│       │           ├── SequentialModalProgressTask.java
│       │           ├── SequentialTask.java
│       │           ├── SingletonSet.java
│       │           └── containers/
│       │               ├── LinkedMultiMap.java
│       │               ├── MultiMap.java
│       │               └── ObjectIntHashMap.java
│       ├── it/
│       │   └── unimi/
│       │       └── dsi/
│       │           └── fastutil/
│       │               └── ints/
│       │                   └── IntOpenHashSet.java
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── idea/
│                       └── core/
│                           └── formatter/
│                               └── KotlinPackageEntry.kt
├── kotlin-eclipse-aspects/
│   ├── META-INF/
│   │   ├── MANIFEST.MF
│   │   └── aop.xml
│   ├── build.properties
│   ├── pom.xml
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── aspects/
│                       ├── Activator.java
│                       ├── debug/
│                       │   ├── core/
│                       │   │   ├── KotlinSourceLookupAspect.aj
│                       │   │   └── KotlinStackFrameFilterAspect.aj
│                       │   └── ui/
│                       │       └── SuppressBreakpointMarkerUpdaterAspect.aj
│                       ├── navigation/
│                       │   ├── KotlinFindSourceAspect.aj
│                       │   ├── KotlinOpenEditorAspect.aj
│                       │   └── KotlinSearchEditorOpenerAspect.aj
│                       ├── refactoring/
│                       │   ├── KotlinBinaryReferencesAspect.aj
│                       │   ├── KotlinBreakpointRenamingParticipantAspect.aj
│                       │   ├── KotlinJavaDescriptorAspect.aj
│                       │   ├── KotlinRefactoringChecksAspect.aj
│                       │   ├── KotlinRefactoringTypeAspect.aj
│                       │   ├── KotlinRemoveDeclarationUpdateAspect.aj
│                       │   ├── KotlinRenameFromJavaAspect.aj
│                       │   └── KotlinRippleMethodFinderAspect.aj
│                       └── ui/
│                           └── PackageExplorerLabelProviderAspect.aj
├── kotlin-eclipse-core/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── preferences.ini
│   ├── schema/
│   │   ├── org.jetbrains.kotlin.core.predefinedKotlinCodeStyle.exsd
│   │   └── org.jetbrains.kotlin.core.scriptTemplateContribution.exsd
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── core/
│                       ├── Activator.java
│                       ├── KotlinClasspathContainer.kt
│                       ├── KotlinClasspathContainerInitializer.kt
│                       ├── KotlinClasspathProvider.kt
│                       ├── asJava/
│                       │   ├── BinaryClassWriter.java
│                       │   ├── KotlinLightClassGeneration.kt
│                       │   ├── LightClassBuilderFactory.java
│                       │   ├── LightClassFile.java
│                       │   └── elementUtils.kt
│                       ├── builder/
│                       │   └── KotlinPsiManager.kt
│                       ├── compiler/
│                       │   ├── KotlinCompiler.kt
│                       │   ├── KotlinCompiler2.java
│                       │   └── KotlinCompilerUtils.kt
│                       ├── debug/
│                       │   └── KotlinSourceLookupNavigator.java
│                       ├── filesystem/
│                       │   ├── EnvironmentRemnantNature.kt
│                       │   ├── KotlinFileStore.kt
│                       │   ├── KotlinFileSystem.java
│                       │   ├── KotlinLightClassManager.kt
│                       │   └── KotlinScriptFIleSystem.kt
│                       ├── formatting/
│                       │   └── KotlinCodeStyleManager.kt
│                       ├── imports/
│                       │   ├── FunctionImportFinder.kt
│                       │   ├── importCandidates.kt
│                       │   └── importServices.kt
│                       ├── launch/
│                       │   ├── CompilerOutputData.java
│                       │   ├── CompilerOutputElement.java
│                       │   ├── CompilerOutputParser.java
│                       │   └── KotlinCLICompiler.kt
│                       ├── log/
│                       │   └── kotlinLogger.kt
│                       ├── model/
│                       │   ├── CachedEnvironment.kt
│                       │   ├── DummyCodeStyleManager.kt
│                       │   ├── EclipseKotlinModuleResolver.kt
│                       │   ├── EclipseScriptDefinitionProvider.kt
│                       │   ├── KotlinAnalysisFileCache.kt
│                       │   ├── KotlinAnalysisProjectCache.kt
│                       │   ├── KotlinCommonEnvironment.kt
│                       │   ├── KotlinEnvironment.kt
│                       │   ├── KotlinJavaManager.kt
│                       │   ├── KotlinLightVirtualFile.kt
│                       │   ├── KotlinNature.kt
│                       │   ├── KotlinRefreshProjectListener.kt
│                       │   ├── executableEP.kt
│                       │   └── kotlinModelUtils.kt
│                       ├── preferences/
│                       │   ├── KotlinBuildingProperties.kt
│                       │   ├── KotlinCodeStyleProperties.kt
│                       │   ├── KotlinProperties.kt
│                       │   ├── KotlinPropertiesExtensions.kt
│                       │   └── Preferences.kt
│                       ├── references/
│                       │   ├── KotlinReference.kt
│                       │   └── referenceUtils.kt
│                       ├── resolve/
│                       │   ├── BuiltInsReferenceResolver.java
│                       │   ├── DeserializedDescriptorUtils.kt
│                       │   ├── EclipseAnalyzerFacadeForJVM.kt
│                       │   ├── EclipseDescriptorUtils.java
│                       │   ├── KotlinAnalyzer.kt
│                       │   ├── KotlinCacheServiceImpl.kt
│                       │   ├── KotlinPackagePartProvider.kt
│                       │   ├── KotlinResolutionFacade.kt
│                       │   ├── KotlinSourceIndex.java
│                       │   ├── injection.kt
│                       │   ├── lang/
│                       │   │   ├── java/
│                       │   │   │   ├── EclipseJavaClassFinder.java
│                       │   │   │   ├── resolver/
│                       │   │   │   │   ├── EclipseJavaSourceElement.java
│                       │   │   │   │   ├── EclipseJavaSourceElementFactory.java
│                       │   │   │   │   └── EclipseTraceBasedJavaResolverCache.kt
│                       │   │   │   └── structure/
│                       │   │   │       ├── EclipseJavaAnnotation.kt
│                       │   │   │       ├── EclipseJavaAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaAnnotationAsAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaArrayAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaArrayType.java
│                       │   │   │       ├── EclipseJavaClass.kt
│                       │   │   │       ├── EclipseJavaClassObjectAnnotationArgument.java
│                       │   │   │       ├── EclipseJavaClassifier.kt
│                       │   │   │       ├── EclipseJavaClassifierType.java
│                       │   │   │       ├── EclipseJavaConstructor.java
│                       │   │   │       ├── EclipseJavaElement.kt
│                       │   │   │       ├── EclipseJavaElementFactory.java
│                       │   │   │       ├── EclipseJavaElementUtil.java
│                       │   │   │       ├── EclipseJavaField.kt
│                       │   │   │       ├── EclipseJavaLiteralAnnotationArgument.java
│                       │   │   │       ├── EclipseJavaMember.java
│                       │   │   │       ├── EclipseJavaMethod.kt
│                       │   │   │       ├── EclipseJavaPackage.java
│                       │   │   │       ├── EclipseJavaPrimitiveType.java
│                       │   │   │       ├── EclipseJavaPropertyInitializerEvaluator.java
│                       │   │   │       ├── EclipseJavaReferenceAnnotationArgument.java
│                       │   │   │       ├── EclipseJavaType.java
│                       │   │   │       ├── EclipseJavaTypeAsAnnotationArgument.kt
│                       │   │   │       ├── EclipseJavaTypeParameter.kt
│                       │   │   │       ├── EclipseJavaValueParameter.java
│                       │   │   │       ├── EclipseJavaWildcardType.java
│                       │   │   │       └── EclipseOptimizedJavaClass.kt
│                       │   │   └── kotlin/
│                       │   │       └── EclipseVirtualFileFinder.kt
│                       │   └── sources/
│                       │       └── LibrarySourcesIndex.kt
│                       ├── script/
│                       │   ├── EnvironmentProjectsManager.kt
│                       │   ├── ScriptTemplateContribution.kt
│                       │   └── template/
│                       │       ├── ProjectFilesResolver.kt
│                       │       ├── ProjectScriptTemplate.kt
│                       │       └── ProjectScriptTemplateContribution.kt
│                       └── utils/
│                           ├── DebugUtils.java
│                           ├── DependencyResolverException.kt
│                           ├── ProjectUtils.kt
│                           ├── analyzeUtils.kt
│                           ├── genericUtils.kt
│                           ├── importsUtils.kt
│                           ├── jobUtils.kt
│                           ├── kotlinFilesCollectorUtils.kt
│                           └── projectFilesUtils.kt
├── kotlin-eclipse-feature/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── kotlin-eclipse-gradle/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── scripts/
│   │   └── init.gradle.kts
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── gradle/
│                       ├── Activator.kt
│                       ├── configurator/
│                       │   └── KotlinProjectConfigurator.kt
│                       └── initialization/
│                           └── ModelInjector.kt
├── kotlin-eclipse-gradle-feature/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── kotlin-eclipse-gradle-model/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.gradle
│   ├── build.properties
│   ├── gradle/
│   │   └── wrapper/
│   │       ├── gradle-wrapper.jar
│   │       └── gradle-wrapper.properties
│   ├── gradlew
│   ├── gradlew.bat
│   ├── pom.xml
│   ├── settings.gradle
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── gradle/
│                       └── model/
│                           ├── GradleMultiProjectForEclipse.kt
│                           ├── GradleProjectForEclipse.kt
│                           └── plugins.kt
├── kotlin-eclipse-maven/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── lifecycle-mapping-metadata.xml
│   ├── plugin.xml
│   ├── pom.xml
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── maven/
│                       ├── Activator.java
│                       └── configuration/
│                           ├── KotlinMavenProjectConfigurator.kt
│                           └── MavenAttributeAccessor.kt
├── kotlin-eclipse-p2updatesite/
│   ├── category.xml
│   └── pom.xml
├── kotlin-eclipse-policy/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── kotlin-eclipse-test-framework/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── pom.xml
│   └── src/
│       └── org/
│           └── jetbrains/
│               └── kotlin/
│                   └── testframework/
│                       ├── Activator.java
│                       ├── editor/
│                       │   ├── KotlinEditorAutoTestCase.java
│                       │   ├── KotlinEditorSequentialAutoTestCase.java
│                       │   ├── KotlinEditorTestCase.java
│                       │   ├── KotlinEditorWithAfterFileTestCase.java
│                       │   ├── KotlinProjectTestCase.java
│                       │   └── TextEditorTest.java
│                       └── utils/
│                           ├── CodeStyleConfigurator.kt
│                           ├── EditorTestUtils.java
│                           ├── ExpectedCompletionUtils.java
│                           ├── InTextDirectivesUtils.java
│                           ├── KotlinTestUtils.java
│                           ├── SourceFileData.java
│                           ├── TestJavaProject.java
│                           ├── TypingUtils.java
│                           └── WorkspaceUtil.java
├── kotlin-eclipse-ui/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── Run Kotlin Plugin with Equinox Weaving.launch
│   ├── Run with open port.launch
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── schema/
│   │   └── org.jetbrains.kotlin.ui.editor.textHover.exsd
│   ├── src/
│   │   └── org/
│   │       └── jetbrains/
│   │           └── kotlin/
│   │               ├── eclipse/
│   │               │   └── ui/
│   │               │       └── utils/
│   │               │           ├── EditorUtil.java
│   │               │           ├── IndenterUtil.java
│   │               │           ├── KotlinEclipseScope.kt
│   │               │           ├── KotlinImageProvider.kt
│   │               │           ├── LineEndUtil.java
│   │               │           ├── ProjectScopedPreferenceUtils.java
│   │               │           ├── analyzeUtils.kt
│   │               │           └── offsetUtils.kt
│   │               ├── perspective/
│   │               │   └── KotlinPerspectiveFactory.java
│   │               ├── preferences/
│   │               │   ├── BasePropertyPage.kt
│   │               │   ├── EditorPreferencePage.java
│   │               │   ├── KotlinPreferenceInitializer.kt
│   │               │   ├── KotlinPreferencePage.java
│   │               │   ├── KotlinTemplatePreferencePage.java
│   │               │   ├── building/
│   │               │   │   ├── ProjectBuildingPropertyPage.kt
│   │               │   │   └── WorkspaceBuildingPropertyPage.kt
│   │               │   ├── compiler/
│   │               │   │   ├── CompilerPluginDialog.kt
│   │               │   │   ├── ProjectCompilerPropertyPage.kt
│   │               │   │   ├── RebuildJob.kt
│   │               │   │   └── WorkspaceCompilerPropertyPage.kt
│   │               │   ├── style/
│   │               │   │   ├── ProjectCodeStylePropertyPage.kt
│   │               │   │   └── WorkspaceCodeStylePropertyPage.kt
│   │               │   └── views/
│   │               │       ├── BuildingPropertiesView.kt
│   │               │       ├── CompilerPropertiesView.kt
│   │               │       ├── ProjectCompilerPropertiesView.kt
│   │               │       ├── Validable.kt
│   │               │       └── codeStylePropertiesView.kt
│   │               ├── swt/
│   │               │   └── builders/
│   │               │       ├── ChecklistView.kt
│   │               │       └── controls.kt
│   │               ├── ui/
│   │               │   ├── Activator.kt
│   │               │   ├── KotlinAwarePackageExplorerLabelProvider.kt
│   │               │   ├── KotlinPluginUpdater.kt
│   │               │   ├── KotlinUiStartupClass.java
│   │               │   ├── RemoveRemnantProjectsJob.kt
│   │               │   ├── ScriptClasspathUpdater.kt
│   │               │   ├── ScriptEnvironmentsFilter.kt
│   │               │   ├── builder/
│   │               │   │   ├── AspectsUtils.java
│   │               │   │   ├── BaseKotlinBuilderElement.kt
│   │               │   │   ├── CompileKotlinClassesAction.kt
│   │               │   │   ├── IncrementalKotlinBuilderElement.kt
│   │               │   │   ├── KotlinAnalysisJob.kt
│   │               │   │   ├── KotlinBuilder.kt
│   │               │   │   ├── KotlinBuilderElement.kt
│   │               │   │   ├── ResourceChangeListener.kt
│   │               │   │   └── kotlinJavaElementsListeners.kt
│   │               │   ├── commands/
│   │               │   │   ├── AddCoroutinesActionHandler.kt
│   │               │   │   ├── ConfigureKotlinActionHandler.kt
│   │               │   │   ├── DeconfigureKotlinActionHandler.kt
│   │               │   │   ├── commandsUtils.kt
│   │               │   │   ├── findReferences/
│   │               │   │   │   ├── KotlinFindReferencesAction.kt
│   │               │   │   │   └── querySpecifications.kt
│   │               │   │   ├── j2k/
│   │               │   │   │   ├── CompositeUndoableOperation.java
│   │               │   │   │   ├── JavaToKotlinActionHandler.java
│   │               │   │   │   ├── SetFileCharsetOperation.java
│   │               │   │   │   └── converterUtils.kt
│   │               │   │   └── psiVisualization/
│   │               │   │       ├── PsiContentProvider.java
│   │               │   │       ├── PsiVisualization.java
│   │               │   │       └── VisualizationPage.java
│   │               │   ├── debug/
│   │               │   │   ├── KotlinRunToLineAdapter.kt
│   │               │   │   ├── KotlinToggleBreakpointAdapter.kt
│   │               │   │   └── commands/
│   │               │   │       └── KotlinStepIntoSelectionHandler.kt
│   │               │   ├── editors/
│   │               │   │   ├── Configuration.java
│   │               │   │   ├── FileEditorConfiguration.kt
│   │               │   │   ├── KotlinActionGroup.kt
│   │               │   │   ├── KotlinAutoIndentStrategy.java
│   │               │   │   ├── KotlinBracketInserter.java
│   │               │   │   ├── KotlinClassFileEditor.kt
│   │               │   │   ├── KotlinClassFileEditorInput.kt
│   │               │   │   ├── KotlinCommonEditor.kt
│   │               │   │   ├── KotlinCorrectionProcessor.kt
│   │               │   │   ├── KotlinEditor.kt
│   │               │   │   ├── KotlinElementHyperlink.kt
│   │               │   │   ├── KotlinElementHyperlinkDetector.kt
│   │               │   │   ├── KotlinFileEditor.kt
│   │               │   │   ├── KotlinFormatAction.kt
│   │               │   │   ├── KotlinReconcilingStrategy.kt
│   │               │   │   ├── KotlinScriptEditor.kt
│   │               │   │   ├── annotations/
│   │               │   │   │   ├── AnnotationManager.kt
│   │               │   │   │   ├── DiagnosticAnnotation.kt
│   │               │   │   │   ├── DiagnosticAnnotationUtil.java
│   │               │   │   │   └── KotlinAnnotationImageProvider.java
│   │               │   │   ├── codeassist/
│   │               │   │   │   ├── CompletionElementType.kt
│   │               │   │   │   ├── FilterPositionUtil.java
│   │               │   │   │   ├── KeywordCompletion.kt
│   │               │   │   │   ├── KotlinCompletionProcessor.kt
│   │               │   │   │   ├── KotlinCompletionProposal.kt
│   │               │   │   │   ├── KotlinContextInfoContentAssistProcessor.kt
│   │               │   │   │   ├── KotlinFunctionCompletionProposal.kt
│   │               │   │   │   ├── KotlinFunctionParameterInfoAssist.kt
│   │               │   │   │   ├── KotlinParameterListValidator.kt
│   │               │   │   │   ├── VisibilityUtils.kt
│   │               │   │   │   ├── nonImportedCompletionHandler.kt
│   │               │   │   │   ├── positionFilters.kt
│   │               │   │   │   └── relevanceSorting.kt
│   │               │   │   ├── completion/
│   │               │   │   │   ├── KotlinCompletionUtils.kt
│   │               │   │   │   └── KotlinReferenceVariantsHelper.kt
│   │               │   │   ├── highlighting/
│   │               │   │   │   ├── KotlinHighlightingColors.kt
│   │               │   │   │   ├── KotlinPositionUpdater.kt
│   │               │   │   │   ├── KotlinSemanticHighlighting.kt
│   │               │   │   │   ├── KotlinSemanticHighlightingVisitor.kt
│   │               │   │   │   ├── KotlinTokenScanner.java
│   │               │   │   │   ├── KotlinTokens.kt
│   │               │   │   │   └── KotlinViewerCreator.kt
│   │               │   │   ├── hover/
│   │               │   │   │   ├── KotlinInformationProvider.kt
│   │               │   │   │   ├── KotlinJavadocTextHover.kt
│   │               │   │   │   ├── KotlinProblemTextHover.kt
│   │               │   │   │   └── KotlinTextHover.kt
│   │               │   │   ├── navigation/
│   │               │   │   │   ├── JarNavigationUtils.kt
│   │               │   │   │   ├── KotlinOpenDeclarationAction.kt
│   │               │   │   │   ├── KotlinOpenEditorFromConsole.kt
│   │               │   │   │   ├── KotlinOpenSuperImplementationAction.kt
│   │               │   │   │   ├── StringInput.kt
│   │               │   │   │   ├── StringStorage.kt
│   │               │   │   │   ├── navigationUtils.kt
│   │               │   │   │   └── psiDeclarationFinder.kt
│   │               │   │   ├── occurrences/
│   │               │   │   │   └── KotlinMarkOccurrences.kt
│   │               │   │   ├── organizeImports/
│   │               │   │   │   ├── KotlinOrganizeImportsAction.kt
│   │               │   │   │   └── importsCollector.kt
│   │               │   │   ├── outline/
│   │               │   │   │   ├── KotlinOutlinePage.kt
│   │               │   │   │   ├── KotlinOutlinePopup.java
│   │               │   │   │   ├── PsiContentProvider.kt
│   │               │   │   │   └── PsiLabelProvider.java
│   │               │   │   ├── quickassist/
│   │               │   │   │   ├── KotlinChangeReturnTypeProposal.kt
│   │               │   │   │   ├── KotlinConvertToBlockBodyAssistProposal.kt
│   │               │   │   │   ├── KotlinConvertToExpressionBodyAssistProposal.kt
│   │               │   │   │   ├── KotlinImplementMethodsProposal.kt
│   │               │   │   │   ├── KotlinIntentionUtils.kt
│   │               │   │   │   ├── KotlinQuickAssist.kt
│   │               │   │   │   ├── KotlinQuickAssistProcessor.kt
│   │               │   │   │   ├── KotlinQuickAssistProposal.kt
│   │               │   │   │   ├── KotlinQuickAssistProposalsGenerator.kt
│   │               │   │   │   ├── KotlinRemoveExplicitTypeAssistProposal.kt
│   │               │   │   │   ├── KotlinReplaceGetAssistProposal.java
│   │               │   │   │   └── KotlinSpecifyTypeAssistProposal.kt
│   │               │   │   ├── quickfix/
│   │               │   │   │   ├── KotlinAddModifierResolution.kt
│   │               │   │   │   ├── KotlinAutoImportQuickFix.kt
│   │               │   │   │   ├── KotlinMakeOverridenMemberOpenResolution.kt
│   │               │   │   │   ├── KotlinMarkerResolutionGenerator.kt
│   │               │   │   │   ├── KotlinQuickFix.kt
│   │               │   │   │   ├── KotlinRemoveModifierResolution.kt
│   │               │   │   │   └── MarkerExtensions.kt
│   │               │   │   ├── selection/
│   │               │   │   │   ├── KotlinSelectEnclosingAction.java
│   │               │   │   │   ├── KotlinSelectNextAction.java
│   │               │   │   │   ├── KotlinSelectPreviousAction.java
│   │               │   │   │   ├── KotlinSemanticSelectionAction.java
│   │               │   │   │   ├── PsiElementChildrenIterable.java
│   │               │   │   │   └── handlers/
│   │               │   │   │       ├── KotlinBlockSelectionHandler.kt
│   │               │   │   │       ├── KotlinDeclarationSelectionHandler.kt
│   │               │   │   │       ├── KotlinDefaultSelectionHandler.kt
│   │               │   │   │       ├── KotlinDocSectionSelectionHandler.kt
│   │               │   │   │       ├── KotlinElementSelectionHandler.java
│   │               │   │   │       ├── KotlinElementSelectioner.kt
│   │               │   │   │       ├── KotlinListSelectionHandler.kt
│   │               │   │   │       ├── KotlinNonTraversableSelectionHanlder.kt
│   │               │   │   │       ├── KotlinStringTemplateSelectionHandler.kt
│   │               │   │   │       ├── KotlinWhiteSpaceSelectionHandler.kt
│   │               │   │   │       └── PsiUtils.kt
│   │               │   │   └── templates/
│   │               │   │       ├── KotlinApplicableTemplateContext.java
│   │               │   │       ├── KotlinDocumentTemplateContext.java
│   │               │   │       ├── KotlinTemplateContextType.java
│   │               │   │       ├── KotlinTemplateFormatter.java
│   │               │   │       └── KotlinTemplateManager.java
│   │               │   ├── formatter/
│   │               │   │   ├── AbstractBlock.kt
│   │               │   │   ├── AlignmentStrategy.java
│   │               │   │   ├── AlignmentStrategy.kt
│   │               │   │   ├── EclipseDocumentFormattingModel.java
│   │               │   │   ├── EclipseFormattingModel.java
│   │               │   │   ├── KotlinBlock.kt
│   │               │   │   ├── NodeAlignmentStrategy.kt
│   │               │   │   └── kotlinFormatter.kt
│   │               │   ├── launch/
│   │               │   │   ├── CompilerStatusHandler.kt
│   │               │   │   ├── KotlinLaunchShortcut.kt
│   │               │   │   ├── KotlinLaunchableTester.kt
│   │               │   │   ├── KotlinRuntimeConfigurator.kt
│   │               │   │   ├── KotlinScriptLaunchConfigurationDelegate.kt
│   │               │   │   ├── KotlinScriptLaunchConfigurationTabGroup.kt
│   │               │   │   ├── KotlinScriptLaunchShortcut.kt
│   │               │   │   ├── KotlinScriptLaunchableTester.kt
│   │               │   │   ├── junit/
│   │               │   │   │   ├── KotlinJUnitLaunchShortcut.java
│   │               │   │   │   ├── KotlinJUnitLaunchUtils.java
│   │               │   │   │   └── KotlinJUnitLaunchableTester.java
│   │               │   │   └── kotlinConsole.kt
│   │               │   ├── navigation/
│   │               │   │   ├── KotlinOpenEditor.java
│   │               │   │   └── KotlinOpenEditorUtils.kt
│   │               │   ├── overrideImplement/
│   │               │   │   ├── KotlinCallableLabelProvider.kt
│   │               │   │   └── KotlinOverrideMembersAction.kt
│   │               │   ├── refactorings/
│   │               │   │   ├── extract/
│   │               │   │   │   ├── KotlinExtractVariableAction.kt
│   │               │   │   │   ├── KotlinExtractVariableRefactoring.kt
│   │               │   │   │   └── KotlinExtractVariableWizard.kt
│   │               │   │   └── rename/
│   │               │   │       ├── KotlinLightElementsFactory.java
│   │               │   │       ├── KotlinRenameAction.kt
│   │               │   │       ├── KotlinRenameParticipant.kt
│   │               │   │       ├── KotlinRenameProcessor.kt
│   │               │   │       ├── lightEclipseElements.kt
│   │               │   │       ├── refactoringUtils.kt
│   │               │   │       └── renameParticipants.kt
│   │               │   └── search/
│   │               │       ├── KotlinElementMatchCreator.kt
│   │               │       ├── KotlinQueryParticipant.kt
│   │               │       ├── KotlinReferenceMatchPresentation.kt
│   │               │       ├── SearchParentObjectMapper.kt
│   │               │       └── searchFilters.kt
│   │               ├── utils/
│   │               │   ├── DescriptorUtils.kt
│   │               │   ├── LazyObservable.kt
│   │               │   └── ThrowableExtensions.kt
│   │               └── wizards/
│   │                   ├── AbstractWizard.java
│   │                   ├── AbstractWizardPage.java
│   │                   ├── FileCreationOp.java
│   │                   ├── NewProjectWizard.java
│   │                   ├── NewProjectWizardPage.java
│   │                   ├── NewUnitWizard.java
│   │                   ├── NewUnitWizardPage.java
│   │                   ├── ProjectCreationOp.java
│   │                   ├── SWTWizardUtils.java
│   │                   ├── WizardType.kt
│   │                   ├── unitWizards.kt
│   │                   └── wizardUtils.kt
│   └── templates/
│       └── default-templates.xml
├── kotlin-eclipse-ui-test/
│   ├── META-INF/
│   │   └── MANIFEST.MF
│   ├── build.properties
│   ├── plugin.xml
│   ├── pom.xml
│   ├── src/
│   │   └── org/
│   │       └── jetbrains/
│   │           └── kotlin/
│   │               ├── checkers/
│   │               │   └── KotlinDiagnosticsTestCase.java
│   │               ├── core/
│   │               │   └── tests/
│   │               │       ├── diagnostics/
│   │               │       │   ├── AdditionalConditions.java
│   │               │       │   ├── AllDiagnosticsTests.java
│   │               │       │   ├── FileComparisonFailure.java
│   │               │       │   ├── JavaAnnotationArgumentsInKotlinTest.java
│   │               │       │   ├── JetLightFixture.java
│   │               │       │   ├── JetTestUtils.java
│   │               │       │   ├── KotlinDiagnosticsJavaPlusKotlinTest.java
│   │               │       │   └── KotlinDiagnosticsTest.java
│   │               │       └── launch/
│   │               │           ├── AllTests.java
│   │               │           ├── KotlinJUnitLaunchTest.java
│   │               │           ├── KotlinJUnitLaunchTestCase.java
│   │               │           ├── KotlinLaunchTest.java
│   │               │           └── KotlinLaunchTestCase.kt
│   │               └── ui/
│   │                   ├── AllTests.java
│   │                   └── tests/
│   │                       ├── editors/
│   │                       │   ├── AllTests.java
│   │                       │   ├── CommandTestCase.java
│   │                       │   ├── KotlinAnalyzerInIDETest.java
│   │                       │   ├── KotlinAnalyzerInIDETestCase.kt
│   │                       │   ├── KotlinAutoIndentTest.java
│   │                       │   ├── KotlinAutoIndentTestCase.kt
│   │                       │   ├── KotlinAutoIndenterTestCase.java
│   │                       │   ├── KotlinBasicAutoIndentTest.java
│   │                       │   ├── KotlinBracketInserterTest.java
│   │                       │   ├── KotlinBracketInserterTestCase.java
│   │                       │   ├── KotlinCustomLocationBugTest.java
│   │                       │   ├── KotlinEditorBaseTest.java
│   │                       │   ├── KotlinEditorClosedProjectInfluenceTest.java
│   │                       │   ├── PsiVisualizationCommandTest.java
│   │                       │   ├── completion/
│   │                       │   │   ├── AllTests.java
│   │                       │   │   ├── KotlinBasicCompletionTest.java
│   │                       │   │   ├── KotlinBasicCompletionTestCase.kt
│   │                       │   │   ├── KotlinCompletionRelevanceTest.java
│   │                       │   │   ├── KotlinCompletionRelevanceTestCase.kt
│   │                       │   │   ├── KotlinFunctionParameterInfoTest.java
│   │                       │   │   ├── KotlinFunctionParameterInfoTestCase.kt
│   │                       │   │   ├── KotlinKeywordCompletionTest.java
│   │                       │   │   ├── KotlinKeywordCompletionTestCase.kt
│   │                       │   │   ├── completionTestUtils.kt
│   │                       │   │   ├── handlers/
│   │                       │   │   │   ├── KotlinCompletionHandlerInsertTest.java
│   │                       │   │   │   └── KotlinCompletionHandlerInsertTestCase.java
│   │                       │   │   └── templates/
│   │                       │   │       ├── AllTests.java
│   │                       │   │       ├── KotlinTemplatesTest.java
│   │                       │   │       └── KotlinTemplatesTestCase.java
│   │                       │   ├── formatter/
│   │                       │   │   ├── AllFormatTests.java
│   │                       │   │   ├── KotlinFileAnnotationsFormatTest.java
│   │                       │   │   ├── KotlinFormatActionTest.java
│   │                       │   │   ├── KotlinFormatActionTestCase.java
│   │                       │   │   ├── KotlinIdeaFormatActionTest.java
│   │                       │   │   ├── KotlinModifierListFormatTest.java
│   │                       │   │   └── KotlinParameterListFormatTest.java
│   │                       │   ├── highlighting/
│   │                       │   │   ├── KotlinHighlightingPositionUpdaterTest.java
│   │                       │   │   ├── KotlinHighlightingPositionUpdaterTestCase.kt
│   │                       │   │   ├── KotlinHighlightingTest.java
│   │                       │   │   └── KotlinHighlightingTestCase.java
│   │                       │   ├── markers/
│   │                       │   │   ├── AllTests.java
│   │                       │   │   ├── KotlinParsingMarkersTest.java
│   │                       │   │   ├── KotlinParsingMarkersTestCase.java
│   │                       │   │   └── MarkerAttributesTest.java
│   │                       │   ├── navigation/
│   │                       │   │   ├── AllTests.java
│   │                       │   │   ├── JavaToKotlinNavigationTest.java
│   │                       │   │   ├── JavaToKotlinNavigationTestCase.java
│   │                       │   │   ├── KotlinBuiltInsReferenceResolverTest.java
│   │                       │   │   ├── KotlinBuiltInsReferenceResolverTestCase.java
│   │                       │   │   ├── KotlinNavigationFromLibraryTest.java
│   │                       │   │   ├── KotlinNavigationFromLibraryTestCase.kt
│   │                       │   │   ├── KotlinNavigationTest.java
│   │                       │   │   ├── KotlinNavigationTestCase.java
│   │                       │   │   ├── KotlinNavigationToLibraryTest.java
│   │                       │   │   ├── KotlinNavigationToLibraryTestCase.kt
│   │                       │   │   ├── KotlinNavigationToSuperTest.java
│   │                       │   │   ├── KotlinNavigationToSuperTestCase.kt
│   │                       │   │   ├── KotlinSourcesNavigationTestCase.kt
│   │                       │   │   └── library/
│   │                       │   │       └── NavigationTestLibrary.kt
│   │                       │   ├── organizeImports/
│   │                       │   │   ├── KotlinCommonOptimizeImportsTest.java
│   │                       │   │   ├── KotlinJvmOptimizeImportsTest.java
│   │                       │   │   ├── KotlinOrganizeImportsTest.java
│   │                       │   │   └── KotlinOrganizeImportsTestCase.kt
│   │                       │   ├── quickfix/
│   │                       │   │   ├── autoimport/
│   │                       │   │   │   ├── AllTests.java
│   │                       │   │   │   ├── KotlinAbstractModifierQuickFixTest.java
│   │                       │   │   │   ├── KotlinAutoImportTest.java
│   │                       │   │   │   ├── KotlinAutoImportTestCase.java
│   │                       │   │   │   ├── KotlinChangeModifiersQuickFixTest.java
│   │                       │   │   │   ├── KotlinMakeClassOpenQuickFixTest.java
│   │                       │   │   │   ├── KotlinMakeOverridenMemberOpenQuickFixTest.java
│   │                       │   │   │   └── KotlinQuickFixTestCase.kt
│   │                       │   │   └── intentions/
│   │                       │   │       ├── AbstractKotlinQuickAssistTestCase.java
│   │                       │   │       ├── KotlinChangeReturnTypeTest.java
│   │                       │   │       ├── KotlinChangeReturnTypeTestCase.kt
│   │                       │   │       ├── KotlinConvertToBlockBodyTest.java
│   │                       │   │       ├── KotlinConvertToBlockBodyTestCase.java
│   │                       │   │       ├── KotlinConvertToExpressionBodyTest.java
│   │                       │   │       ├── KotlinConvertToExpressionBodyTestCase.java
│   │                       │   │       ├── KotlinImplementMethodsTest.java
│   │                       │   │       ├── KotlinImplementMethodsTestCase.java
│   │                       │   │       ├── KotlinOverrideMembersTestCase.kt
│   │                       │   │       ├── KotlinOverrideMethodsTest.java
│   │                       │   │       ├── KotlinRemoveExplicitTypeTest.java
│   │                       │   │       ├── KotlinRemoveExplicitTypeTestCase.kt
│   │                       │   │       ├── KotlinReplaceGetIntentionTest.java
│   │                       │   │       ├── KotlinReplaceGetIntentionTestCase.java
│   │                       │   │       ├── KotlinSpacesForTabsQuickAssistTestCase.java
│   │                       │   │       ├── KotlinSpecifyTypeTest.java
│   │                       │   │       └── KotlinSpecifyTypeTestCase.java
│   │                       │   └── selection/
│   │                       │       ├── KotlinCommonSelectionTestCase.kt
│   │                       │       ├── KotlinSelectEnclosingTest.java
│   │                       │       ├── KotlinSelectEnclosingTestCase.kt
│   │                       │       ├── KotlinSelectNextTest.java
│   │                       │       ├── KotlinSelectNextTestCase.kt
│   │                       │       ├── KotlinSelectPreviousTest.java
│   │                       │       └── KotlinSelectPreviousTestCase.kt
│   │                       ├── refactoring/
│   │                       │   ├── convert/
│   │                       │   │   └── JavaToKotlinEncodingBugTest.java
│   │                       │   ├── extract/
│   │                       │   │   ├── KotlinExtractVariableTest.java
│   │                       │   │   └── KotlinExtractVariableTestCase.kt
│   │                       │   └── rename/
│   │                       │       ├── KotlinLocalRenameTest.java
│   │                       │       ├── KotlinLocalRenameTestCase.kt
│   │                       │       ├── KotlinRenameTest.java
│   │                       │       └── KotlinRenameTestCase.kt
│   │                       ├── scripts/
│   │                       │   ├── completion/
│   │                       │   │   └── CompletionInScriptsTest.java
│   │                       │   ├── navigation/
│   │                       │   │   └── BasicNavigationInScripts.java
│   │                       │   └── templates/
│   │                       │       ├── KotlinScriptWithTemplateResolveTest.java
│   │                       │       ├── KotlinScriptWithTemplateResolveTestCase.kt
│   │                       │       ├── TestKtScriptTemplateProvider.kt
│   │                       │       ├── TestKtScriptTemplateProviderEx.kt
│   │                       │       ├── TestScriptTemplateDefinition.kt
│   │                       │       └── testCustomEPResolver.kt
│   │                       └── search/
│   │                           ├── KotlinFindReferencesTest.java
│   │                           └── KotlinFindReferencesTestCase.kt
│   └── testData/
│       ├── compiler/
│       │   └── diagnostics/
│       │       └── tests/
│       │           ├── ResolveOfJavaGenerics.kt
│       │           ├── ResolveOfJavaGenerics.txt
│       │           ├── ResolveToJava.kt
│       │           ├── ResolveToJava.txt
│       │           ├── StarsInFunctionCalls.kt
│       │           ├── StarsInFunctionCalls.txt
│       │           ├── TypeInference.kt
│       │           └── TypeInference.txt
│       ├── completion/
│       │   ├── autoimport/
│       │   │   ├── classNestedInClassImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── classNestedInObjectImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionFunctionImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionFunctionReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionInfixFunctionImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other1.kt
│       │   │   │   ├── other2.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionMethodInLambdaWithReceiverAmbigousImport/
│       │   │   │   ├── dependency1.kt
│       │   │   │   ├── dependency2.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionMethodInLambdaWithReceiverImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionOperatorImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other1.kt
│       │   │   │   ├── other2.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── extensionValReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── functionExtensionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── functionReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── importClassWithExistingPackageKeyword.kt
│       │   │   ├── importClassWithExistingPackageKeyword.kt.after
│       │   │   ├── importOnlyUnresolvedReferenceExpressions.kt
│       │   │   ├── importOnlyUnresolvedReferenceExpressions.kt.after
│       │   │   ├── importWithExtraBreakline.kt
│       │   │   ├── importWithExtraBreakline.kt.after
│       │   │   ├── importWithExtraBreaklineWithoutPackage.kt
│       │   │   ├── importWithExtraBreaklineWithoutPackage.kt.after
│       │   │   ├── invokableExtensionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── other.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── localJavaClassAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java
│       │   │   ├── localJavaEnumAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── FooEnum.java
│       │   │   ├── localJavaInterfaceAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── FooInterface.java
│       │   │   ├── oneStandardVectorAutoImport.kt
│       │   │   ├── oneStandardVectorAutoImport.kt.after
│       │   │   ├── packageArrayListAutoImport.kt
│       │   │   ├── packageArrayListAutoImport.kt.after
│       │   │   ├── packageLevelFunctionImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── packageLevelFunctionValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── packageLevelInvokableValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── packageLevelValImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── propertyReferenceImport/
│       │   │   │   ├── dependency.kt
│       │   │   │   ├── test.kt
│       │   │   │   └── test.kt.after
│       │   │   ├── sameProjectJavaClassAutoImport/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java
│       │   │   ├── standardEnumMapAutoImport.kt
│       │   │   ├── standardEnumMapAutoImport.kt.after
│       │   │   └── unaryExtensionOperatorImport/
│       │   │       ├── dependency.kt
│       │   │       ├── other1.kt
│       │   │       ├── other2.kt
│       │   │       ├── other3.kt
│       │   │       ├── test.kt
│       │   │       └── test.kt.after
│       │   ├── basic/
│       │   │   ├── common/
│       │   │   │   ├── AfterFloatOnNewLine.kt
│       │   │   │   ├── AfterIntSeparatedWithComments.kt
│       │   │   │   ├── AutoCastAfterIf.kt
│       │   │   │   ├── AutoCastAfterIfMethod.kt
│       │   │   │   ├── AutoCastForThis.kt
│       │   │   │   ├── AutoCastInWhen.kt
│       │   │   │   ├── BasicAny.kt
│       │   │   │   ├── BasicInt.kt
│       │   │   │   ├── BeforeDotInCall.kt
│       │   │   │   ├── CallLocalLambda.kt
│       │   │   │   ├── ClassObjectElementsInClass.kt
│       │   │   │   ├── ClassRedeclaration1.kt
│       │   │   │   ├── ClassRedeclaration2.kt
│       │   │   │   ├── ExtendClassName.kt
│       │   │   │   ├── ExtendQualifiedClassName.kt
│       │   │   │   ├── ExtensionForProperty.kt
│       │   │   │   ├── ExtensionFunReceiver.kt
│       │   │   │   ├── ExtensionFunReceiverForce.kt
│       │   │   │   ├── ExtensionInsideFunction.kt
│       │   │   │   ├── ExtensionToIntInFloatStyle.kt
│       │   │   │   ├── FromImports.kt
│       │   │   │   ├── FunctionCompletionFormatting.kt
│       │   │   │   ├── InCallExpression.kt
│       │   │   │   ├── InClassInitializer.kt
│       │   │   │   ├── InClassPropertyAccessor.kt
│       │   │   │   ├── InEmptyImport.kt
│       │   │   │   ├── InExpressionNoPrefix.kt
│       │   │   │   ├── InExtendTypeAnnotation.kt
│       │   │   │   ├── InFileWithMultiDeclaration.kt
│       │   │   │   ├── InFileWithTypedef.kt
│       │   │   │   ├── InFunInClassInitializer.kt
│       │   │   │   ├── InGlobalPropertyInitializer.kt
│       │   │   │   ├── InImport.kt
│       │   │   │   ├── InInitializerInPropertyAccessor.kt
│       │   │   │   ├── InLocalObjectDeclaration.kt
│       │   │   │   ├── InLongDotQualifiedExpression.kt
│       │   │   │   ├── InMiddleOfPackage.kt
│       │   │   │   ├── InMiddleOfPackageDirective.kt
│       │   │   │   ├── InObjectInDelegationSpecifier.kt
│       │   │   │   ├── InPackageBegin.kt
│       │   │   │   ├── InParametersTypes.kt
│       │   │   │   ├── InParametersTypesForce.kt
│       │   │   │   ├── InTypeAnnotation.kt
│       │   │   │   ├── JavaPackage.kt
│       │   │   │   ├── LocalMultideclarationValues.kt
│       │   │   │   ├── NamedObject.kt
│       │   │   │   ├── NoClassNameDuplication.kt
│       │   │   │   ├── NoCompletionAfterBigFloat.kt
│       │   │   │   ├── NoCompletionAfterFloat.kt
│       │   │   │   ├── NoCompletionAfterInt.kt
│       │   │   │   ├── NoCompletionAfterLong.kt
│       │   │   │   ├── NoEmptyPackage.kt
│       │   │   │   ├── NoObjectInTypePosition.kt
│       │   │   │   ├── NoTopLevelCompletionInQualifiedUserTypes.kt
│       │   │   │   ├── ObjectRedeclaration1.kt
│       │   │   │   ├── ObjectRedeclaration2.kt
│       │   │   │   ├── OneProposalWithExplicitImport.kt
│       │   │   │   ├── OneWithStarImport.kt
│       │   │   │   ├── OnlyScopedClassesWithoutExplicit.kt
│       │   │   │   ├── OverloadFunctions.kt
│       │   │   │   ├── ShortClassNamesInTypePosition.kt
│       │   │   │   ├── StandardJetArrayFirst.kt
│       │   │   │   ├── StandardJetDoubleFirst.kt
│       │   │   │   ├── SubpackageInFun.kt
│       │   │   │   ├── TopLevelClassCompletionInQualifiedCall.kt
│       │   │   │   ├── VariableClassName.kt
│       │   │   │   ├── VariableWithLowerCase.kt
│       │   │   │   ├── VisibilityClassMembersFromExternal.kt
│       │   │   │   ├── WithCompletedExpression.kt
│       │   │   │   ├── functionWithLowerCase.kt
│       │   │   │   ├── notImportedAnnotation.kt
│       │   │   │   └── visibility/
│       │   │   │       └── VisibilityPrivateToThisWithWrongThis.kt
│       │   │   ├── java/
│       │   │   │   ├── AutoForceCompletion.kt
│       │   │   │   ├── ExtensionFromStandardLibrary.kt
│       │   │   │   ├── InPackage.kt
│       │   │   │   ├── JavaClassNames.kt
│       │   │   │   ├── JavaConstructorsCompletion.kt
│       │   │   │   ├── NoClassNameDuplicationForRuntimeClass.kt
│       │   │   │   ├── NoImportedJavaClassDuplication.kt
│       │   │   │   ├── PropertyMetadata.kt
│       │   │   │   ├── TopLevelFromStandardLibrary.kt
│       │   │   │   └── TopLevelFromStandardLibraryWithoutParam.kt
│       │   │   └── scripts/
│       │   │       ├── absentMainTemplate.kts
│       │   │       ├── argsCompletion.kts
│       │   │       ├── classFromJRE.kts
│       │   │       ├── functionFromStdlib.kts
│       │   │       ├── keywordsCompletion.kts
│       │   │       ├── localDeclarations.kts
│       │   │       └── typeFromRuntime.kts
│       │   ├── handlers/
│       │   │   ├── ExistingSingleBrackets.kt
│       │   │   ├── ExistingSingleBrackets.kt.after
│       │   │   ├── FunctionWithParamOnBracket.kt
│       │   │   ├── FunctionWithParamOnBracket.kt.after
│       │   │   ├── completeNonImported.kt
│       │   │   ├── completeNonImported.kt.after
│       │   │   ├── completeWithExistingBraces.kt
│       │   │   ├── completeWithExistingBraces.kt.after
│       │   │   ├── completeWithExistingBracesOnBrace.kt
│       │   │   ├── completeWithExistingBracesOnBrace.kt.after
│       │   │   ├── completeWithExistingBracesOnDot.kt
│       │   │   ├── completeWithExistingBracesOnDot.kt.after
│       │   │   ├── filterTypesFromSamePackage.dependency.kt
│       │   │   ├── filterTypesFromSamePackage.kt
│       │   │   ├── filterTypesFromSamePackage.kt.after
│       │   │   ├── functionLiteralInsertOnSpace.kt
│       │   │   ├── functionLiteralInsertOnSpace.kt.after
│       │   │   ├── functionWithParamOnDot.kt
│       │   │   ├── functionWithParamOnDot.kt.after
│       │   │   ├── higherOrderFunction.kt
│       │   │   ├── higherOrderFunction.kt.after
│       │   │   ├── higherOrderFunctionWithArgs1.kt
│       │   │   ├── higherOrderFunctionWithArgs1.kt.after
│       │   │   ├── insertFunctionWithBothParentheses.kt
│       │   │   ├── insertFunctionWithBothParentheses.kt.after
│       │   │   ├── insertFunctionWithSingleParameterWithBrace.kt
│       │   │   ├── insertFunctionWithSingleParameterWithBrace.kt.after
│       │   │   ├── insertJavaMethodWithParam.kt
│       │   │   ├── insertJavaMethodWithParam.kt.after
│       │   │   ├── insertVoidJavaMethod.kt
│       │   │   ├── insertVoidJavaMethod.kt.after
│       │   │   ├── noParamsFunction.kt
│       │   │   ├── noParamsFunction.kt.after
│       │   │   ├── nonImportedByCamelCase.kt
│       │   │   ├── nonImportedByCamelCase.kt.after
│       │   │   ├── paramFunctionOnBracket.kt
│       │   │   ├── paramFunctionOnBracket.kt.after
│       │   │   ├── paramFunctionOnDot.kt
│       │   │   ├── paramFunctionOnDot.kt.after
│       │   │   ├── paramsFunction.kt
│       │   │   ├── paramsFunction.kt.after
│       │   │   ├── paramsFunctionOnDot.kt
│       │   │   ├── paramsFunctionOnDot.kt.after
│       │   │   ├── singleBrackets.kt
│       │   │   ├── singleBrackets.kt.after
│       │   │   ├── unitFunctionOnBracket.kt
│       │   │   ├── unitFunctionOnBracket.kt.after
│       │   │   ├── unitFunctionOnDot.kt
│       │   │   ├── unitFunctionOnDot.kt.after
│       │   │   ├── withLambdaAndBraces.kt
│       │   │   ├── withLambdaAndBraces.kt.after
│       │   │   ├── withLambdaAndBracesOnDot.kt
│       │   │   ├── withLambdaAndBracesOnDot.kt.after
│       │   │   ├── withParamsAndBraces.kt
│       │   │   ├── withParamsAndBraces.kt.after
│       │   │   ├── withParamsAndBracesOnBrace.kt
│       │   │   ├── withParamsAndBracesOnBrace.kt.after
│       │   │   ├── withParamsAndBracesOnDot.kt
│       │   │   └── withParamsAndBracesOnDot.kt.after
│       │   ├── keywords/
│       │   │   └── InFunctionTypePosition.kt
│       │   └── relevance/
│       │       ├── byCamelCaseLocal.kt
│       │       ├── byPrefixMatchLocal.kt
│       │       ├── byPrefixWithImported.kt
│       │       ├── localBeforeNonImported.kt
│       │       ├── sortingForLocal.kt
│       │       └── sortingForNonImported.kt
│       ├── diagnostics/
│       │   ├── FunctionCalleeExpressions.kt
│       │   ├── FunctionCalleeExpressions.txt
│       │   ├── annotationAsJavaAnnotationArgument.kt
│       │   ├── constAsJavaAnnotationArgument.kt
│       │   └── resolveConstructor.kt
│       ├── findUsages/
│       │   ├── java/
│       │   │   ├── JKClassAllUsages.0.java
│       │   │   ├── JKClassAllUsages.1.kt
│       │   │   ├── JKClassAllUsages.results.txt
│       │   │   ├── JKClassDerivedAnonymousObjects.0.java
│       │   │   ├── JKClassDerivedAnonymousObjects.1.kt
│       │   │   ├── JKClassDerivedAnonymousObjects.results.txt
│       │   │   ├── JKClassDerivedClasses.0.java
│       │   │   ├── JKClassDerivedClasses.1.kt
│       │   │   ├── JKClassDerivedClasses.results.txt
│       │   │   ├── JKClassDerivedInnerClasses.0.java
│       │   │   ├── JKClassDerivedInnerClasses.1.kt
│       │   │   ├── JKClassDerivedInnerClasses.results.txt
│       │   │   ├── JKClassDerivedInnerObjects.0.java
│       │   │   ├── JKClassDerivedInnerObjects.1.kt
│       │   │   ├── JKClassDerivedInnerObjects.results.txt
│       │   │   ├── JKClassDerivedLocalClasses.0.java
│       │   │   ├── JKClassDerivedLocalClasses.1.kt
│       │   │   ├── JKClassDerivedLocalClasses.results.txt
│       │   │   ├── JKClassDerivedLocalObjects.0.java
│       │   │   ├── JKClassDerivedLocalObjects.1.kt
│       │   │   ├── JKClassDerivedLocalObjects.results.txt
│       │   │   ├── JKClassDerivedObjects.0.java
│       │   │   ├── JKClassDerivedObjects.1.kt
│       │   │   ├── JKClassDerivedObjects.results.txt
│       │   │   ├── JKClassWithImplicitConstructorAllUsages.0.java
│       │   │   ├── JKClassWithImplicitConstructorAllUsages.1.kt
│       │   │   ├── JKClassWithImplicitConstructorAllUsages.results.txt
│       │   │   ├── JKDerivedInterfaces.0.java
│       │   │   ├── JKDerivedInterfaces.1.kt
│       │   │   ├── JKDerivedInterfaces.results.txt
│       │   │   ├── JKNestedClassAllUsages.0.java
│       │   │   ├── JKNestedClassAllUsages.1.kt
│       │   │   └── JKNestedClassAllUsages.results.txt
│       │   └── kotlin/
│       │       ├── findFunctionUsages/
│       │       │   ├── javaMethodUsages.0.kt
│       │       │   ├── javaMethodUsages.1.java
│       │       │   ├── javaMethodUsages.results.txt
│       │       │   ├── kotlinMethodUsages.0.kt
│       │       │   ├── kotlinMethodUsages.1.kt
│       │       │   ├── kotlinMethodUsages.results.txt
│       │       │   ├── kotlinMultiRefInImport.0.kt
│       │       │   ├── kotlinMultiRefInImport.1.kt
│       │       │   └── kotlinMultiRefInImport.results.txt
│       │       ├── findObjectUsages/
│       │       │   ├── javaObjectUsages.0.kt
│       │       │   ├── javaObjectUsages.1.java
│       │       │   ├── javaObjectUsages.results.txt
│       │       │   ├── kotlinNestedObjectUsages.0.kt
│       │       │   ├── kotlinNestedObjectUsages.1.kt
│       │       │   ├── kotlinNestedObjectUsages.results.txt
│       │       │   ├── kotlinObjectUsages.0.kt
│       │       │   ├── kotlinObjectUsages.1.kt
│       │       │   └── kotlinObjectUsages.results.txt
│       │       ├── findPrimaryConstructorUsages/
│       │       │   ├── primaryConstructorByRef.0.kt
│       │       │   ├── primaryConstructorByRef.results.txt
│       │       │   ├── primaryConstructorWithKeyword.0.kt
│       │       │   └── primaryConstructorWithKeyword.results.txt
│       │       └── findPropertyUsages/
│       │           ├── kotlinTopLevelPropertyUsages.0.kt
│       │           ├── kotlinTopLevelPropertyUsages.1.kt
│       │           ├── kotlinTopLevelPropertyUsages.2.java
│       │           └── kotlinTopLevelPropertyUsages.results.txt
│       ├── format/
│       │   ├── autoIndent/
│       │   │   ├── afterFunCallInScript.after.kts
│       │   │   ├── afterFunCallInScript.kts
│       │   │   ├── afterOneOpenBrace.after.kt
│       │   │   ├── afterOneOpenBrace.kt
│       │   │   ├── afterOpenBraceWithShift.after.kt
│       │   │   ├── afterOpenBraceWithShift.kt
│       │   │   ├── afterOperatorIfWithoutBraces.after.kt
│       │   │   ├── afterOperatorIfWithoutBraces.kt
│       │   │   ├── afterOperatorWhileWithoutBraces.after.kt
│       │   │   ├── afterOperatorWhileWithoutBraces.kt
│       │   │   ├── beforeCloseBrace.after.kt
│       │   │   ├── beforeCloseBrace.kt
│       │   │   ├── beforeFunctionStart.after.kt
│       │   │   ├── beforeFunctionStart.kt
│       │   │   ├── betweenBracesOnDifferentLine.after.kt
│       │   │   ├── betweenBracesOnDifferentLine.kt
│       │   │   ├── betweenBracesOnOneLine.after.kt
│       │   │   ├── betweenBracesOnOneLine.kt
│       │   │   ├── betweenBracesWithSpacesAtStart.after.kt
│       │   │   ├── betweenBracesWithSpacesAtStart.kt
│       │   │   ├── betweenBracesWithSpacesEnd1.after.kt
│       │   │   ├── betweenBracesWithSpacesEnd1.kt
│       │   │   ├── betweenBracesWithSpacesEnd2.after.kt
│       │   │   ├── betweenBracesWithSpacesEnd2.kt
│       │   │   ├── betweenBracesWithSpacesMiddle.after.kt
│       │   │   ├── betweenBracesWithSpacesMiddle.kt
│       │   │   ├── breakLineAfterIfWithoutBraces.after.kt
│       │   │   ├── breakLineAfterIfWithoutBraces.kt
│       │   │   ├── continuationAfterDotCall.after.kt
│       │   │   ├── continuationAfterDotCall.kt
│       │   │   ├── continuationBeforeFunName.after.kt
│       │   │   ├── continuationBeforeFunName.kt
│       │   │   ├── indentBeforeWhile.after.kt
│       │   │   ├── indentBeforeWhile.kt
│       │   │   ├── lineBreakSaveIndent.after.kt
│       │   │   ├── lineBreakSaveIndent.kt
│       │   │   ├── nestedOperatorsWithBraces.after.kt
│       │   │   ├── nestedOperatorsWithBraces.kt
│       │   │   ├── nestedOperatorsWithoutBraces.after.kt
│       │   │   ├── nestedOperatorsWithoutBraces.kt
│       │   │   ├── newLineInParameters1.after.kt
│       │   │   ├── newLineInParameters1.kt
│       │   │   ├── newLineInParameters2.after.kt
│       │   │   ├── newLineInParameters2.kt
│       │   │   ├── sampleTest.after.kt
│       │   │   └── sampleTest.kt
│       │   ├── blockCommentBeforeDeclaration.kt
│       │   ├── blockCommentBeforeDeclaration.kt.after
│       │   ├── classesAndPropertiesFormatTest.kt
│       │   ├── classesAndPropertiesFormatTest.kt.after
│       │   ├── commentOnTheLastLineOfLambda.kt
│       │   ├── commentOnTheLastLineOfLambda.kt.after
│       │   ├── formatScriptFile.kts
│       │   ├── formatScriptFile.kts.after
│       │   ├── formatSelection.kt
│       │   ├── formatSelection.kt.after
│       │   ├── indentInDoWhile.kt
│       │   ├── indentInDoWhile.kt.after
│       │   ├── indentInIfExpressionBlock.kt
│       │   ├── indentInIfExpressionBlock.kt.after
│       │   ├── indentInPropertyAccessor.kt
│       │   ├── indentInPropertyAccessor.kt.after
│       │   ├── indentInWhenEntry.kt
│       │   ├── indentInWhenEntry.kt.after
│       │   ├── initIndent.kt
│       │   ├── initIndent.kt.after
│       │   ├── lambdaInBlock.kt
│       │   ├── lambdaInBlock.kt.after
│       │   ├── newLineAfterImportsAndPackage.kt
│       │   ├── newLineAfterImportsAndPackage.kt.after
│       │   ├── objectsAndLocalFunctionsFormatTest.kt
│       │   ├── objectsAndLocalFunctionsFormatTest.kt.after
│       │   ├── packageFunctionsFormatTest.kt
│       │   ├── packageFunctionsFormatTest.kt.after
│       │   ├── respectCaretAfterFormatting.kt
│       │   ├── respectCaretAfterFormatting.kt.after
│       │   ├── withBlockComments.kt
│       │   ├── withBlockComments.kt.after
│       │   ├── withJavaDoc.kt
│       │   ├── withJavaDoc.kt.after
│       │   ├── withLineComments.kt
│       │   ├── withLineComments.kt.after
│       │   ├── withMutableVariable.kt
│       │   ├── withMutableVariable.kt.after
│       │   ├── withWhitespaceBeforeBrace.kt
│       │   ├── withWhitespaceBeforeBrace.kt.after
│       │   ├── withoutComments.kt
│       │   └── withoutComments.kt.after
│       ├── highlighting/
│       │   ├── basic/
│       │   │   ├── blockComment.kt
│       │   │   ├── forKeyword.kt
│       │   │   ├── function.kt
│       │   │   ├── getterSetter.kt
│       │   │   ├── highlightCompanionObject.kt
│       │   │   ├── importKeyword.kt
│       │   │   ├── inKeyword.kt
│       │   │   ├── interfaceKeyword.kt
│       │   │   ├── kdocBasic.kt
│       │   │   ├── kdocWithEmptyLines.kt
│       │   │   ├── kdocWithMyTag.kt
│       │   │   ├── kdocWithParam.kt
│       │   │   ├── kdocWithProperty.kt
│       │   │   ├── kdocWithSee.kt
│       │   │   ├── kdocWithThrows.kt
│       │   │   ├── kdocWithoutLeadingAsterisk.kt
│       │   │   ├── keywordWithText.kt
│       │   │   ├── openKeyword.kt
│       │   │   ├── singleLineComment.kt
│       │   │   ├── softImportKeyword.kt
│       │   │   ├── softKeywords.kt
│       │   │   ├── stringInterpolation.kt
│       │   │   ├── stringToken.kt
│       │   │   ├── textWithTokenBetween.kt
│       │   │   ├── textWithTokenInPrefix.kt
│       │   │   └── textWithTokenInSuffix.kt
│       │   └── positionUpdater/
│       │       ├── afterFunctionName.kt
│       │       ├── afterFunctionName.kt.after
│       │       ├── afterHighlightedPosition.kt
│       │       ├── afterHighlightedPosition.kt.after
│       │       ├── beforeFunctionName.kt
│       │       ├── beforeFunctionName.kt.after
│       │       ├── beforeHighlightedPosition.kt
│       │       ├── beforeHighlightedPosition.kt.after
│       │       ├── illegalCharactersAfter.kt
│       │       ├── illegalCharactersAfter.kt.after
│       │       ├── illegalCharactersBefore.kt
│       │       ├── illegalCharactersBefore.kt.after
│       │       ├── illegalCharactersBeforeHighlightedPosition.kt
│       │       ├── illegalCharactersBeforeHighlightedPosition.kt.after
│       │       ├── insideHighlightedPosition.kt
│       │       └── insideHighlightedPosition.kt.after
│       ├── ide_analyzer/
│       │   ├── analyzerHasKotlinAnnotations.kt
│       │   ├── analyzerHasKotlinRuntime.kt
│       │   ├── checkAnalyzerFoundError.kt
│       │   ├── checkExistancePackageLevelFunctions/
│       │   │   ├── Bar.kt
│       │   │   ├── Baz.kt
│       │   │   └── Foo.java
│       │   ├── checkTestsFoundJavaError/
│       │   │   └── J1.java
│       │   ├── companionObjectFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── javaFromKotlin/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── kotlinFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── kotlinInPackageFromJava/
│       │   │   ├── J1.java
│       │   │   └── K1.kt
│       │   ├── kotlinJavaKotlin/
│       │   │   ├── J1.java
│       │   │   ├── K1.kt
│       │   │   └── K2.kt
│       │   ├── kotlinWithErrorsFromJava/
│       │   │   ├── J1.java
│       │   │   └── K1.kt
│       │   ├── packageLevelFunctionsFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   ├── packageLevelPropertiesFromJava/
│       │   │   ├── Bar.kt
│       │   │   └── Foo.java
│       │   └── unresolvedPackageType/
│       │       ├── Bar.kt
│       │       └── Baz.kt
│       ├── intentions/
│       │   ├── changeReturnType/
│       │   │   ├── changeReturnTypeInScript.kts
│       │   │   ├── changeReturnTypeInScript.kts.after
│       │   │   ├── typeMismatchInReturnLambda.kt
│       │   │   ├── typeMismatchInReturnLambda.kt.after
│       │   │   ├── typeMismatchInReturnLambdaWithLabel.kt
│       │   │   └── typeMismatchInReturnLambdaWithLabel.kt.after
│       │   ├── convertToBlockBody/
│       │   │   ├── implicitlyNonUnitFun.kt
│       │   │   └── implicitlyNonUnitFun.kt.after
│       │   ├── convertToExpressionBody/
│       │   │   ├── anonymousObjectExpression.kt
│       │   │   ├── anonymousObjectExpression.kt.after
│       │   │   ├── funWithImplicitUnitTypeWithThrow.kt
│       │   │   ├── funWithImplicitUnitTypeWithThrow.kt.after
│       │   │   ├── funWithNothingType.kt
│       │   │   ├── funWithNothingType.kt.after
│       │   │   ├── funWithReturn.kt
│       │   │   ├── funWithReturn.kt.after
│       │   │   ├── funWithUnitTypeWithThrow.kt
│       │   │   └── funWithUnitTypeWithThrow.kt.after
│       │   ├── implementMethods/
│       │   │   ├── implementMethodInScript.kts
│       │   │   └── implementMethodInScript.kts.after
│       │   ├── replaceGetOrSet/
│       │   │   ├── replaceGetInScript.kts
│       │   │   └── replaceGetInScript.kts.after
│       │   └── specifyType/
│       │       ├── ClassNameClashing.kt
│       │       ├── ClassNameClashing.kt.after
│       │       ├── StringRedefined.kt
│       │       └── StringRedefined.kt.after
│       ├── launch/
│       │   └── junit/
│       │       ├── RunTestExtendingTestCase.kt
│       │       └── SimpleJUnitTests.kt
│       ├── markers/
│       │   └── parsing/
│       │       ├── classDefinitionTypoErrorTest.kt
│       │       ├── classDefinitionTypoErrorTest.kt.after
│       │       ├── excessBraceTypingErrorTest.kt
│       │       ├── excessBraceTypingErrorTest.kt.after
│       │       ├── missingClosingBraceErrorTest.kt
│       │       ├── missingClosingBraceErrorTest.kt.after
│       │       ├── missingFunctionBodyErrorTest.kt
│       │       └── missingFunctionBodyErrorTest.kt.after
│       ├── navigation/
│       │   ├── fromGetterSyntheticProperty/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── fromSetterSyntheticProperty/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── fromSyntheticPropertyOnlyWithGetter/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── javaToKotlin/
│       │   │   ├── specifiedPackageLevelFunction/
│       │   │   │   ├── Bar.kt
│       │   │   │   ├── Baz.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toBasicProperty/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toBasicTopLevelProperty/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toCompanionObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFilePart/
│       │   │   │   ├── Baz.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunInBaseClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInEnumClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInFilePart/
│       │   │   │   ├── Baz.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInInnerClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionInObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithExistingConstructorEqualSignature/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithExistingEqualSignature/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithNameDuplicate/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithNameDuplicateInClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toFunctionWithPlatformName/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toInnerKotlinClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toInnerKotlinEnumClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toInnerKotlinEnumEntry/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinClassInPackage/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinEnumClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinEnumEntry/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinFunction/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinFunctionInCompanion/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinSuperClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toKotlinTopLevelFunction/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMethodWithDefaultArg/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMutablePropertyFromGetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMutablePropertyFromSetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toMutablePropertyInCompanion/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toNamedCompanionObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toNestedCompanionObject/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toObjectInstance/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toOverloadMethod1/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toOverloadMethod2/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toOverridenProperty/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toParametrizedClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toParametrizedFunction/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toParametrizedFunctionWithOverload/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPrimaryConstructor/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyInBaseClass/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyInCompanion/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyWithGetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toPropertyWithSetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toSecondaryConstructor1/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toSecondaryConstructor2/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   ├── toTopLevelPropertyWithGetter/
│       │   │   │   ├── Bar.kt.after
│       │   │   │   └── Foo.java.before
│       │   │   └── toTopLevelPropertyWithSetter/
│       │   │       ├── Bar.kt.after
│       │   │       └── Foo.java.before
│       │   ├── scripts/
│       │   │   └── basic/
│       │   │       ├── toFunction.kts
│       │   │       ├── toFunction.kts.after
│       │   │       ├── toVariable.kts
│       │   │       └── toVariable.kts.after
│       │   ├── toJavaClassNavigation/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── toJavaGetterMethod/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── toJavaMethodNavigation/
│       │   │   ├── Bar.kt.before
│       │   │   └── Foo.java.after
│       │   ├── toKotlinClassNavigation/
│       │   │   ├── Bar.kt
│       │   │   ├── Baz.kt.before
│       │   │   └── Foo.kt.after
│       │   ├── toKotlinMethodNavigation/
│       │   │   ├── Bar.kt
│       │   │   ├── Baz.kt.before
│       │   │   └── Foo.kt.after
│       │   ├── withinFileFromConstructorToClassNavigation.kt
│       │   ├── withinFileFromConstructorToClassNavigation.kt.after
│       │   ├── withinFileToClassNavigation.kt
│       │   ├── withinFileToClassNavigation.kt.after
│       │   ├── withinFileToMethodNavigation.kt
│       │   └── withinFileToMethodNavigation.kt.after
│       ├── organizeImports/
│       │   ├── doNotInsertLinesForNoErrors.kt
│       │   ├── doNotInsertLinesForNoErrors.kt.after
│       │   ├── importOneClass.kt
│       │   ├── importOneClass.kt.after
│       │   ├── importSeveralClasses.kt
│       │   ├── importSeveralClasses.kt.after
│       │   ├── importSeveralClassesWithExistingPackage.kt
│       │   ├── importSeveralClassesWithExistingPackage.kt.after
│       │   └── includeImportsOnlyFromActiveFile/
│       │       ├── Bar.kt
│       │       ├── Bar.kt.after
│       │       └── Baz.kt
│       ├── refactoring/
│       │   └── rename/
│       │       ├── automaticRenamer/
│       │       │   ├── after/
│       │       │   │   ├── JavaFoo.java
│       │       │   │   ├── lib.kt
│       │       │   │   └── main.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaFoo.java
│       │       │   │   ├── lib.kt
│       │       │   │   └── main.kt
│       │       │   └── simple.test
│       │       ├── renameJavaClass/
│       │       │   ├── after/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── NewName.java
│       │       │   ├── before/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── SomeClass.java
│       │       │   └── renameJavaClass.test
│       │       ├── renameJavaClassSamePackage/
│       │       │   ├── after/
│       │       │   │   ├── RenameJavaClassSamePackage.kt
│       │       │   │   └── testing/
│       │       │   │       └── NewName.java
│       │       │   ├── before/
│       │       │   │   ├── RenameJavaClassSamePackage.kt
│       │       │   │   └── testing/
│       │       │   │       └── SomeClass.java
│       │       │   └── renameJavaClassSamePackage.test
│       │       ├── renameJavaInterface/
│       │       │   ├── after/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── NewInterface.java
│       │       │   ├── before/
│       │       │   │   ├── RenameJavaClass.kt
│       │       │   │   └── testing/
│       │       │   │       └── SomeInterface.java
│       │       │   └── renameJavaInterface.test
│       │       ├── renameJavaMethod/
│       │       │   ├── after/
│       │       │   │   ├── MethodUsages.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClass.java
│       │       │   ├── before/
│       │       │   │   ├── MethodUsages.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClass.java
│       │       │   ├── javaBaseMethod.test
│       │       │   └── kotlinOverridenMethod.test
│       │       ├── renameJavaStaticMethod/
│       │       │   ├── after/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   ├── before/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   └── renameJavaStaticMethod.test
│       │       ├── renameKotlinBaseMethod/
│       │       │   ├── after/
│       │       │   │   ├── RenameKotlinBaseMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── before/
│       │       │   │   ├── RenameKotlinBaseMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── javaWrapperForBaseFunction.test
│       │       │   ├── javaWrapperForOverridenFunctionWithKotlinBase.test
│       │       │   └── kotlinBaseFunction.test
│       │       ├── renameKotlinClass/
│       │       │   ├── after/
│       │       │   │   ├── RenameKotlinClass.kt
│       │       │   │   ├── Second.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── before/
│       │       │   │   ├── RenameKotlinClass.kt
│       │       │   │   ├── Second.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── javaWrapperForKotlinClass.test
│       │       │   └── kotlinClass.test
│       │       ├── renameKotlinClassByConstructorRef/
│       │       │   ├── after/
│       │       │   │   └── main.kt
│       │       │   ├── before/
│       │       │   │   └── main.kt
│       │       │   └── renameKotlinClassByConstructorRef.test
│       │       ├── renameKotlinClassFromJava/
│       │       │   ├── after/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   └── renameKotlinClassFromJava.test
│       │       ├── renameKotlinMethod/
│       │       │   ├── after/
│       │       │   │   ├── RenameKotlinMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── before/
│       │       │   │   ├── RenameKotlinMethod.kt
│       │       │   │   └── testing/
│       │       │   │       └── JavaClient.java
│       │       │   ├── javaWrapperForKotlinMethod.test
│       │       │   └── renameKotlinMethod.test
│       │       ├── renameKotlinMethodFromJava/
│       │       │   ├── after/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   └── renameKotlinMethodFromJava.test
│       │       ├── renameKotlinTopLevelFun/
│       │       │   ├── after/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   ├── before/
│       │       │   │   ├── Some.kt
│       │       │   │   └── SomeJava.java
│       │       │   └── renameKotlinTopLevelFun.test
│       │       ├── renameKotlinTopLevelFunFromJava/
│       │       │   ├── after/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   ├── before/
│       │       │   │   ├── JavaUsage.java
│       │       │   │   └── KotlinCls.kt
│       │       │   └── renameKotlinTopLevelFunFromJava.test
│       │       ├── scripts/
│       │       │   ├── renameClassInScript/
│       │       │   │   ├── after/
│       │       │   │   │   └── main.kts
│       │       │   │   ├── before/
│       │       │   │   │   └── main.kts
│       │       │   │   └── info.test
│       │       │   ├── renameFunctionInScript/
│       │       │   │   ├── after/
│       │       │   │   │   └── main.kts
│       │       │   │   ├── before/
│       │       │   │   │   └── main.kts
│       │       │   │   └── info.test
│       │       │   ├── renameInScriptLocally/
│       │       │   │   ├── after/
│       │       │   │   │   ├── main.kts
│       │       │   │   │   └── other.kts
│       │       │   │   ├── before/
│       │       │   │   │   ├── main.kts
│       │       │   │   │   └── other.kts
│       │       │   │   └── info.test
│       │       │   └── renamePropertyInScript/
│       │       │       ├── after/
│       │       │       │   └── main.kts
│       │       │       ├── before/
│       │       │       │   └── main.kts
│       │       │       └── info.test
│       │       └── simple/
│       │           ├── after/
│       │           │   └── main.kt
│       │           ├── before/
│       │           │   └── main.kt
│       │           └── info.test
│       ├── scripts/
│       │   └── templates/
│       │       ├── customEPResolver.kts
│       │       ├── sample.testDef.kts
│       │       ├── sampleEx.testDef.kts
│       │       └── standard.kts
│       └── wordSelection/
│           ├── selectEnclosing/
│           │   ├── DocComment/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── ForRange/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── FunctionWithLineCommentAfter/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── FunctionWithLineCommentBefore/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── IfBody/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   └── 5.kt
│           │   ├── IfCondition/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── LineComment/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ShiftOnWhitespace/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   ├── SimpleComment/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   ├── SimpleStringLiteral/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── SimpleStringLiteral2/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── Statements/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── StatementsWithWindowsDelimiter/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── TemplateStringLiteral1/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── TemplateStringLiteral2/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── TemplateStringLiteral3/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   └── 5.kt
│           │   ├── TypeArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── TypeParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ValueArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ValueParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── WhenEntries/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── WholeFileSelection/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   └── selectEnclosingFunctionNameWithoutSelection/
│           │       ├── 0.kt
│           │       ├── 1.kt
│           │       ├── 2.kt
│           │       ├── 3.kt
│           │       ├── 4.kt
│           │       ├── 5.kt
│           │       └── 6.kt
│           ├── selectNext/
│           │   ├── BlockStatements/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── BlockStatementsWithWindowsDelimiter/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   ├── 7.kt
│           │   │   ├── 8.kt
│           │   │   └── 9.kt
│           │   ├── Classes/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── DocComment/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── FunctionWithLineComments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   └── 4.kt
│           │   ├── Functions/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── Imports/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   ├── 5.kt
│           │   │   ├── 6.kt
│           │   │   └── 7.kt
│           │   ├── NonTraversableElement/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ShiftOnWhitespace/
│           │   │   ├── 0.kt
│           │   │   └── 1.kt
│           │   ├── TemplateStringLiteral/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   ├── 3.kt
│           │   │   ├── 4.kt
│           │   │   └── 5.kt
│           │   ├── TypeArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── TypeParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   └── 2.kt
│           │   ├── ValueArguments/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   ├── ValueParameters/
│           │   │   ├── 0.kt
│           │   │   ├── 1.kt
│           │   │   ├── 2.kt
│           │   │   └── 3.kt
│           │   └── WholeFile/
│           │       ├── 0.kt
│           │       └── 1.kt
│           └── selectPrevious/
│               ├── BlockStatements/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   ├── 5.kt
│               │   ├── 6.kt
│               │   ├── 7.kt
│               │   ├── 8.kt
│               │   └── 9.kt
│               ├── BlockStatementsWithWindowsDelimiter/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   ├── 5.kt
│               │   ├── 6.kt
│               │   ├── 7.kt
│               │   ├── 8.kt
│               │   └── 9.kt
│               ├── Classes/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   └── 4.kt
│               ├── DocComment/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   └── 4.kt
│               ├── FunctionWithLineComments/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   └── 4.kt
│               ├── Functions/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   └── 2.kt
│               ├── Imports/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   ├── 5.kt
│               │   ├── 6.kt
│               │   └── 7.kt
│               ├── NonTraversableElement/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   └── 2.kt
│               ├── ShiftOnWhitespace/
│               │   ├── 0.kt
│               │   └── 1.kt
│               ├── TemplateStringLiteral/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   ├── 3.kt
│               │   ├── 4.kt
│               │   └── 5.kt
│               ├── TypeArguments/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               ├── TypeParameters/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               ├── ValueArguments/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               ├── ValueParameters/
│               │   ├── 0.kt
│               │   ├── 1.kt
│               │   ├── 2.kt
│               │   └── 3.kt
│               └── WholeFile/
│                   ├── 0.kt
│                   └── 1.kt
├── kotlin-weaving-feature/
│   ├── build.properties
│   ├── feature.xml
│   └── pom.xml
├── maven-build/
│   ├── maven-build-install-offline.launch
│   ├── maven-build-install.launch
│   └── maven-update-version.launch
├── pom.xml
└── publish-new-version.md
Download .txt
Showing preview only (209K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2766 symbols across 264 files)

FILE: kotlin-bundled-compiler/src/com/intellij/codeInsight/CodeInsightBundle.java
  class CodeInsightBundle (line 3) | public class CodeInsightBundle {
    method message (line 4) | public static String message(String key, Object... params) {

FILE: kotlin-bundled-compiler/src/com/intellij/codeInsight/actions/ReformatCodeProcessor.java
  class ReformatCodeProcessor (line 3) | public class ReformatCodeProcessor {
    method getCommandName (line 6) | public static String getCommandName() {

FILE: kotlin-bundled-compiler/src/com/intellij/codeInsight/generation/GenerateEqualsHelper.java
  class GenerateEqualsHelper (line 14) | public class GenerateEqualsHelper {
    method getEqualsSignature (line 15) | public static MethodSignature getEqualsSignature(Project project, Glob...

FILE: kotlin-bundled-compiler/src/com/intellij/openapi/editor/Editor.java
  class Editor (line 3) | public class Editor {

FILE: kotlin-bundled-compiler/src/com/intellij/openapi/fileTypes/StdFileTypes.java
  class StdFileTypes (line 3) | public class StdFileTypes {

FILE: kotlin-bundled-compiler/src/com/intellij/openapi/util/text/StringUtil.java
  class StringUtil (line 29) | @SuppressWarnings("MethodOverridesStaticMethodOfSuperclass")
    method replaceSubSequence (line 39) | @NotNull
    method internEmptyString (line 46) | @Contract(value = "null -> null; !null->!null", pure = true)
    class MyHtml2Text (line 51) | private static class MyHtml2Text extends HTMLEditorKit.ParserCallback {
      method MyHtml2Text (line 57) | private MyHtml2Text(boolean isSkipStyleTag) {
      method parse (line 61) | public void parse(@NotNull Reader in) throws IOException {
      method handleText (line 66) | @Override
      method handleStartTag (line 73) | @Override
      method handleEndTag (line 81) | @Override
      method handleSimpleTag (line 88) | @Override
      method handleTag (line 93) | private void handleTag(@NotNull HTML.Tag tag) {
      method getText (line 99) | @NotNull
    method fun (line 108) | @Override
    method fun (line 116) | @Override
    method getWordsInStringLongestFirst (line 123) | @NotNull
    method escapePattern (line 137) | @NotNull
    method createToStringFunction (line 143) | @NotNull
    method fun (line 156) | @Nullable
    method replace (line 165) | @NotNull
    method replaceIgnoreCase (line 171) | @NotNull
    method replaceChar (line 180) | @NotNull
    method replace (line 187) | @Contract(pure = true)
    method indexOfIgnoreCase (line 220) | @Contract(pure = true)
    method indexOfIgnoreCase (line 228) | @Contract(pure = true)
    method indexOfIgnoreCase (line 272) | @Contract(pure = true)
    method lastIndexOfIgnoreCase (line 284) | @Contract(pure = true)
    method containsIgnoreCase (line 295) | @Contract(pure = true)
    method endsWithIgnoreCase (line 300) | @Contract(pure = true)
    method startsWithIgnoreCase (line 305) | @Contract(pure = true)
    method stripHtml (line 310) | @Contract(pure = true)
    method toLowerCase (line 320) | @Contract(value = "null -> null; !null -> !null", pure = true)
    method getPackageName (line 325) | @NotNull
    method getPackageName (line 343) | @NotNull
    method getLineBreakCount (line 353) | @Contract(pure = true)
    method containsLineBreak (line 372) | @Contract(pure = true)
    method isLineBreak (line 381) | @Contract(pure = true)
    method escapeLineBreak (line 386) | @NotNull
    method endsWithLineBreak (line 406) | @Contract(pure = true)
    method lineColToOffset (line 412) | @Contract(pure = true)
    method offsetToLineNumber (line 433) | @Contract(pure = true)
    method offsetToLineColumn (line 439) | @Contract(pure = true)
    method difference (line 467) | @Contract(pure = true)
    method wordsToBeginFromUpperCase (line 489) | @NotNull
    method wordsToBeginFromLowerCase (line 495) | @NotNull
    method toTitleCase (line 501) | @NotNull
    method fixCapitalization (line 507) | @NotNull
    method isPreposition (line 544) | @Contract(pure = true)
    method isPreposition (line 549) | @Contract(pure = true)
    method escaper (line 568) | @NotNull
    method escapeStringCharacters (line 583) | public static void escapeStringCharacters(int length, @NotNull String ...
    method escapeStringCharacters (line 587) | @NotNull
    method escapeStringCharacters (line 595) | @NotNull
    method escapeStringCharacters (line 604) | @NotNull
    method isPrintableUnicode (line 660) | @Contract(pure = true)
    method escapeStringCharacters (line 667) | @NotNull
    method escapeCharCharacters (line 675) | @NotNull
    method unescapeStringCharacters (line 683) | @NotNull
    method isQuoteAt (line 691) | private static boolean isQuoteAt(@NotNull String s, int ind) {
    method isQuotedString (line 696) | @Contract(pure = true)
    method unquoteString (line 701) | @NotNull
    method unescapeStringCharacters (line 707) | private static void unescapeStringCharacters(int length, @NotNull Stri...
    method capitalizeWords (line 813) | @NotNull
    method capitalizeWords (line 820) | @NotNull
    method decapitalize (line 842) | @NotNull
    method isVowel (line 848) | @Contract(pure = true)
    method capitalize (line 856) | @NotNull
    method isCapitalized (line 867) | @Contract(value = "null -> false", pure = true)
    method capitalizeWithJavaBeanConvention (line 872) | @NotNull
    method stringHashCode (line 881) | @Contract(pure = true)
    method stringHashCode (line 891) | @Contract(pure = true)
    method stringHashCode (line 900) | @Contract(pure = true)
    method stringHashCodeInsensitive (line 909) | @Contract(pure = true)
    method stringHashCodeInsensitive (line 918) | @Contract(pure = true)
    method stringHashCodeInsensitive (line 927) | @Contract(pure = true)
    method stringHashCodeIgnoreWhitespaces (line 932) | @Contract(pure = true)
    method stringHashCodeIgnoreWhitespaces (line 944) | @Contract(pure = true)
    method stringHashCodeIgnoreWhitespaces (line 956) | @Contract(pure = true)
    method startsWithConcatenation (line 964) | @Contract(pure = true)
    method trim (line 977) | @Contract(value = "null -> null; !null -> !null", pure = true)
    method trimEnd (line 982) | @NotNull
    method trimEnd (line 988) | @NotNull
    method trimEnd (line 998) | @NotNull
    method trimLog (line 1007) | @NotNull
    method trimLeading (line 1016) | @NotNull
    method trimLeading (line 1021) | @NotNull
    method trimLeading (line 1029) | @NotNull
    method trimLeading (line 1037) | @NotNull
    method trimTrailing (line 1045) | @NotNull
    method trimTrailing (line 1051) | @NotNull
    method trimTrailing (line 1059) | @NotNull
    method trimTrailing (line 1067) | @NotNull
    method startsWithChar (line 1075) | @Contract(pure = true)
    method endsWithChar (line 1080) | @Contract(pure = true)
    method trimStart (line 1085) | @NotNull
    method trimExtensions (line 1094) | @NotNull
    method repeatSymbol (line 1108) | public static void repeatSymbol(@NotNull Appendable buffer, char symbo...
    method defaultIfEmpty (line 1120) | @Contract(pure = true)
    method isNotEmpty (line 1125) | @Contract(value = "null -> false", pure = true)
    method isEmpty (line 1130) | @Contract(value = "null -> true", pure = true)
    method isEmpty (line 1135) | @Contract(value = "null -> true",pure = true)
    method length (line 1140) | @Contract(pure = true)
    method notNullize (line 1145) | @NotNull
    method notNullize (line 1151) | @NotNull
    method nullize (line 1157) | @Nullable
    method nullize (line 1163) | @Nullable
    method isEmptyOrSpaces (line 1170) | @Contract(value = "null -> true",pure = true)
    method isEmptyOrSpaces (line 1176) | @Contract(value = "null -> true", pure = true)
    method isWhiteSpace (line 1187) | @Contract(pure = true)
    method getThrowableText (line 1192) | @NotNull
    method repeatSymbol (line 1198) | @NotNull
    method repeat (line 1206) | @NotNull
    method split (line 1217) | @NotNull
    method split (line 1222) | @NotNull
    method split (line 1228) | @NotNull
    method split (line 1234) | @NotNull
    method split (line 1241) | @NotNull
    method tokenize (line 1265) | @NotNull
    method tokenize (line 1293) | @NotNull
    method getWordsIn (line 1324) | @NotNull
    method getWordIndicesIn (line 1355) | @NotNull
    method getWordIndicesIn (line 1367) | @NotNull
    method join (line 1389) | @NotNull
    method join (line 1395) | @NotNull
    method zip (line 1406) | @NotNull
    method surround (line 1419) | @NotNull
    method join (line 1429) | @NotNull
    method join (line 1435) | @NotNull
    method join (line 1445) | @Contract(pure = true)
    method join (line 1457) | @NotNull
    method join (line 1467) | public static <T> void join(@NotNull Iterable<? extends T> items,
    method join (line 1486) | @NotNull
    method join (line 1497) | public static void join(@NotNull Collection<String> strings, @NotNull ...
    method join (line 1512) | @NotNull
    method join (line 1523) | @NotNull
    method stripQuotesAroundValue (line 1541) | @NotNull
    method formatDuration (line 1556) | @NotNull
    method formatDuration (line 1566) | @NotNull
    method containsAlphaCharacters (line 1599) | @Contract(pure = true)
    method containsAnyChar (line 1607) | @Contract(pure = true)
    method containsAnyChar (line 1614) | @Contract(pure = true)
    method containsChar (line 1627) | @Contract(pure = true)
    method firstLetterToUpperCase (line 1635) | @Deprecated
    method strip (line 1656) | @NotNull
    method findMatches (line 1669) | @NotNull
    method findMatches (line 1675) | @NotNull
    method findFirst (line 1696) | @Contract(pure = true)
    method replaceSubstring (line 1707) | @NotNull
    method startsWithWhitespace (line 1713) | @Contract(pure = true)
    method isChar (line 1718) | @Contract(pure = true)
    method startsWith (line 1723) | @Contract(pure = true)
    method startsWith (line 1736) | @Contract(pure = true)
    method endsWith (line 1753) | @Contract(pure = true)
    method commonPrefix (line 1766) | @NotNull
    method commonPrefixLength (line 1772) | @Contract(pure = true)
    method commonPrefixLength (line 1777) | @Contract(pure = true)
    method commonSuffix (line 1789) | @NotNull
    method commonSuffixLength (line 1795) | @Contract(pure = true)
    method contains (line 1819) | @Contract(pure = true)
    method containsWhitespaces (line 1824) | @Contract(pure = true)
    method indexOf (line 1834) | @Contract(pure = true)
    method indexOf (line 1839) | @Contract(pure = true)
    method indexOf (line 1844) | @Contract(pure = true)
    method contains (line 1853) | @Contract(pure = true)
    method indexOf (line 1858) | @Contract(pure = true)
    method indexOf (line 1863) | @Contract(pure = true)
    method indexOf (line 1868) | @Contract(pure = true)
    method indexOf (line 1878) | @Contract(pure = true)
    method indexOf (line 1887) | @Contract(pure = true)
    method indexOfSubstringEnd (line 1896) | @Contract(pure = true)
    method indexOfAny (line 1903) | @Contract(pure = true)
    method indexOfAny (line 1908) | @Contract(pure = true)
    method indexOfAny (line 1913) | @Contract(pure = true)
    method indexOfAny (line 1918) | @Contract(pure = true)
    method lastIndexOfAny (line 1927) | @Contract(pure = true)
    method substringBefore (line 1935) | @Nullable
    method substringBeforeLast (line 1943) | @NotNull
    method substringAfter (line 1951) | @Nullable
    method substringAfterLast (line 1959) | @Nullable
    method lastIndexOf (line 1977) | @Contract(pure = true)
    method first (line 1982) | @NotNull
    method first (line 1988) | @NotNull
    method last (line 2000) | @NotNull
    method firstLast (line 2012) | @NotNull
    method escapeChar (line 2020) | @NotNull
    method escapeChars (line 2026) | @NotNull
    method escapeChar (line 2036) | public static void escapeChar(@NotNull final StringBuilder buf, final ...
    method escapeQuotes (line 2044) | @NotNull
    method escapeQuotes (line 2050) | public static void escapeQuotes(@NotNull final StringBuilder buf) {
    method escapeSlashes (line 2054) | @NotNull
    method escapeBackSlashes (line 2060) | @NotNull
    method escapeSlashes (line 2066) | public static void escapeSlashes(@NotNull final StringBuilder buf) {
    method unescapeSlashes (line 2070) | @NotNull
    method unescapeBackSlashes (line 2078) | @NotNull
    method unescapeChar (line 2086) | @NotNull
    method unescapeChar (line 2094) | private static void unescapeChar(@NotNull StringBuilder buf, @NotNull ...
    method quote (line 2110) | public static void quote(@NotNull final StringBuilder builder) {
    method quote (line 2114) | public static void quote(@NotNull final StringBuilder builder, final c...
    method wrapWithDoubleQuote (line 2119) | @NotNull
    method unescapeXml (line 2131) | @Contract(value = "null -> null; !null -> !null",pure = true)
    method escapeXml (line 2140) | @Contract(value = "null -> null; !null -> !null",pure = true)
    method unescapeXmlEntities (line 2149) | @NotNull
    method escapeXmlEntities (line 2158) | @NotNull
    method removeHtmlTags (line 2164) | @NotNull
    method removeHtmlTags (line 2169) | @NotNull
    method escapeMnemonics (line 2188) | @NotNull
    method htmlEmphasize (line 2194) | @NotNull
    method escapeToRegexp (line 2201) | @NotNull
    method escapeToRegexp (line 2208) | @NotNull
    method isEscapedBackslash (line 2229) | @Contract(pure = true)
    method isEscapedBackslash (line 2246) | @Contract(pure = true)
    method replace (line 2266) | @Deprecated
    method replace (line 2273) | @NotNull
    method filterEmptyStrings (line 2304) | @NotNull
    method countNewLines (line 2323) | @Contract(pure = true)
    method countChars (line 2328) | @Contract(pure = true)
    method countChars (line 2333) | @Contract(pure = true)
    method countChars (line 2338) | @Contract(pure = true)
    method capitalsOnly (line 2355) | @NotNull
    method joinOrNull (line 2372) | @Nullable
    method getPropertyName (line 2383) | @Nullable
    method isJavaIdentifierStart (line 2398) | @Contract(pure = true)
    method isJavaIdentifierPart (line 2403) | @Contract(pure = true)
    method isJavaIdentifier (line 2408) | @Contract(pure = true)
    method escapeProperty (line 2429) | @NotNull
    method getQualifiedName (line 2480) | @NotNull
    method compareVersionNumbers (line 2489) | @Contract(pure = true)
    method getOccurrenceCount (line 2540) | @Contract(pure = true)
    method getOccurrenceCount (line 2557) | @Contract(pure = true)
    method getIgnoreCaseOccurrenceCount (line 2574) | @Contract(pure = true)
    method fixVariableNameDerivedFromPropertyName (line 2591) | @NotNull
    method sanitizeJavaIdentifier (line 2602) | @NotNull
    method assertValidSeparators (line 2620) | public static void assertValidSeparators(@NotNull CharSequence s) {
    method tail (line 2649) | @NotNull
    method splitByLines (line 2661) | @NotNull
    method splitByLines (line 2674) | @NotNull
    method splitByLinesDontTrim (line 2680) | @NotNull
    method splitByLinesKeepSeparators (line 2700) | @NotNull
    method getWordsWithOffset (line 2706) | @NotNull
    method naturalCompare (line 2731) | @Contract(pure = true)
    method isDecimalDigit (line 2736) | @Contract(pure = true)
    method isNotNegativeNumber (line 2741) | @Contract("null -> false")
    method compare (line 2754) | @Contract(pure = true)
    method comparePairs (line 2763) | @Contract(pure = true)
    method hashCode (line 2769) | @Contract(pure = true)
    method equals (line 2774) | @Contract(pure = true)
    method equalsIgnoreCase (line 2795) | @Contract(pure = true)
    method equalsIgnoreWhitespaces (line 2816) | @Contract(pure = true)
    method equalsTrimWhitespaces (line 2861) | @Contract(pure = true)
    method collapseWhiteSpace (line 2902) | public static String collapseWhiteSpace(@NotNull CharSequence s) {
    method findIgnoreCase (line 2919) | @Contract(pure = true)
    method compare (line 2927) | @Contract(pure = true)
    method charsMatch (line 2951) | @Contract(pure = true)
    method formatLinks (line 2956) | @NotNull
    method isHexDigit (line 2969) | @Contract(pure = true)
    method isOctalDigit (line 2974) | @Contract(pure = true)
    method shortenTextWithEllipsis (line 2979) | @NotNull
    method trimMiddle (line 2985) | @NotNull
    method shortenTextWithEllipsis (line 2991) | @NotNull
    method shortenTextWithEllipsis (line 3008) | @NotNull
    method shortenPathWithEllipsis (line 3018) | @NotNull
    method shortenPathWithEllipsis (line 3024) | @NotNull
    method charsEqualIgnoreCase (line 3030) | @Contract(pure = true)
    method toUpperCase (line 3035) | @Contract(pure = true)
    method toUpperCase (line 3040) | @Contract(value = "null -> null; !null -> !null", pure = true)
    method toLowerCase (line 3060) | @Contract(pure = true)
    method isUpperCase (line 3065) | @Contract(pure = true)
    method detectSeparators (line 3073) | @Nullable
    method getLineSeparatorAt (line 3084) | @Nullable
    method convertLineSeparators (line 3096) | @NotNull
    method convertLineSeparators (line 3102) | @NotNull
    method convertLineSeparators (line 3108) | @NotNull
    method convertLineSeparators (line 3114) | @NotNull
    method parseInt (line 3119) | @Contract(pure = true)
    method getShortName (line 3124) | @NotNull
    method getShortName (line 3130) | @NotNull
    method isShortNameOf (line 3143) | public static boolean isShortNameOf(@NotNull String fqName, @NotNull S...
    method toShortString (line 3157) | @Contract("null->null;!null->!null")
    method newBombedCharSequence (line 3169) | @NotNull
    method trimEnd (line 3184) | public static boolean trimEnd(@NotNull StringBuilder buffer, @NotNull ...
    method isBetween (line 3195) | @Contract(pure = true)
    method hasUpperCaseChar (line 3207) | public static boolean hasUpperCaseChar(String s) {
    method hasLowerCaseChar (line 3222) | public static boolean hasLowerCaseChar(String s) {
    method replaceUnicodeEscapeSequences (line 3234) | public static String replaceUnicodeEscapeSequences(String text) {
    class BombedCharSequence (line 3257) | public abstract static class BombedCharSequence implements CharSequence {
      method BombedCharSequence (line 3262) | public BombedCharSequence(@NotNull CharSequence sequence) {
      method length (line 3266) | @Override
      method charAt (line 3272) | @Override
      method check (line 3278) | protected void check() {
      method defuse (line 3287) | public final void defuse() {
      method toString (line 3291) | @NotNull
      method checkCanceled (line 3298) | protected abstract void checkCanceled();
      method subSequence (line 3300) | @NotNull
    method toHexString (line 3308) | @Contract(pure = true)
    method parseHexString (line 3317) | @Contract(pure = true)
    method startsWithConcatenationOf (line 3330) | @Deprecated
    method isLatinAlphanumeric (line 3339) | @Contract(pure = true)

FILE: kotlin-bundled-compiler/src/com/intellij/util/SequentialModalProgressTask.java
  class SequentialModalProgressTask (line 13) | public class SequentialModalProgressTask extends Task.Modal {
    method SequentialModalProgressTask (line 32) | public SequentialModalProgressTask(@Nullable Project project, @NotNull...
    method SequentialModalProgressTask (line 36) | public SequentialModalProgressTask(@Nullable Project project, @NotNull...
    method run (line 41) | @Override
    method doRun (line 52) | public void doRun(@NotNull ProgressIndicator indicator) throws Invocat...
    method setMinIterationTime (line 80) | public void setMinIterationTime(long minIterationTime) {
    method setTask (line 84) | public void setTask(@Nullable SequentialTask task) {
    method getIndicator (line 88) | public ProgressIndicator getIndicator() {
    method prepare (line 99) | protected void prepare(@NotNull SequentialTask task) {

FILE: kotlin-bundled-compiler/src/com/intellij/util/SequentialTask.java
  type SequentialTask (line 3) | public interface SequentialTask {
    method prepare (line 8) | void prepare();
    method isDone (line 14) | boolean isDone();
    method iteration (line 22) | boolean iteration();
    method stop (line 27) | void stop();

FILE: kotlin-bundled-compiler/src/com/intellij/util/SingletonSet.java
  class SingletonSet (line 29) | public class SingletonSet<E> implements Set<E> {
    method SingletonSet (line 32) | public SingletonSet(E e) {
    method size (line 36) | @Override
    method contains (line 41) | @Override
    method iterator (line 47) | @NotNull
    method toArray (line 53) | @NotNull
    method toArray (line 59) | @NotNull
    method add (line 73) | @Override
    method remove (line 78) | @Override
    method containsAll (line 83) | @Override
    method addAll (line 93) | @Override
    method retainAll (line 98) | @Override
    method removeAll (line 103) | @Override
    method clear (line 108) | @Override
    method isEmpty (line 113) | @Override
    method getStrategy (line 118) | @NotNull
    method withCustomStrategy (line 124) | @NotNull
    class CustomStrategySingletonSet (line 129) | private static class CustomStrategySingletonSet<E> extends SingletonSe...
      method CustomStrategySingletonSet (line 132) | private CustomStrategySingletonSet(E e, @NotNull final TObjectHashin...
      method getStrategy (line 138) | @Override

FILE: kotlin-bundled-compiler/src/com/intellij/util/containers/LinkedMultiMap.java
  class LinkedMultiMap (line 3) | @Deprecated

FILE: kotlin-bundled-compiler/src/com/intellij/util/containers/MultiMap.java
  class MultiMap (line 22) | public class MultiMap<K, V> implements Serializable {
    method MultiMap (line 29) | public MultiMap() {
    method MultiMap (line 33) | public MultiMap(@NotNull Map<K, Collection<V>> mapImpl) {
    method MultiMap (line 37) | public MultiMap(@NotNull MultiMap<? extends K, ? extends V> toCopy) {
    method copy (line 42) | @NotNull
    method MultiMap (line 47) | public MultiMap(int initialCapacity, float loadFactor) {
    method createMap (line 51) | @NotNull
    method createMap (line 56) | @NotNull
    method createCollection (line 61) | @NotNull
    method createEmptyCollection (line 66) | @NotNull
    method putAllValues (line 71) | public void putAllValues(@NotNull MultiMap<? extends K, ? extends V> f...
    method putAllValues (line 77) | public void putAllValues(@NotNull Map<? extends K, ? extends V> from) {
    method putValues (line 83) | public void putValues(K key, @NotNull Collection<? extends V> values) {
    method putValue (line 92) | public void putValue(@Nullable K key, V value) {
    method entrySet (line 101) | @NotNull
    method isEmpty (line 106) | public boolean isEmpty() {
    method containsKey (line 117) | public boolean containsKey(K key) {
    method containsScalarValue (line 121) | public boolean containsScalarValue(V value) {
    method get (line 130) | @NotNull
    method getModifiable (line 136) | @NotNull
    method keySet (line 145) | @NotNull
    method size (line 150) | public int size() {
    method put (line 154) | public void put(final K key, Collection<V> values) {
    method removeValue (line 161) | @Deprecated
    method remove (line 166) | public boolean remove(final K key, final V value) {
    method values (line 178) | @NotNull
    method clear (line 241) | public void clear() {
    method remove (line 245) | @Nullable
    method emptyInstance (line 250) | @NotNull
    method create (line 259) | @NotNull
    method create (line 264) | @NotNull
    method createLinked (line 275) | @NotNull
    method createLinkedSet (line 280) | @NotNull
    method createOrderedSet (line 297) | @NotNull
    method createSmart (line 314) | @NotNull
    method createConcurrent (line 325) | @NotNull
    method createConcurrentSet (line 335) | @NotNull
    method createSet (line 352) | @NotNull
    method createSet (line 357) | @NotNull
    method createWeakKey (line 380) | @NotNull
    method create (line 391) | public static <K, V> MultiMap<K, V> create(int initialCapacity, float ...
    method equals (line 395) | @Override
    method hashCode (line 400) | @Override
    method toString (line 405) | @Override
    method empty (line 413) | public static <K, V> MultiMap<K, V> empty() {
    class EmptyMap (line 418) | private static class EmptyMap extends MultiMap {
      method createMap (line 419) | @NotNull
      method putValues (line 425) | @Override
      method putValue (line 430) | @Override
      method put (line 435) | @Override
      method remove (line 440) | @Override
      method clear (line 445) | @Override
      method remove (line 450) | @Nullable

FILE: kotlin-bundled-compiler/src/com/intellij/util/containers/ObjectIntHashMap.java
  class ObjectIntHashMap (line 11) | public class ObjectIntHashMap<K> extends TObjectIntHashMap<K> implements...
    method ObjectIntHashMap (line 12) | public ObjectIntHashMap(int initialCapacity) {
    method ObjectIntHashMap (line 16) | public ObjectIntHashMap(@NotNull TObjectHashingStrategy<K> strategy) {
    method ObjectIntHashMap (line 20) | public ObjectIntHashMap(int initialCapacity, @NotNull TObjectHashingSt...
    method ObjectIntHashMap (line 24) | public ObjectIntHashMap() {
    method get (line 28) | public final int get(@NotNull K key) {
    method keySet (line 32) | @Override
    method values (line 38) | @NotNull
    method entries (line 44) | @Override
    method get (line 50) | public final int get(K key, int defaultValue) {
    method put (line 55) | public int put(K key, int value, int defaultValue) {

FILE: kotlin-bundled-compiler/src/it/unimi/dsi/fastutil/ints/IntOpenHashSet.java
  class IntOpenHashSet (line 10) | public class IntOpenHashSet extends AbstractIntSet implements Hash, Seri...
    method IntOpenHashSet (line 21) | public IntOpenHashSet(int expected, float f) {
    method IntOpenHashSet (line 37) | public IntOpenHashSet(int expected) {
    method IntOpenHashSet (line 41) | public IntOpenHashSet() {
    method realSize (line 45) | private int realSize() {
    method ensureCapacity (line 49) | private void ensureCapacity(int capacity) {
    method tryCapacity (line 57) | private void tryCapacity(long capacity) {
    method addAll (line 65) | public boolean addAll(Collection<? extends Integer> c) {
    method add (line 75) | public boolean add(int k) {
    method shiftKeys (line 108) | protected final void shiftKeys(int pos) {
    method removeEntry (line 138) | private boolean removeEntry(int pos) {
    method removeNullEntry (line 148) | private boolean removeNullEntry() {
    method remove (line 159) | public boolean remove(int k) {
    method contains (line 182) | public boolean contains(int k) {
    method clear (line 205) | public void clear() {
    method size (line 213) | public int size() {
    method isEmpty (line 217) | public boolean isEmpty() {
    method iterator (line 221) | public IntIterator iterator() {
    method rehash (line 225) | protected void rehash(int newN) {
    method clone (line 249) | public IntOpenHashSet clone() {
    method hashCode (line 262) | public int hashCode() {
    class SetIterator (line 277) | private class SetIterator implements IntIterator {
      method SetIterator (line 284) | private SetIterator() {
      method hasNext (line 291) | public boolean hasNext() {
      method nextInt (line 295) | public int nextInt() {
      method shiftKeys (line 319) | private final void shiftKeys(int pos) {
      method remove (line 357) | public void remove() {

FILE: kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/Activator.java
  class Activator (line 9) | public class Activator extends AbstractUIPlugin {
    method Activator (line 20) | public Activator() {
    method start (line 27) | public void start(BundleContext context) throws Exception {
    method stop (line 36) | public void stop(BundleContext context) throws Exception {
    method getDefault (line 46) | public static Activator getDefault() {

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/Activator.java
  class Activator (line 28) | public class Activator extends Plugin {
    method Activator (line 34) | public Activator() {
    method getDefault (line 38) | public static Activator getDefault() {
    method start (line 42) | @Override
    method stop (line 54) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/BinaryClassWriter.java
  class BinaryClassWriter (line 5) | public class BinaryClassWriter extends ClassWriter {
    method BinaryClassWriter (line 6) | public BinaryClassWriter() {
    method getCommonSuperClass (line 10) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/LightClassBuilderFactory.java
  class LightClassBuilderFactory (line 23) | public class LightClassBuilderFactory implements ClassBuilderFactory {
    method getClassBuilderMode (line 26) | @Override
    method newClassBuilder (line 32) | @Override
    method asText (line 66) | @Override
    method asBytes (line 71) | @Override
    method close (line 77) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/LightClassFile.java
  class LightClassFile (line 11) | public class LightClassFile {
    method LightClassFile (line 14) | public LightClassFile(@NotNull IFile file) {
    method exists (line 18) | public boolean exists() {
    method createIfNotExists (line 22) | public boolean createIfNotExists() {
    method touchFile (line 35) | public void touchFile() {
    method asFile (line 43) | @NotNull
    method getResource (line 48) | @NotNull

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/debug/KotlinSourceLookupNavigator.java
  class KotlinSourceLookupNavigator (line 32) | public class KotlinSourceLookupNavigator {
    method KotlinSourceLookupNavigator (line 35) | private KotlinSourceLookupNavigator() {
    method findKotlinSourceFile (line 39) | @Nullable
    method findKotlinSourceFile (line 55) | private IFile findKotlinSourceFile(IJavaStackFrame frame, ISourceLooku...
    method findKotlinSourceFile (line 65) | @Nullable
    method fileMatches (line 89) | private boolean fileMatches(@NotNull IFile kotlinFile, @NotNull FqName...

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinFileSystem.java
  class KotlinFileSystem (line 12) | public class KotlinFileSystem extends FileSystem {
    method KotlinFileSystem (line 18) | public KotlinFileSystem() {
    method getStore (line 22) | @Override
    method canDelete (line 27) | @Override
    method canWrite (line 32) | @Override
    method getInstance (line 37) | public static KotlinFileSystem getInstance() {
    method fetchFileTree (line 41) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/launch/CompilerOutputData.java
  class CompilerOutputData (line 25) | public class CompilerOutputData {
    method add (line 29) | public void add(CompilerMessageSeverity messageSeverity, String messag...
    method clear (line 33) | public void clear() {
    method getList (line 37) | public List<CompilerOutputElement> getList() {

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/launch/CompilerOutputElement.java
  class CompilerOutputElement (line 23) | public class CompilerOutputElement {
    method CompilerOutputElement (line 29) | public CompilerOutputElement (CompilerMessageSeverity messageSeverity,...
    method getMessageSeverity (line 35) | public CompilerMessageSeverity getMessageSeverity() {
    method getMessage (line 39) | public String getMessage() {
    method getMessageLocation (line 43) | public CompilerMessageLocation getMessageLocation() {

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/launch/CompilerOutputParser.java
  class CompilerOutputParser (line 37) | public class CompilerOutputParser {
    method parseCompilerMessagesFromReader (line 39) | public static void parseCompilerMessagesFromReader(MessageCollector me...
    class CompilerOutputSAXHandler (line 73) | private static class CompilerOutputSAXHandler extends DefaultHandler {
      method CompilerOutputSAXHandler (line 95) | public CompilerOutputSAXHandler(MessageCollector messageCollector) {
      method startElement (line 99) | @Override
      method characters (line 111) | @Override
      method endElement (line 124) | @Override
      method safeParseInt (line 142) | private static int safeParseInt(String value, int defaultValue) {

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/BuiltInsReferenceResolver.java
  class BuiltInsReferenceResolver (line 66) | public class BuiltInsReferenceResolver {
    method BuiltInsReferenceResolver (line 73) | public BuiltInsReferenceResolver(Project project) {
    method getInstance (line 78) | @NotNull
    method initialize (line 84) | private void initialize() {
    method getBuiltInSourceFiles (line 123) | @Nullable
    method getSourceVirtualFile (line 144) | @Nullable
    method areSourcesExist (line 156) | private boolean areSourcesExist() {
    method convertPathFromURL (line 161) | private String convertPathFromURL(URL url) {
    method findCurrentDescriptorForMember (line 191) | @Nullable
    method findCurrentDescriptor (line 213) | @Nullable
    method getMemberScope (line 244) | @Nullable

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/EclipseDescriptorUtils.java
  class EclipseDescriptorUtils (line 22) | public class EclipseDescriptorUtils {
    method descriptorToDeclaration (line 24) | @Nullable
    method descriptorToDeclarations (line 35) | @NotNull
    method callableDescriptorToDeclaration (line 73) | @Nullable
    method callableDescriptorToDeclarations (line 86) | @NotNull
    method classDescriptorToDeclaration (line 101) | @Nullable
    method doGetDescriptorToDeclaration (line 106) | @Nullable

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/KotlinSourceIndex.java
  class KotlinSourceIndex (line 26) | public class KotlinSourceIndex {
    method getInstance (line 30) | public static KotlinSourceIndex getInstance(IJavaProject javaProject) {
    method isKotlinSource (line 35) | public static boolean isKotlinSource(String shortFileName) {
    method getSource (line 39) | @Nullable
    method getSource (line 50) | @Nullable
    method resolvePath (line 58) | public String resolvePath(PackageFragment packageFragment, String path...
    method getIndexForRoot (line 69) | @Nullable
    method createSourcesIndex (line 95) | @Nullable

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/EclipseJavaClassFinder.java
  class EclipseJavaClassFinder (line 47) | public class EclipseJavaClassFinder extends AbstractJavaClassFinder {
    method EclipseJavaClassFinder (line 51) | public EclipseJavaClassFinder(@NotNull IJavaProject project) {
    method initialize (line 55) | @Override
    method findPackage (line 68) | @Nullable
    method findClass (line 79) | @Override
    method findClass (line 85) | @Override
    method findPackageFragments (line 96) | @Nullable
    method findType (line 109) | @Nullable
    method isInKotlinBinFolder (line 124) | public static boolean isInKotlinBinFolder(@NotNull IType eclipseType) {
    method createTypeBinding (line 130) | public static ITypeBinding createTypeBinding(IType type) {
    method getParent (line 152) | private static ASTNode getParent(ASTNode node, Class<? extends ASTNode...
    method getTypeBinding (line 159) | private static ITypeBinding getTypeBinding(CompilationUnit root, IType...
    method knownClassNamesInPackage (line 187) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/resolver/EclipseJavaSourceElement.java
  class EclipseJavaSourceElement (line 26) | public class EclipseJavaSourceElement implements JavaSourceElement {
    method EclipseJavaSourceElement (line 29) | public EclipseJavaSourceElement(JavaElement javaElement) {
    method getJavaElement (line 33) | @Override
    method getElementBinding (line 39) | @NotNull
    method getContainingFile (line 44) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/resolver/EclipseJavaSourceElementFactory.java
  class EclipseJavaSourceElementFactory (line 24) | public class EclipseJavaSourceElementFactory implements JavaSourceElemen...
    method source (line 26) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaArrayType.java
  class EclipseJavaArrayType (line 24) | public class EclipseJavaArrayType extends EclipseJavaType<ITypeBinding> ...
    method EclipseJavaArrayType (line 26) | public EclipseJavaArrayType(@NotNull ITypeBinding typeBinding) {
    method getComponentType (line 30) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaClassObjectAnnotationArgument.java
  class EclipseJavaClassObjectAnnotationArgument (line 29) | public class EclipseJavaClassObjectAnnotationArgument implements JavaCla...
    method EclipseJavaClassObjectAnnotationArgument (line 35) | protected EclipseJavaClassObjectAnnotationArgument(Class<?> javaClass,...
    method getReferencedType (line 41) | @Override
    method getName (line 49) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaClassifierType.java
  class EclipseJavaClassifierType (line 30) | public class EclipseJavaClassifierType extends EclipseJavaType<ITypeBind...
    method EclipseJavaClassifierType (line 32) | public EclipseJavaClassifierType(ITypeBinding typeBinding) {
    method getClassifier (line 36) | @Override
    method getPresentableText (line 42) | @Override
    method isRaw (line 48) | @Override
    method getTypeArguments (line 53) | @Override
    method getClassifierQualifiedName (line 59) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaConstructor.java
  class EclipseJavaConstructor (line 14) | public class EclipseJavaConstructor extends EclipseJavaMember<IMethodBin...
    method EclipseJavaConstructor (line 16) | public EclipseJavaConstructor(@NotNull IMethodBinding methodBinding) {
    method getContainingClass (line 22) | @Override
    method getTypeParameters (line 28) | @Override
    method getValueParameters (line 34) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaElementFactory.java
  class EclipseJavaElementFactory (line 34) | public class EclipseJavaElementFactory {
    method EclipseJavaElementFactory (line 35) | private EclipseJavaElementFactory() {
    type Factory (line 38) | private interface Factory<Binding, Java> {
      method create (line 39) | @NotNull
    class Factories (line 43) | private static class Factories {
      method create (line 45) | @Override
      method create (line 53) | @Override
      method create (line 61) | @Override
      method create (line 69) | @Override
      method create (line 77) | @Override
      method create (line 85) | @Override
    method convert (line 93) | @NotNull
    method annotations (line 103) | @NotNull
    method classifierTypes (line 108) | @NotNull
    method methods (line 113) | @NotNull
    method fields (line 118) | @NotNull
    method types (line 123) | @NotNull
    method typeParameters (line 128) | @NotNull

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaElementUtil.java
  class EclipseJavaElementUtil (line 67) | public class EclipseJavaElementUtil {
    method getVisibility (line 69) | @NotNull
    method getSuperTypes (line 83) | private static List<ITypeBinding> getSuperTypes(@NotNull ITypeBinding ...
    method getSuperTypesWithObject (line 97) | static ITypeBinding[] getSuperTypesWithObject(@NotNull ITypeBinding ty...
    method getJavaLangObjectBinding (line 115) | @NotNull
    method getValueParameters (line 129) | @NotNull
    method getParameterNames (line 148) | @NotNull
    method findAnnotation (line 171) | public static JavaAnnotation findAnnotation(@NotNull IAnnotationBindin...
    method computeClassId (line 182) | @Nullable
    method isKotlinLightClass (line 194) | public static boolean isKotlinLightClass(@NotNull IJavaElement element) {
    method isFromKotlinBinFolder (line 203) | public static boolean isFromKotlinBinFolder(@NotNull IResource resourc...
    method isFromKotlinBinFolder (line 215) | public static boolean isFromKotlinBinFolder(@NotNull IJavaElement elem...
    method isKotlinBinaryElement (line 229) | public static boolean isKotlinBinaryElement(@NotNull IJavaElement elem...
    method isKotlinClassFile (line 241) | private static boolean isKotlinClassFile(IClassFile classFile) {
    method jarFileOrDirectoryToVirtualFile (line 271) | @Nullable

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaLiteralAnnotationArgument.java
  class EclipseJavaLiteralAnnotationArgument (line 24) | public class EclipseJavaLiteralAnnotationArgument implements JavaLiteral...
    method EclipseJavaLiteralAnnotationArgument (line 29) | public EclipseJavaLiteralAnnotationArgument(@NotNull Object value, @No...
    method getName (line 34) | @Override
    method getValue (line 40) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaMember.java
  class EclipseJavaMember (line 33) | public abstract class EclipseJavaMember<T extends IBinding> extends Ecli...
    method EclipseJavaMember (line 35) | protected EclipseJavaMember(@NotNull T javaElement) {
    method getAnnotations (line 39) | @Override
    method findAnnotation (line 45) | @Override
    method isAbstract (line 51) | @Override
    method isStatic (line 56) | @Override
    method isFinal (line 61) | @Override
    method getVisibility (line 66) | @Override
    method getName (line 72) | @Override
    method isDeprecatedInJavaDoc (line 78) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaPackage.java
  class EclipseJavaPackage (line 43) | public class EclipseJavaPackage implements JavaElement, JavaPackage {
    method EclipseJavaPackage (line 48) | public EclipseJavaPackage(List<IPackageFragment> packages) {
    method EclipseJavaPackage (line 53) | public EclipseJavaPackage(IPackageFragment pckg) {
    method getClasses (line 57) | @Override
    method getSubPackages (line 68) | @Override
    method getFqName (line 93) | @Override
    method getClassesInPackage (line 99) | private List<JavaClass> getClassesInPackage(IPackageFragment javaPacka...
    method isOuterClass (line 129) | private boolean isOuterClass(IClassFile classFile) {
    method findAnnotation (line 133) | @Override
    method getAnnotations (line 139) | @Override
    method isDeprecatedInJavaDoc (line 145) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaPrimitiveType.java
  class EclipseJavaPrimitiveType (line 25) | public class EclipseJavaPrimitiveType extends EclipseJavaType<ITypeBindi...
    method EclipseJavaPrimitiveType (line 27) | public EclipseJavaPrimitiveType(ITypeBinding typeBinding) {
    method getType (line 31) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaPropertyInitializerEvaluator.java
  class EclipseJavaPropertyInitializerEvaluator (line 27) | public class EclipseJavaPropertyInitializerEvaluator implements JavaProp...
    method getInitializerConstant (line 28) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaReferenceAnnotationArgument.java
  class EclipseJavaReferenceAnnotationArgument (line 27) | public class EclipseJavaReferenceAnnotationArgument extends EclipseJavaA...
    method EclipseJavaReferenceAnnotationArgument (line 30) | protected EclipseJavaReferenceAnnotationArgument(IVariableBinding java...
    method resolve (line 34) | @Nullable
    method getEntryName (line 39) | @Override
    method getEnumClassId (line 45) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaType.java
  class EclipseJavaType (line 31) | public class EclipseJavaType<T extends ITypeBinding> implements JavaType...
    method EclipseJavaType (line 35) | public EclipseJavaType(@NotNull T binding) {
    method create (line 39) | public static EclipseJavaType<?> create(@NotNull ITypeBinding typeBind...
    method getBinding (line 55) | @NotNull
    method hashCode (line 60) | @Override
    method equals (line 65) | @Override
    method getAnnotations (line 70) | @Override
    method findAnnotation (line 76) | @Override
    method isDeprecatedInJavaDoc (line 82) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaValueParameter.java
  class EclipseJavaValueParameter (line 34) | public class EclipseJavaValueParameter extends EclipseJavaElement<ITypeB...
    method EclipseJavaValueParameter (line 40) | public EclipseJavaValueParameter(ITypeBinding type, IAnnotationBinding...
    method getAnnotations (line 48) | @Override
    method findAnnotation (line 54) | @Override
    method getName (line 60) | @Override
    method getType (line 66) | @Override
    method isVararg (line 72) | @Override
    method isDeprecatedInJavaDoc (line 77) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaWildcardType.java
  class EclipseJavaWildcardType (line 25) | public class EclipseJavaWildcardType extends EclipseJavaType<ITypeBindin...
    method EclipseJavaWildcardType (line 27) | public EclipseJavaWildcardType(@NotNull ITypeBinding typeBinding) {
    method getBound (line 31) | @Override
    method isExtends (line 38) | @Override

FILE: kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/DebugUtils.java
  class DebugUtils (line 11) | public class DebugUtils {
    method isVisible (line 12) | public static Boolean isVisible(IVariable variable) {
    method hasKotlinSource (line 21) | public static Boolean hasKotlinSource(IStackFrame frame) throws DebugE...

FILE: kotlin-eclipse-maven/src/org/jetbrains/kotlin/maven/Activator.java
  class Activator (line 6) | public class Activator implements BundleActivator {
    method getContext (line 10) | static BundleContext getContext() {
    method start (line 18) | public void start(BundleContext bundleContext) throws Exception {
    method stop (line 26) | public void stop(BundleContext bundleContext) throws Exception {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/Activator.java
  class Activator (line 25) | public class Activator extends AbstractUIPlugin {
    method Activator (line 35) | public Activator() {
    method start (line 44) | @Override
    method stop (line 56) | @Override
    method getDefault (line 67) | public static Activator getDefault() {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/editor/KotlinEditorAutoTestCase.java
  class KotlinEditorAutoTestCase (line 26) | public abstract class KotlinEditorAutoTestCase extends KotlinProjectTest...
    class EditorSourceFileData (line 28) | protected abstract static class EditorSourceFileData extends SourceFil...
      method EditorSourceFileData (line 29) | public EditorSourceFileData(File file) {
    method doAutoTest (line 48) | protected final void doAutoTest() {
    method doSingleFileAutoTest (line 74) | protected abstract void doSingleFileAutoTest(String testPath);
    method doMultiFileAutoTest (line 76) | protected abstract void doMultiFileAutoTest(File testFolder);
    method doAutoTestWithDependencyFile (line 78) | protected void doAutoTestWithDependencyFile(String mainTestPath, File ...
    method getTestDataRelativePath (line 82) | protected abstract String getTestDataRelativePath();
    method getExtension (line 84) | protected String getExtension() {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/editor/KotlinEditorSequentialAutoTestCase.java
  class KotlinEditorSequentialAutoTestCase (line 11) | public abstract class KotlinEditorSequentialAutoTestCase extends KotlinE...
    method doSingleFileAutoTest (line 13) | @Override
    method performSingleOperation (line 18) | abstract protected void performSingleOperation();
    method getInitialFileName (line 20) | abstract protected String getInitialFileName();
    method getTestEditor (line 24) | protected TextEditorTest getTestEditor() {
    method doMultiFileAutoTest (line 28) | @Override
    method getInitialFileContent (line 44) | protected String getInitialFileContent(File testFolder) {
    method getAfterFilesPaths (line 48) | abstract protected ArrayList<String> getAfterFilesPaths(File testFolder);
    method getAfterFileContent (line 50) | abstract protected String getAfterFileContent(String afterFilePath);

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/editor/KotlinEditorTestCase.java
  class KotlinEditorTestCase (line 43) | public abstract class KotlinEditorTestCase {
    type Separator (line 45) | public enum Separator {
    method afterTest (line 65) | @After
    method beforeTest (line 75) | @Before
    method getEditor (line 86) | protected KotlinFileEditor getEditor() {
    method getCaret (line 90) | protected int getCaret() {
    method createSourceFile (line 94) | public IFile createSourceFile(String pkg, String fileName, String cont...
    method createSourceFile (line 106) | public IFile createSourceFile(String fileName, String content) {
    method configureEditor (line 110) | protected static TextEditorTest configureEditor(String fileName, Strin...
    method configureEditor (line 114) | protected static TextEditorTest configureEditor(String fileName, Strin...
    method configureEditor (line 118) | protected static TextEditorTest configureEditor(String fileName, Strin...
    method deleteProjectAndCloseEditors (line 126) | private void deleteProjectAndCloseEditors() {
    method refreshWorkspace (line 148) | public static void refreshWorkspace() {
    method getText (line 157) | public static String getText(String testPath) {
    method getText (line 161) | public static String getText(File file) {
    method joinBuildThread (line 169) | public static void joinBuildThread() {
    method resolveTestTags (line 179) | public static String resolveTestTags(String text) {
    method removeTags (line 188) | public static String removeTags(String text) {
    method getNameByPath (line 196) | public static String getNameByPath(String testPath) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/editor/KotlinEditorWithAfterFileTestCase.java
  class KotlinEditorWithAfterFileTestCase (line 30) | public abstract class KotlinEditorWithAfterFileTestCase extends KotlinEd...
    type AfterSuffixPosition (line 32) | public enum AfterSuffixPosition {
    method getAfterPosition (line 36) | protected AfterSuffixPosition getAfterPosition() {
    class WithAfterSourceFileData (line 40) | private static class WithAfterSourceFileData extends EditorSourceFileD...
      method value (line 43) | @Override
      method WithAfterSourceFileData (line 54) | public WithAfterSourceFileData(File file) {
      method getContentAfter (line 58) | public String getContentAfter() {
      method getTestFiles (line 62) | public static Collection<WithAfterSourceFileData> getTestFiles(File ...
      method getTargetFile (line 90) | public static WithAfterSourceFileData getTargetFile(Iterable<WithAft...
    method performTest (line 97) | protected abstract void performTest(String fileText, String expectedFi...
    method getTestEditor (line 99) | protected TextEditorTest getTestEditor() {
    method loadFilesBeforeOpeningEditor (line 103) | protected boolean loadFilesBeforeOpeningEditor() {
    method doSingleFileAutoTest (line 107) | @Override
    method doMultiFileAutoTest (line 122) | @Override
    method loadFiles (line 139) | private void loadFiles(Collection<WithAfterSourceFileData> files, With...
    method doAutoTestWithDependencyFile (line 147) | @Override
    method loadEditor (line 162) | private String loadEditor(String mainTestPath) {
    method loadDependencyFile (line 169) | private void loadDependencyFile(File dependencyFile) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/editor/KotlinProjectTestCase.java
  class KotlinProjectTestCase (line 18) | public class KotlinProjectTestCase {
    method beforeTest (line 24) | @Before
    method afterTest (line 34) | @After
    method afterAllTests (line 46) | @AfterClass
    method configureProject (line 63) | protected void configureProject() {
    method configureProject (line 67) | protected void configureProject(String projectName) {
    method configureProject (line 71) | protected void configureProject(String projectName, String location) {
    method configureProjectWithStdLib (line 75) | protected void configureProjectWithStdLib() {
    method configureProjectWithStdLib (line 79) | protected void configureProjectWithStdLib(String projectName) {
    method configureProjectWithStdLib (line 83) | protected void configureProjectWithStdLib(String projectName, String l...
    method createSourceFile (line 93) | public IFile createSourceFile(String pkg, String fileName, String cont...
    method createSourceFile (line 101) | public IFile createSourceFile(String fileName, String content) {
    method configureEditor (line 105) | protected TextEditorTest configureEditor(String fileName, String conte...
    method configureEditor (line 109) | protected TextEditorTest configureEditor(String fileName, String conte...
    method getTestProject (line 116) | protected TestJavaProject getTestProject() {
    method waitForEditorInitialization (line 120) | protected void waitForEditorInitialization(TextEditorTest testEditor) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/editor/TextEditorTest.java
  class TextEditorTest (line 37) | public class TextEditorTest {
    method TextEditorTest (line 44) | public TextEditorTest() {
    method TextEditorTest (line 48) | public TextEditorTest(String projectName) {
    method TextEditorTest (line 52) | public TextEditorTest(TestJavaProject testProject) {
    method getTestJavaProject (line 56) | public TestJavaProject getTestJavaProject() {
    method getEclipseProject (line 60) | public IProject getEclipseProject() {
    method createEditor (line 64) | public JavaEditor createEditor(String name, String content) {
    method createEditor (line 68) | public JavaEditor createEditor(String name, String content, String pac...
    method type (line 92) | public void type(char c) {
    method runOpenDeclarationAction (line 99) | public void runOpenDeclarationAction() {
    method runFormatAction (line 103) | public void runFormatAction() {
    method runSelectEnclosingAction (line 107) | public void runSelectEnclosingAction() {
    method runSelectPreviousAction (line 111) | public void runSelectPreviousAction() {
    method runSelectNextAction (line 115) | public void runSelectNextAction() {
    method getCaretOffset (line 119) | public int getCaretOffset() {
    method setCaret (line 123) | public void setCaret(int offset) {
    method setSelection (line 130) | public void setSelection(int selectionStart, int selectionLength) {
    method typeEnter (line 136) | public void typeEnter() {
    method save (line 140) | public void save() {
    method close (line 144) | public void close() {
    method getEditingFile (line 148) | public IFile getEditingFile() {
    method getEditorInput (line 152) | public String getEditorInput() {
    method deleteEditingFile (line 156) | public void deleteEditingFile() {
    method getEditor (line 166) | public JavaEditor getEditor() {
    method getDocument (line 170) | public IDocument getDocument() {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/EditorTestUtils.java
  class EditorTestUtils (line 36) | public class EditorTestUtils {
    method openInEditor (line 38) | public static IEditorPart openInEditor(IFile file) throws PartInitExce...
    method assertByEditorWithErrorMessage (line 49) | public static void assertByEditorWithErrorMessage(JavaEditor activeEdi...
    method assertByEditor (line 55) | public static void assertByEditor(JavaEditor activeEditor, String expe...
    method assertByStringWithEditorWidgetAndErrorMessage (line 59) | private static void assertByStringWithEditorWidgetAndErrorMessage(Stri...

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/ExpectedCompletionUtils.java
  class ExpectedCompletionUtils (line 7) | public class ExpectedCompletionUtils {
    method itemsShouldAbsent (line 18) | public static List<String> itemsShouldAbsent(String fileText) {
    method itemsShouldExist (line 22) | public static List<String> itemsShouldExist(String fileText) {
    method isNothingElseExpected (line 26) | public static boolean isNothingElseExpected(String fileText) {
    method itemToComplete (line 30) | public static String itemToComplete(String fileText) {
    method getCompletionChar (line 40) | public static Character getCompletionChar(String fileText) {
    method itemsJavaOnlyShouldExists (line 45) | public static List<String> itemsJavaOnlyShouldExists(String fileText) {
    method numberOfItemsShouldPresent (line 49) | public static Integer numberOfItemsShouldPresent(String fileText) {
    method shouldHideNonVisibleMembers (line 59) | public static Boolean shouldHideNonVisibleMembers(String fileText) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/InTextDirectivesUtils.java
  class InTextDirectivesUtils (line 15) | public class InTextDirectivesUtils {
    method findStringWithPrefixes (line 17) | public static String findStringWithPrefixes(String fileText, String......
    method findListWithPrefixes (line 32) | public static List<String> findListWithPrefixes(String fileText, Strin...
    method findLinesWithPrefixesRemoved (line 46) | private static List<String> findLinesWithPrefixesRemoved(String fileTe...
    method cleanDirectivesFromComments (line 69) | private static List<String> cleanDirectivesFromComments(Collection<Str...
    method fileNonEmptyCommentedLines (line 83) | private static List<String> fileNonEmptyCommentedLines(String fileText) {
    method getItems (line 111) | static List<String> getItems(String fileText, String prefix) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/KotlinTestUtils.java
  class KotlinTestUtils (line 15) | public class KotlinTestUtils {
    type Separator (line 16) | public enum Separator {
    method getText (line 24) | public static String getText(String testPath) {
    method getNameByPath (line 33) | public static String getNameByPath(String testPath) {
    method joinBuildThread (line 37) | public static void joinBuildThread() {
    method refreshWorkspace (line 47) | public static void refreshWorkspace() {
    method getCaret (line 56) | public static int getCaret(JavaEditor javaEditor) {
    method resolveTestTags (line 60) | public static String resolveTestTags(String text) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/SourceFileData.java
  class SourceFileData (line 26) | public class SourceFileData {
    method SourceFileData (line 38) | public SourceFileData(String fileName, String content) {
    method SourceFileData (line 44) | public SourceFileData(File file) throws IOException {
    method getFileName (line 48) | public String getFileName() {
    method getPackageName (line 52) | public String getPackageName() {
    method getContent (line 56) | public String getContent() {
    method getPackageFromContent (line 60) | public static String getPackageFromContent(String content) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/TestJavaProject.java
  class TestJavaProject (line 54) | public class TestJavaProject {
    method TestJavaProject (line 63) | public TestJavaProject(String projectName) {
    method TestJavaProject (line 67) | public TestJavaProject(String projectName, String location) {
    method createProject (line 71) | private IProject createProject(String projectName, String location) {
    method setDefaultSettings (line 105) | public void setDefaultSettings() {
    method setNatureSpecificProperties (line 115) | private void setNatureSpecificProperties() throws CoreException {
    method createFile (line 123) | private IFile createFile(IContainer folder, String name, InputStream c...
    method createSourceFile (line 137) | public IFile createSourceFile(String pkg, String fileName, String cont...
    method createSourceFile (line 141) | public IFile createSourceFile(String pkg, String fileName, String cont...
    method createPackage (line 169) | public IPackageFragment createPackage(String name) throws CoreException {
    method createOutputFolder (line 176) | private void createOutputFolder(IFolder outputFolder) throws JavaModel...
    method createSourceFolder (line 181) | public IPackageFragmentRoot createSourceFolder(String srcFolderName) t...
    method createFolderIfNotExist (line 199) | public IFolder createFolderIfNotExist(String name) throws CoreException {
    method getKotlinEnvironment (line 208) | public KotlinEnvironment getKotlinEnvironment() {
    method getJavaProject (line 212) | public IJavaProject getJavaProject() {
    method getProject (line 216) | public IProject getProject() {
    method addKotlinRuntime (line 220) | public void addKotlinRuntime() throws CoreException {
    method addLibrary (line 224) | public void addLibrary(IPath libraryPath, IPath sourcePath) throws Jav...
    method addSystemLibraries (line 229) | private void addSystemLibraries() throws JavaModelException {
    method clean (line 233) | public void clean() {
    method getJavaClassName (line 247) | private String getJavaClassName(String content) {
    method createJavaPsiFile (line 253) | private PsiJavaFile createJavaPsiFile(String text, Project ideaProject) {
    method cleanSourceFolder (line 258) | private void cleanSourceFolder() throws CoreException {
    method findResourceInProject (line 267) | private IResource findResourceInProject(IPath path) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/TypingUtils.java
  class TypingUtils (line 23) | public class TypingUtils {
    method typedCharacter (line 27) | public static Character typedCharacter(String fileText) {
    method typedText (line 33) | public static String typedText(String fileText) {

FILE: kotlin-eclipse-test-framework/src/org/jetbrains/kotlin/testframework/utils/WorkspaceUtil.java
  class WorkspaceUtil (line 25) | public class WorkspaceUtil {
    method refreshWorkspace (line 27) | public static void refreshWorkspace() {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/checkers/KotlinDiagnosticsTestCase.java
  class KotlinDiagnosticsTestCase (line 61) | public class KotlinDiagnosticsTestCase extends KotlinProjectTestCase {
    method configure (line 86) | @Before
    method doTest (line 91) | protected void doTest(String filePath) throws IOException {
    method analyzeAndCheck (line 148) | protected void analyzeAndCheck(File testDataFile, List<TestFile> testF...
    method checkAllResolvedCallsAreCompleted (line 192) | private static void checkAllResolvedCallsAreCompleted(@NotNull List<Kt...
    method checkResolvedCallsInDiagnostics (line 203) | private static void checkResolvedCallsInDiagnostics(BindingContext bin...
    method parseDiagnosticFilterDirective (line 229) | public static Condition<Diagnostic> parseDiagnosticFilterDirective(Map...
    method assertResolvedCallsAreCompleted (line 295) | private static void assertResolvedCallsAreCompleted(
    method getKtFiles (line 314) | protected List<KtFile> getKtFiles(List<? extends TestFile> testFiles, ...
    method writeJavaFile (line 334) | private boolean writeJavaFile(@NotNull String filePath, @NotNull Strin...
    class TestModule (line 347) | protected static class TestModule {
      method TestModule (line 351) | public TestModule(String name) {
      method getName (line 355) | public String getName() {
      method getDependencies (line 359) | public List<TestModule> getDependencies() {
    method getProject (line 364) | @NotNull
    class TestFile (line 369) | protected class TestFile {
      method TestFile (line 380) | public TestFile(
      method addExtras (line 404) | private String addExtras(String text) {
      method getExtras (line 408) | private String getExtras() {
      method getImports (line 412) | @NotNull
      method addImports (line 421) | private String addImports(String text, String imports) {
      method getModule (line 435) | public TestModule getModule() {
      method getKtFile (line 439) | public KtFile getKtFile() {
      method stripExtras (line 443) | private void stripExtras(StringBuilder actualText) {
      method getActualText (line 451) | public boolean getActualText(BindingContext bindingContext, StringBu...
      method computeJvmSignatureDiagnostics (line 529) | private Set<ActualDiagnostic> computeJvmSignatureDiagnostics(Binding...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/AdditionalConditions.java
  class AdditionalConditions (line 5) | public class AdditionalConditions {
    method value (line 8) | @Override
    method value (line 15) | @Override
    method alwaysTrue (line 21) | @SuppressWarnings("unchecked")
    class And (line 26) | private static class And<T> implements Condition<T>  {
      method And (line 30) | public And(final Condition<T> t1, final Condition<T> t2) {
      method value (line 35) | @Override
    class Or (line 41) | private static class Or<T> implements Condition<T>  {
      method Or (line 45) | public Or(final Condition<T> t1, final Condition<T> t2) {
      method value (line 50) | @Override
    class Not (line 56) | private static class Not<T> implements Condition<T> {
      method Not (line 59) | public Not(Condition<T> condition) {
      method value (line 63) | @Override
    method or (line 69) | public static <T> Condition<T> or(Condition<T> c1, Condition<T> c2) {
    method not (line 73) | public static <T> Condition<T> not(Condition<T> c) {
    method and (line 77) | public static <T> Condition<T> and(Condition<T> c1, Condition<T> c2) {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/AllDiagnosticsTests.java
  class AllDiagnosticsTests (line 6) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/FileComparisonFailure.java
  class FileComparisonFailure (line 5) | public class FileComparisonFailure extends ComparisonFailure {
    method FileComparisonFailure (line 11) | public FileComparisonFailure(String message, String expected, String a...
    method getFilePath (line 18) | public String getFilePath() {
    method getExpected (line 22) | @Override
    method getActual (line 27) | @Override

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/JavaAnnotationArgumentsInKotlinTest.java
  class JavaAnnotationArgumentsInKotlinTest (line 8) | public class JavaAnnotationArgumentsInKotlinTest extends KotlinDiagnosti...
    method configure (line 9) | @Override
    method testAnnotationAsJavaAnnotationArgument (line 15) | @Test
    method testConstAsJavaAnnotationArgument (line 21) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/JetLightFixture.java
  class JetLightFixture (line 16) | public class JetLightFixture {
    method ensureParsed (line 18) | protected static void ensureParsed(PsiFile file) {
    method createCheckAndReturnPsiFile (line 27) | public static KtFile createCheckAndReturnPsiFile(String testName, Stri...
    method createPsiFile (line 39) | public static KtFile createPsiFile(@Nullable String testName, @Nullabl...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/JetTestUtils.java
  class JetTestUtils (line 30) | public class JetTestUtils {
    method mkdirs (line 37) | public static void mkdirs(File file) throws IOException {
    method doLoadFile (line 49) | public static String doLoadFile(File file) throws IOException {
    type TestFileFactory (line 53) | public interface TestFileFactory<M, F> {
      method createFile (line 54) | F createFile(@Nullable M module, String fileName, String text, Map<S...
      method createModule (line 56) | M createModule(String name, List<String> dependencies);
    class TestFileFactoryNoModules (line 59) | public static abstract class TestFileFactoryNoModules<F> implements Te...
      method createFile (line 60) | @Override
      method create (line 70) | @NotNull
      method createModule (line 73) | @Override
    method createFile (line 79) | @NotNull
    method parseDependencies (line 87) | private static List<String> parseDependencies(@Nullable String depende...
    method assertEqualsToFile (line 99) | public static void assertEqualsToFile(@NotNull File expectedFile, @Not...
    method parseDirectives (line 121) | @NotNull
    method createTestFiles (line 140) | public static <M, F> List<F> createTestFiles(String testFileName, Stri...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/KotlinDiagnosticsJavaPlusKotlinTest.java
  class KotlinDiagnosticsJavaPlusKotlinTest (line 8) | public class KotlinDiagnosticsJavaPlusKotlinTest extends KotlinDiagnosti...
    method configure (line 9) | @Override
    method testAccessClassObjectFromJava (line 15) | @Test
    method testAmbiguousSamAdapters (line 20) | @Test
    method testAnnotationWithArgumentsMissingDependencies (line 25) | @Test
    method testArrayOfStarParametrized (line 30) | @Ignore
    method testCanDeclareIfSamAdapterIsInherited (line 36) | @Test
    method testComputeIfAbsentConcurrent (line 41) | @Test
    method testContravariantIterable (line 46) | @Test
    method testEnumGetOrdinal (line 51) | @Test
    method testFieldOverridesField (line 56) | @Test
    method testFieldOverridesFieldOfDifferentType (line 61) | @Ignore
    method testFinalCollectionSize (line 67) | @Test
    method testGenericConstructorWithMultipleBounds (line 72) | @Ignore
    method testGenericsInSupertypes (line 78) | @Test
    method testInheritAbstractSamAdapter (line 83) | @Test
    method testInheritedGenericFunction (line 88) | @Test
    method testInnerClassFromJava (line 93) | @Test
    method testInnerNestedClassFromJava (line 98) | @Test
    method testInvisiblePackagePrivateInheritedMember (line 103) | @Test
    method testKJKInheritance (line 108) | @Test
    method testKJKInheritanceGeneric (line 114) | @Test
    method testJavaStaticImport (line 120) | @Test
    method testKt1402 (line 125) | @Test
    method testKt1431 (line 130) | @Test
    method testKt1730_implementCharSequence (line 135) | @Test
    method testKt2152 (line 140) | @Test
    method testKt2394 (line 145) | @Test
    method testKt2606 (line 150) | @Test
    method testKt2619 (line 155) | @Test
    method testKt2641 (line 160) | @Test
    method testKt2890 (line 165) | @Test
    method testKt3307 (line 170) | @Test
    method testKt3311 (line 175) | @Test
    method testKt7523 (line 180) | @Test
    method testMatchers (line 185) | @Test
    method testMutableIterator (line 190) | @Test
    method testOverrideRawType (line 195) | @Test
    method testOverrideVararg (line 200) | @Test
    method testOverrideWithSamAndTypeParameter (line 205) | @Test
    method testPackagePrivateClassStaticMember (line 210) | @Ignore
    method testPackageVisibility (line 216) | @Test
    method testPrivateNestedClassStaticMember (line 221) | @Test
    method testProtectedStaticSamePackage (line 226) | @Test
    method testRecursionWithJavaSyntheticProperty (line 231) | @Test
    method testRecursiveRawUpperBound (line 236) | @Test
    method testRecursiveRawUpperBound2 (line 241) | @Test
    method testRecursiveRawUpperBound3 (line 246) | @Test
    method testSamInConstructorWithGenerics (line 251) | @Test
    method testSerializable (line 256) | @Test
    method testShadowingPrimitiveStaticField (line 261) | @Test
    method testSimple (line 266) | @Test
    method testSpecialBridges (line 271) | @Test
    method testStaticMembersFromSuperclasses (line 276) | @Test
    method testSupertypeArgumentsNullabilityNotNullSpecialTypes (line 281) | @Test
    method testSupertypeArgumentsNullabilityNotNullUserTypes (line 286) | @Test
    method testSupertypeArgumentsNullabilitySpecialTypes (line 291) | @Test
    method testSupertypeArgumentsNullabilityUserTypes (line 296) | @Test
    method testTraitDefaultCall (line 301) | @Test
    method testUnboxingNulls (line 306) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/diagnostics/KotlinDiagnosticsTest.java
  class KotlinDiagnosticsTest (line 7) | public class KotlinDiagnosticsTest extends KotlinDiagnosticsTestCase {
    method testAbstract (line 9) | @Test
    method testAbstractAccessor (line 14) | @Test
    method testAbstractInAbstractClass (line 19) | @Test
    method testAbstractInClass (line 24) | @Test
    method testAbstractInTrait (line 29) | @Test
    method testAnonymousInitializers (line 34) | @Test
    method testAnonymousInitializerVarAndConstructor (line 39) | @Test
    method testAssignToArrayElement (line 44) | @Test
    method testAutoCreatedIt (line 49) | @Ignore
    method testBacktickNames (line 55) | @Test
    method testBasic (line 60) | @Ignore
    method testBinaryCallsOnNullableValues (line 66) | @Ignore
    method testBounds (line 72) | @Ignore
    method testBreakContinue (line 78) | @Test
    method testBuilders (line 83) | @Test
    method testCasts (line 88) | @Test
    method testCharacterLiterals (line 93) | @Test
    method testcheckType (line 98) | @Ignore
    method testCompareToWithErrorType (line 104) | @Test
    method testConstants (line 109) | @Test
    method testConstructors (line 114) | @Test
    method testConstructorsOfPrimitives (line 119) | @Test
    method testCovariantOverrideType (line 124) | @Test
    method testDefaultValueForParameterInFunctionType (line 129) | @Test
    method testDefaultValuesTypechecking (line 134) | @Ignore
    method testDeferredTypes (line 140) | @Test
    method testDeprecatedGetSetPropertyDelegateConvention (line 145) | @Test
    method testDeprecatedUnaryOperatorConventions (line 150) | @Ignore
    method testDiamondFunction (line 156) | @Test
    method testDiamondFunctionGeneric (line 161) | @Test
    method testDiamondProperty (line 166) | @Test
    method testDollar (line 171) | @Test
    method testEnumEntryAsType (line 176) | @Ignore
    method testExtensionCallInvoke (line 182) | @Test
    method testfileDependencyRecursion (line 187) | @Test
    method testForRangeConventions (line 192) | @Test
    method testFreeFunctionCalledAsExtension (line 197) | @Test
    method testFunctionCalleeExpressions (line 202) | @Test
    method testFunctionParameterWithoutType (line 207) | @Test
    method testFunctionReturnTypes (line 212) | @Ignore
    method testGenericArgumentConsistency (line 218) | @Test
    method testGenericFunctionIsLessSpecific (line 223) | @Test
    method testimplicitIntersection (line 228) | @Test
    method testimplicitNestedIntersection (line 233) | @Test
    method testIncDec (line 238) | @Test
    method testIncorrectCharacterLiterals (line 243) | @Test
    method testInferNullabilityInThenBlock (line 248) | @Test
    method testInfix (line 253) | @Test
    method testInfixModifierApplicability (line 258) | @Test
    method testInvokeAndRecursiveResolve (line 263) | @Ignore
    method testIsExpressions (line 269) | @Test
    method testkt310 (line 274) | @Ignore
    method testkt53 (line 280) | @Test
    method testLateInit (line 285) | @Ignore
    method testLateInitSetter (line 291) | @Ignore
    method testLiteralAsResult (line 297) | @Test
    method testLocalClassAndShortSubpackageNames (line 302) | @Test
    method testlocalInterfaces (line 307) | @Test
    method testLValueAssignment (line 312) | @Test
    method testMultilineStringTemplates (line 317) | @Test
    method testMultipleBounds (line 322) | @Test
    method testNamedFunctionTypeParameterInSupertype (line 327) | @Test
    method testNullability (line 332) | @Test
    method testNumberPrefixAndSuffix (line 337) | @Test
    method testObjectWithConstructor (line 342) | @Test
    method testOperatorChecks (line 347) | @Test
    method testOperators (line 352) | @Test
    method testOperatorsWithWrongNames (line 357) | @Test
    method testOverrideFunctionWithParamDefaultValue (line 362) | @Test
    method testOverridenFunctionAndSpecifiedTypeParameter (line 367) | @Test
    method testOverridenSetterVisibility (line 372) | @Test
    method testOverridingVarByVal (line 377) | @Test
    method testPackageInExpressionPosition (line 382) | @Test
    method testPackageInTypePosition (line 387) | @Test
    method testPackageQualified (line 392) | @Ignore
    method testPrimaryConstructors (line 398) | @Test
    method testPrivateFromOuterPackage (line 403) | @Test
    method testPrivateSetterForOverridden (line 408) | @Test
    method testProcessingEmptyImport (line 413) | @Test
    method testProjectionOnFunctionArgumentErrror (line 418) | @Test
    method testProjectionsInSupertypes (line 423) | @Test
    method testProperties (line 428) | @Test
    method testPropertyInitializers (line 433) | @Test
    method testQualifiedExpressions (line 438) | @Ignore
    method testRecursiveGetter (line 444) | @Ignore
    method testRecursiveResolve (line 450) | @Test
    method testRecursiveTypeInference (line 455) | @Ignore
    method testResolveOfJavaGenerics (line 461) | @Test
    method testResolveToJava (line 466) | @Test
    method testReturn (line 471) | @Test
    method testSafeCallInvoke (line 476) | @Test
    method testSafeCallNonNullReceiver (line 481) | @Test
    method testSafeCallNonNullReceiverReturnNull (line 486) | @Ignore
    method testSafeCallOnFakePackage (line 492) | @Test
    method testSafeCallOnSuperReceiver (line 497) | @Test
    method testSerializable (line 502) | @Test
    method testSetterVisibility (line 507) | @Test
    method testShiftFunctionTypes (line 512) | @Test
    method testStarsInFunctionCalls (line 517) | @Test
    method testStringPrefixAndSuffix (line 522) | @Test
    method testStringTemplates (line 527) | @Test
    method testSupertypeListChecks (line 532) | @Test
    method testSyntaxErrorInTestHighlighting (line 537) | @Test
    method testSyntaxErrorInTestHighlightingEof (line 542) | @Test
    method testTraitOverrideObjectMethods (line 547) | @Ignore
    method testTraitWithConstructor (line 553) | @Test
    method testTypeInference (line 558) | @Test
    method testTypeMismatchOnOverrideWithSyntaxErrors (line 563) | @Test
    method testUnderscore (line 568) | @Test
    method testUnitByDefaultForFunctionTypes (line 573) | @Test
    method testUnitValue (line 578) | @Test
    method testUnresolved (line 583) | @Test
    method testUnusedParameters (line 588) | @Test
    method testUnusedVariables (line 593) | @Test
    method testValAndFunOverrideCompatibilityClash (line 598) | @Test
    method testVarargs (line 603) | @Test
    method testVarargTypes (line 608) | @Test
    method testVariance (line 613) | @Ignore
    method testFeaturesOfKotlin_1_2 (line 619) | @Ignore

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/launch/AllTests.java
  class AllTests (line 22) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/launch/KotlinJUnitLaunchTest.java
  class KotlinJUnitLaunchTest (line 6) | @Ignore
    method testSimpleJUnitTests (line 8) | @Test
    method testRunTestExtendingTestCase (line 13) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/launch/KotlinJUnitLaunchTestCase.java
  class KotlinJUnitLaunchTestCase (line 28) | public class KotlinJUnitLaunchTestCase extends KotlinProjectTestCase {
    method configure (line 29) | @Before
    method doTest (line 36) | public void doTest(String testPath) {
    method findKotlinJUnitLaunchShortcut (line 63) | private LaunchShortcutExtension findKotlinJUnitLaunchShortcut() {
    method addJUnitToClasspath (line 74) | private void addJUnitToClasspath() {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/core/tests/launch/KotlinLaunchTest.java
  class KotlinLaunchTest (line 21) | public class KotlinLaunchTest extends KotlinLaunchTestCase {
    method launchSimpleProject (line 25) | @Test
    method launchWhenProjectNameHaveSpace (line 30) | @Test
    method launchWithTwoSourceFolders (line 35) | @Test
    method launchWhenSourceFolderHaveSpace (line 40) | @Test
    method launchFileWithJvmNameAnnotation (line 45) | @Test
    method launchMainFromObject (line 50) | @Test
    method launchMainFromCompanionObject (line 55) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/AllTests.java
  class AllTests (line 22) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/AllTests.java
  class AllTests (line 27) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/CommandTestCase.java
  class CommandTestCase (line 26) | public class CommandTestCase extends KotlinEditorTestCase {
    method assertCommandEnabled (line 28) | public static void assertCommandEnabled(String commandId, boolean isEn...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinAnalyzerInIDETest.java
  class KotlinAnalyzerInIDETest (line 22) | public class KotlinAnalyzerInIDETest extends KotlinAnalyzerInIDETestCase {
    method unresolvedPackageType (line 24) | @Ignore
    method analyzerHasKotlinRuntime (line 30) | @Test
    method checkAnalyzerFoundError (line 35) | @Ignore
    method analyzerHasKotlinAnnotations (line 41) | @Test
    method javaFromKotlin (line 46) | @Ignore
    method kotlinFromJava (line 52) | @Test
    method kotlinInpackageFromJava (line 57) | @Test
    method kotlinJavaKotlin (line 62) | @Test
    method kotlinWithErrorsFromJava (line 67) | @Ignore
    method checkTestsFoundJavaError (line 73) | @Test
    method companionObjectFromJava (line 78) | @Test
    method packageLevelFunctionsFromJava (line 83) | @Ignore
    method packageLevelPropertiesFromJava (line 89) | @Ignore
    method checkExistancePackageLevelFunctions (line 95) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinAutoIndentTest.java
  class KotlinAutoIndentTest (line 6) | public class KotlinAutoIndentTest extends KotlinAutoIndentTestCase {
    method getTestDataRelativePath (line 7) | @Override
    method getAfterPosition (line 12) | @Override
    method AfterCatch (line 17) | @Test
    method AfterFinally (line 22) | @Test
    method AfterImport (line 27) | @Test
    method AfterTry (line 32) | @Test
    method AssignmentAfterEq (line 37) | @Ignore
    method BinaryWithTypeExpressions (line 43) | @Ignore
    method ConsecutiveCallsAfterDot (line 49) | @Test
    method ConsecutiveCallsInSaeCallsMiddle (line 54) | @Test
    method ConsecutiveCallsInSafeCallsEnd (line 59) | @Test
    method DoInFun (line 64) | @Test
    method For (line 69) | @Test
    method FunctionBlock (line 74) | @Test
    method FunctionWithInference (line 79) | @Test
    method If (line 84) | @Test
    method InBinaryExpressionInMiddle (line 89) | @Ignore
    method InBinaryExpressionsBeforeCloseParenthesis (line 95) | @Ignore
    method InBinaryExpressionUnfinished (line 101) | @Ignore
    method InDelegationListAfterColon (line 107) | @Ignore
    method InDelegationListAfterComma (line 113) | @Ignore
    method InDelegationListNotEmpty (line 119) | @Ignore
    method InEnumAfterSemicolon (line 125) | @Ignore
    method InEnumInitializerListAfterComma (line 131) | @Ignore
    method InEnumInitializerListNotEmpty (line 137) | @Ignore
    method InExpressionsParenthesesBeforeOperand (line 143) | @Ignore
    method InLambdaBeforeParams (line 149) | @Test
    method InLambdaInsideChainCallSameLine (line 154) | @Test
    method InLambdaInsideChainCallWithNewLine (line 159) | @Test
    method InLambdaInsideChainCallWithNewLineWithSpaces (line 164) | @Test
    method InMultilineLambdaAfterArrow (line 169) | @Test
    method IsExpressionAfterIs (line 174) | @Ignore
    method MultideclarationAfterEq (line 180) | @Test
    method MultideclarationBeforeEq (line 185) | @Test
    method NotFirstParameter (line 190) | @Test
    method PropertyWithInference (line 195) | @Test
    method ReturnContinue (line 200) | @Test
    method SettingAlignMultilineParametersInCalls (line 205) | @Ignore
    method While (line 211) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinAutoIndenterTestCase.java
  class KotlinAutoIndenterTestCase (line 31) | public abstract class KotlinAutoIndenterTestCase extends KotlinProjectTe...
    method configure (line 35) | @Before
    method afterTest (line 42) | @Override
    method doTest (line 49) | protected void doTest(String input, String expected) {
    method getStore (line 61) | protected IPreferenceStore getStore() {
    method setStorePreference (line 65) | protected void setStorePreference(boolean isSpacesForTabs, int tabWidt...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinBasicAutoIndentTest.java
  class KotlinBasicAutoIndentTest (line 22) | public class KotlinBasicAutoIndentTest extends KotlinAutoIndentTestCase {
    method getTestDataRelativePath (line 23) | @Override
    method getAfterPosition (line 28) | @Override
    method sampleTest (line 33) | @Test
    method betweenBracesOnOneLine (line 38) | @Test
    method betweenBracesOnDifferentLine (line 43) | @Test
    method beforeCloseBrace (line 48) | @Test
    method afterOneOpenBrace (line 53) | @Test
    method lineBreakSaveIndent (line 58) | @Test
    method afterOperatorIfWithoutBraces (line 63) | @Test
    method afterOperatorWhileWithoutBraces (line 68) | @Test
    method breakLineAfterIfWithoutBraces (line 74) | @Test
    method nestedOperatorsWithBraces (line 79) | @Test
    method nestedOperatorsWithoutBraces (line 84) | @Test
    method beforeFunctionStart (line 89) | @Test
    method afterOpenBraceWithShift (line 94) | @Test
    method betweenBracesWithSpacesAtStart (line 99) | @Test
    method betweenBracesWithSpacesEnd1 (line 104) | @Test
    method betweenBracesWithSpacesEnd2 (line 109) | @Test
    method betweenBracesWithSpacesMiddle (line 114) | @Test
    method newLineInParameters1 (line 119) | @Test
    method newLineInParameters2 (line 124) | @Test
    method continuationBeforeFunName (line 129) | @Test
    method continuationAfterDotCall (line 134) | @Test
    method indentBeforeWhile (line 139) | @Test
    method afterFunCallInScript (line 144) | @Ignore

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinBracketInserterTest.java
  class KotlinBracketInserterTest (line 21) | public class KotlinBracketInserterTest extends KotlinBracketInserterTest...
    method simpleBracketAutoCompletion (line 23) | @Test
    method insertBeforeOpenBracket (line 28) | @Test
    method insertBeforeBetweenBracket (line 33) | @Test
    method insertAngleBracket (line 38) | @Test
    method insertBrace (line 43) | @Test
    method insertBracketInsideString (line 48) | @Test
    method insertClosingBraceOnLastLine (line 53) | @Test
    method insertClosingBraceAfterExpression (line 58) | @Test
    method insertClosingBrace (line 63) | @Test
    method insertClosingBraceWithRemovingTabulation (line 68) | @Test
    method insertClosingBraceWithoutRemovingTabulation (line 73) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinBracketInserterTestCase.java
  class KotlinBracketInserterTestCase (line 27) | public abstract class KotlinBracketInserterTestCase extends KotlinProjec...
    method setUp (line 31) | @Before
    method tearDown (line 39) | @After
    method doTest (line 47) | protected void doTest(String input, char element, String expected) {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinCustomLocationBugTest.java
  class KotlinCustomLocationBugTest (line 32) | public class KotlinCustomLocationBugTest extends KotlinEditorTestCase {
    method testGetSrcDirectories (line 37) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinEditorBaseTest.java
  class KotlinEditorBaseTest (line 24) | public class KotlinEditorBaseTest extends KotlinProjectTestCase {
    method openEditorTest (line 25) | @Test
    method getJavaProjectTest (line 31) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/KotlinEditorClosedProjectInfluenceTest.java
  class KotlinEditorClosedProjectInfluenceTest (line 34) | public class KotlinEditorClosedProjectInfluenceTest extends KotlinEditor...
    method testTwoProjectsBothOpen (line 39) | @Test
    method testTwoProjectsOneClosed (line 52) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/PsiVisualizationCommandTest.java
  class PsiVisualizationCommandTest (line 25) | public class PsiVisualizationCommandTest extends CommandTestCase {
    method testPsiVisualizationCommandWithoutEditor (line 29) | @Test
    method testPsiVisualizationCommandInKotlinEditor (line 34) | @Test
    method testPsiVisualizationCommandInJavaEditor (line 41) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/AllTests.java
  class AllTests (line 22) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/KotlinBasicCompletionTest.java
  class KotlinBasicCompletionTest (line 21) | public class KotlinBasicCompletionTest extends KotlinBasicCompletionTest...
    method testJavaConstructorsComletion (line 22) | @Test
    method testAfterFloatOnNewLine (line 27) | @Test
    method testAfterIntSeparatedWithComments (line 32) | @Test
    method testAutoCastAfterIf (line 37) | @Test
    method testAutoCastAfterIfMethod (line 42) | @Test
    method testAutoCastForThis (line 47) | @Test
    method testAutoCastInWhen (line 52) | @Test
    method testBasicAny (line 57) | @Test
    method testBasicInt (line 62) | @Test
    method testBeforeDotInCall (line 67) | @Test
    method testCallLocalLambda (line 72) | @Test
    method testClassObjectElementsInClass (line 77) | @Test
    method testClassRedeclaration1 (line 82) | @Test
    method testClassRedeclaration2 (line 87) | @Test
    method testExtendClassName (line 92) | @Test
    method testExtendQualifiedClassName (line 97) | @Test
    method testExtensionToIntInFloatStyle (line 123) | @Test
    method testFromImports (line 128) | @Test
    method testInCallExpression (line 138) | @Test
    method testInClassInitializer (line 143) | @Test
    method testInClassPropertyAccessor (line 148) | @Test
    method testInEmptyImport (line 153) | @Test
    method testInExpressionNoPrefix (line 158) | @Test
    method testInExtendTypeAnnotation (line 163) | @Test
    method testInFileWithMultiDeclaration (line 168) | @Test
    method testInFileWithTypedef (line 173) | @Test
    method testInFunInClassInitializer (line 178) | @Test
    method testInGlobalPropertyInitializer (line 183) | @Test
    method testInImport (line 188) | @Test
    method testInInitializerInPropertyAccessor (line 193) | @Test
    method testInLocalObjectDeclaration (line 198) | @Test
    method testInLongDotQualifiedExpression (line 203) | @Test
    method testInMiddleOfPackage (line 208) | @Test
    method testInMiddleOfPackageDirective (line 213) | @Test
    method testInObjectInDelegationSpecifier (line 218) | @Test
    method testInPackageBegin (line 223) | @Test
    method testInParametersTypes (line 228) | @Test
    method testInParametersTypesForce (line 233) | @Test
    method testInTypeAnnotation (line 238) | @Test
    method testJavaPackage (line 243) | @Test
    method testLocalMultideclarationValues (line 248) | @Test
    method testNamedObject (line 253) | @Test
    method testNoClassNameDuplication (line 258) | @Test
    method testNoCompletionAfterBigFloat (line 263) | @Test
    method testNoCompletionAfterFloat (line 268) | @Test
    method testNoCompletionAfterInt (line 273) | @Test
    method testNoCompletionAfterLong (line 278) | @Test
    method testNoEmptyPackage (line 283) | @Test
    method testNoTopLevelCompletionInQualifiedUserTypes (line 293) | @Test
    method testObjectRedeclaration1 (line 298) | @Test
    method testObjectRedeclaration2 (line 303) | @Test
    method testOnlyScopedClassesWithoutExplicit (line 308) | @Test
    method testOverloadFunctions (line 313) | @Test
    method testShortClassNamesInTypePosition (line 318) | @Test
    method testStandardJetDoubleFirst (line 328) | @Test
    method testSubpackageInFun (line 333) | @Test
    method testVariableClassName (line 343) | @Test
    method testVisibilityClassMembersFromExternalForce (line 349) | @Test
    method testVisibilityClassMembersFromExternal (line 354) | @Test
    method testVisibilityInSubclassForce (line 359) | @Test
    method testVisibilityInSubclass (line 364) | @Test
    method testVisibilityPrivateToThisInConstructor (line 369) | @Test
    method testVisibilityPrivateToThisInConstructorWithThis (line 374) | @Test
    method testVisibilityPrivateToThisInSpecialScope (line 379) | @Test
    method testVisibilityPrivateToThis (line 384) | @Test
    method testVisibilityPrivateToThisWithReceiver2 (line 389) | @Test
    method testVisibilityPrivateToThisWithReceiver (line 394) | @Test
    method testVisibilityPrivateToThisWithThis (line 399) | @Test
    method testVisibilityPrivateToThisWithWrongThis (line 404) | @Test
    method testAutoForceCompletion (line 411) | public void testAutoForceCompletion() throws Exception {
    method testExtensionFromStandardLibrary (line 415) | public void testExtensionFromStandardLibrary() throws Exception {
    method testInPackage (line 419) | public void testInPackage() throws Exception {
    method testJavaClassNames (line 423) | public void testJavaClassNames() throws Exception {
    method testNoClassNameDuplicationForRuntimeClass (line 427) | public void testNoClassNameDuplicationForRuntimeClass() throws Excepti...
    method testNoImportedJavaClassDuplication (line 431) | public void testNoImportedJavaClassDuplication() throws Exception {
    method testPropertyMetadata (line 435) | public void testPropertyMetadata() throws Exception {
    method testTopLevelFromStandardLibrary (line 439) | public void testTopLevelFromStandardLibrary() throws Exception {
    method testTopLevelFromStandardLibraryWithoutParam (line 443) | public void testTopLevelFromStandardLibraryWithoutParam() throws Excep...
    method testVariableWithLowerCase (line 447) | @Test
    method testFunctionWithLowerCase (line 452) | @Test
    method testWithCompletedExpression (line 457) | @Test
    method testOneProposalWithExplicitImport (line 462) | @Test
    method testOneProposalWithStarImport (line 467) | @Test
    method testNotImportedAnnotation (line 472) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/KotlinCompletionRelevanceTest.java
  class KotlinCompletionRelevanceTest (line 5) | public class KotlinCompletionRelevanceTest extends KotlinCompletionRelev...
    method testLocalBeforeNonImported (line 6) | @Test
    method testSortingForLocal (line 11) | @Test
    method testSortingForNonImported (line 16) | @Test
    method testByCamelCaseLocal (line 21) | @Test
    method testByPrefixMatchLocal (line 26) | @Test
    method testByPrefixWithImported (line 31) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/KotlinFunctionParameterInfoTest.java
  class KotlinFunctionParameterInfoTest (line 7) | public class KotlinFunctionParameterInfoTest extends KotlinFunctionParam...
    method testDeprecated (line 8) | @Test
    method testExtensionOnClassObject (line 13) | @Test
    method testInheritedFunctions (line 18) | @Test
    method testInheritedWithCurrentFunctions (line 23) | @Test
    method testNoAnnotations (line 28) | @Ignore
    method testNotAccessible (line 34) | @Test
    method testNotGreen (line 39) | @Test
    method testNullableTypeCall (line 44) | @Test
    method testPrintln (line 49) | @Test
    method testSimple (line 54) | @Test
    method testSimpleConstructor (line 59) | @Test
    method testSuperConstructorCall (line 64) | @Ignore("Unignore after fix bug with visibility")
    method testTwoFunctions (line 70) | @Test
    method testTwoFunctionsGrey (line 75) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/KotlinKeywordCompletionTest.java
  class KotlinKeywordCompletionTest (line 6) | public class KotlinKeywordCompletionTest extends KotlinKeywordCompletion...
    method testAfterClasses (line 8) | @Ignore
    method testAfterDot (line 14) | @Test
    method testAfterFuns (line 19) | @Ignore
    method testAfterSafeDot (line 25) | @Test
    method testAfterSpaceAndDot (line 30) | @Test
    method testBreakContinue (line 35) | @Test
    method testBreakWithLabel (line 40) | @Test
    method testCommaExpected (line 45) | @Test
    method testCompanionObjectBeforeObject (line 50) | @Test
    method testContinueWithLabel (line 55) | @Test
    method testInAnnotationClassScope (line 60) | @Ignore
    method testInBlockComment (line 66) | @Test
    method testInChar (line 71) | @Test
    method testInClassBeforeFun (line 76) | @Ignore
    method testInClassNoCompletionInValName (line 82) | @Test
    method testInClassProperty (line 87) | @Test
    method testInClassScope (line 92) | @Ignore
    method testInClassTypeParameters (line 98) | @Test
    method testInEnumScope1 (line 103) | @Test
    method testInEnumScope2 (line 108) | @Ignore
    method testInFunctionExpressionBody (line 114) | @Test
    method testInFunctionName (line 119) | @Test
    method testInFunctionRecieverType (line 124) | @Test
    method testInFunctionTypePosition (line 129) | @Test
    method testInGetterExpressionBody (line 134) | @Test
    method testInInterfaceScope (line 139) | @Ignore
    method testInMemberFunParametersList (line 145) | @Test
    method testInModifierListInsideClass (line 150) | @Test
    method testInNotFinishedGenericWithFunAfter (line 155) | @Test
    method testInObjectScope (line 160) | @Ignore
    method testInPrimaryConstructorParametersList (line 166) | @Ignore
    method testInPropertyInitializer (line 172) | @Test
    method testInPropertyTypeReference (line 177) | @Test
    method testInString (line 182) | @Test
    method testInTopFunParametersList (line 187) | @Test
    method testInTopScopeAfterPackage (line 192) | @Ignore
    method testLabeledLambdaThis (line 198) | @Test
    method testLineComment (line 203) | @Test
    method testNoBreak1 (line 208) | @Test
    method testNoBreak2 (line 213) | @Test
    method testNoCompletionForCapitalPrefix (line 218) | @Test
    method testNoContinue (line 223) | @Test
    method testNoFinalInParameterList (line 228) | @Test
    method testNotInNotIs (line 233) | @Test
    method testNotInNotIs2 (line 238) | @Test
    method testPrefixMatcher (line 243) | @Test
    method testQualifiedThis (line 248) | @Test
    method testReturn1 (line 253) | @Test
    method testReturn2 (line 258) | @Test
    method testReturn3 (line 263) | @Test
    method testReturn4 (line 268) | @Test
    method testReturn5 (line 273) | @Test
    method testReturn6 (line 278) | @Test
    method testReturn8 (line 283) | @Test
    method testReturn9 (line 288) | @Test
    method testReturnBoolean (line 293) | @Test
    method testReturnCollection (line 298) | @Test
    method testReturnIterable (line 303) | @Test
    method testReturnKeywordName (line 308) | @Test
    method testReturnList (line 313) | @Test
    method testReturnNotNull (line 318) | @Test
    method testReturnNull (line 323) | @Test
    method testReturnNullableBoolean (line 328) | @Test
    method testReturnSet (line 333) | @Test
    method testThis (line 338) | @Test
    method testThisPrefixMatching (line 343) | @Test
    method testTopScope (line 348) | @Ignore
    method testUseSiteTargetForPrimaryConstructorParameter (line 354) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/handlers/KotlinCompletionHandlerInsertTest.java
  class KotlinCompletionHandlerInsertTest (line 6) | public class KotlinCompletionHandlerInsertTest extends KotlinCompletionH...
    method getTestDataRelativePath (line 7) | @Override
    method existingSingleBrackets (line 12) | @Test
    method functionLiteralInsertOnSpace (line 17) | @Test
    method higherOrderFunction (line 22) | @Test
    method higherOrderFunctionWithArgs1 (line 27) | @Test
    method insertFunctionWithBothParentheses (line 32) | @Ignore
    method insertFunctionWithSingleParameterWithBrace (line 38) | @Test
    method insertVoidJavaMethod (line 43) | @Test
    method noParamsFunction (line 48) | @Test
    method paramsFunction (line 53) | @Test
    method singleBrackets (line 58) | @Ignore
    method insertJavaMethodWithParam (line 64) | @Test
    method functionWithParamOnBracket (line 69) | @Test
    method paramFunctionOnBracket (line 74) | @Test
    method unitFunctionOnBracket (line 79) | @Test
    method unitFunctionOnDot (line 84) | @Test
    method functionWithParamOnDot (line 89) | @Test
    method paramFunctionOnDot (line 94) | @Test
    method paramsFunctionOnDot (line 99) | @Test
    method completeWithExistingBraces (line 104) | @Test
    method completeWithExistingBracesOnBrace (line 109) | @Test
    method completeWithExistingBracesOnDot (line 114) | @Test
    method withParamsAndBraces (line 119) | @Test
    method withParamsAndBracesOnBrace (line 124) | @Test
    method withParamsAndBracesOnDot (line 129) | @Test
    method withLambdaAndBraces (line 134) | @Test
    method withLambdaAndBracesOnDot (line 139) | @Test
    method completeNonImported (line 144) | @Ignore
    method nonImportedByCamelCase (line 150) | @Ignore
    method filterTypesFromSamePackage (line 156) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/handlers/KotlinCompletionHandlerInsertTestCase.java
  class KotlinCompletionHandlerInsertTestCase (line 13) | public abstract class KotlinCompletionHandlerInsertTestCase extends Kotl...
    method before (line 14) | @Before
    method performTest (line 19) | @Override
    method getEditor (line 50) | private KotlinFileEditor getEditor() {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/templates/AllTests.java
  class AllTests (line 19) | public class AllTests {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/templates/KotlinTemplatesTest.java
  class KotlinTemplatesTest (line 22) | public class KotlinTemplatesTest extends KotlinTemplatesTestCase {
    method completeMainTemplate (line 24) | @Test
    method completeMainTemplateAfterText (line 32) | @Test
    method doNotCompleteMainInClass (line 44) | @Test
    method doNotCompleteMainInDeclaration (line 52) | @Test
    method doNotCompleteMainInExpression (line 57) | @Test
    method completeMainTemplateUsingSpacesInsteadTab (line 62) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/completion/templates/KotlinTemplatesTestCase.java
  class KotlinTemplatesTestCase (line 35) | public abstract class KotlinTemplatesTestCase extends KotlinProjectTestC...
    method configure (line 36) | @Before
    method doTest (line 41) | public void doTest(String input) {
    method doTest (line 45) | public void doTest(String input, String expected) {
    method doTest (line 49) | public void doTest(String input, String expected, Separator separator,...
    method applyTemplateProposal (line 70) | private void applyTemplateProposal(TemplateProposal templateProposal, ...
    method configureIndents (line 77) | private void configureIndents(Separator separator, int spacesCount) {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/formatter/AllFormatTests.java
  class AllFormatTests (line 6) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/formatter/KotlinFileAnnotationsFormatTest.java
  class KotlinFileAnnotationsFormatTest (line 5) | public class KotlinFileAnnotationsFormatTest extends KotlinFormatActionT...
    method getAfterPosition (line 6) | @Override
    method getTestDataRelativePath (line 11) | @Override
    method beforeDeclaration (line 16) | @Test
    method beforeImportList (line 21) | @Test
    method beforePackage (line 26) | @Test
    method inEmptyFile (line 31) | @Test
    method manyLinesFromFileBegin (line 36) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/formatter/KotlinFormatActionTest.java
  class KotlinFormatActionTest (line 22) | public class KotlinFormatActionTest extends KotlinFormatActionTestCase {
    method getTestDataRelativePath (line 23) | @Override
    method classesAndPropertiesFormatTest (line 28) | @Test
    method objectsAndLocalFunctionsFormatTest (line 33) | @Test
    method packageFunctionsFormatTest (line 38) | @Test
    method withBlockComments (line 43) | @Test
    method withJavaDoc (line 48) | @Test
    method withLineComments (line 53) | @Test
    method withoutComments (line 58) | @Test
    method initIndent (line 63) | @Test
    method newLineAfterImportsAndPackage (line 68) | @Test
    method withWhitespaceBeforeBrace (line 73) | @Test
    method withMutableVariable (line 78) | @Test
    method indentInWhenEntry (line 83) | @Test
    method indentInDoWhile (line 88) | @Test
    method indentInPropertyAccessor (line 93) | @Test
    method indentInIfExpressionBlock (line 98) | @Test
    method lambdaInBlock (line 103) | @Test
    method formatSelection (line 108) | @Test
    method respectCaretAfterFormatting (line 113) | @Test
    method blockCommentBeforeDeclaration (line 118) | @Ignore
    method formatScriptFile (line 124) | @Test
    method commentOnTheLastLineOfLambda (line 130) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/formatter/KotlinFormatActionTestCase.java
  class KotlinFormatActionTestCase (line 31) | public abstract class KotlinFormatActionTestCase extends KotlinEditorWit...
    method before (line 32) | @Before
    method setDefaultSettings (line 37) | @After
    method performTest (line 42) | @Override
    method assertLineDelimiters (line 57) | private void assertLineDelimiters(String expectedLineDelimiter, IDocum...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/formatter/KotlinIdeaFormatActionTest.java
  class KotlinIdeaFormatActionTest (line 5) | public class KotlinIdeaFormatActionTest extends KotlinFormatActionTestCa...
    method getAfterPosition (line 6) | @Override
    method getTestDataRelativePath (line 11) | @Override
    method AfterSemiColonInEnumClass (line 16) | @Test
    method AnonymousInitializers (line 21) | @Test
    method AnonymousInitializersLineBreak (line 26) | @Test
    method ArrayAccess (line 31) | @Test
    method BinaryExpressionAlignmentSpread (line 36) | @Test
    method BinaryExpressions (line 41) | @Test
    method BinaryExpressionsBoolean (line 46) | @Test
    method BinaryExpressionsWithoutAlignment (line 51) | @Test
    method BlockFor (line 56) | @Test
    method CatchFinallyOnNewLine (line 61) | @Test
    method Class (line 66) | @Test
    method ClassInBody (line 71) | @Test
    method ClassLineBreak (line 76) | @Test
    method ColonSpaces (line 81) | @Test
    method CommentInFunctionLiteral (line 86) | @Test
    method DelegationList (line 91) | @Test
    method DocComments (line 96) | @Test
    method DoWhileLineBreak (line 101) | @Test
    method DoWhileSpacing (line 106) | @Test
    method ElseOnNewLine (line 111) | @Test
    method Elvis (line 116) | @Test
    method EmptyLineAfterObjectDeclaration (line 121) | @Test
    method EmptyLineAfterPackage (line 126) | @Test
    method EmptyLineBetweeAbstractFunctions (line 131) | @Test
    method EmptyLineBetweenClassAndFunction (line 136) | @Test
    method EmptyLineBetweenClasses (line 141) | @Test
    method EmptyLineBetweenEnumEntries (line 146) | @Test
    method EmptyLineBetweenFunAndProperty (line 151) | @Test
    method EmptyLineBetweenFunctions (line 156) | @Test
    method EmptyLineBetweenProperties (line 161) | @Test
    method ForLineBreak (line 166) | @Test
    method FormatFirstColumnComments (line 171) | @Test
    method FormatFirstColumnCommentsBeforeDeclaration (line 176) | @Test
    method ForNoBraces (line 181) | @Test
    method ForSpacing (line 186) | @Test
    method FunctionalType (line 191) | @Test
    method FunctionCallParametersAlign (line 196) | @Test
    method FunctionDefParametersAlign (line 201) | @Test
    method FunctionExpression (line 206) | @Test
    method FunctionLineBreak (line 211) | @Test
    method FunctionWithInference (line 216) | @Test
    method GetterAndSetter (line 221) | @Test
    method If (line 226) | @Test
    method IfElseRemoveLineBreak (line 231) | @Test
    method IfElseWithLineBreak (line 236) | @Test
    method IfElseWithTrickyComments (line 241) | @Test
    method IfSpacing (line 246) | @Test
    method KDoc (line 251) | @Test
    method LambdaArrow (line 256) | @Test
    method LoopParameterWithExplicitType (line 261) | @Test
    method Multideclaration (line 266) | @Test
    method MultilineFunctionLiteral (line 271) | @Test
    method MultilineFunctionLiteralWithParams (line 276) | @Test
    method NewLineForRBrace (line 281) | @Test
    method ObjectInBody (line 286) | @Test
    method ParameterDocComments (line 291) | @Test
    method Parameters (line 296) | @Test
    method PrimaryConstructor (line 301) | @Test
    method PropertyAccessors (line 306) | @Test
    method PropertyTypeParameterList (line 311) | @Test
    method PropertyWithInference (line 316) | @Test
    method ReferenceExpressionFunctionLiteral (line 321) | @Test
    method RemoveSpacesAroundOperations (line 326) | @Test
    method ReturnExpression (line 331) | @Test
    method RightBracketOnNewLine (line 336) | @Test
    method SaveSpacesInDocComments (line 341) | @Test
    method SecondaryConstructors (line 346) | @Test
    method secondaryCtorLineBreak (line 351) | @Test
    method SingleLineFunctionLiteral (line 356) | @Test
    method SpaceAroundExtendColon (line 361) | @Test
    method SpaceAroundExtendColonInObjects (line 366) | @Test
    method SpaceAroundExtendColonInSecondaryCtr (line 371) | @Test
    method SpaceBeforeFunctionLiteral (line 376) | @Test
    method SpacedInsideParans (line 381) | @Test
    method SpacesAroundOperations (line 386) | @Test
    method SpacesAroundUnaryOperations (line 391) | @Test
    method SpacesInDeclarations (line 396) | @Test
    method SpacesInQualifiedExpressions (line 401) | @Test
    method TryCatchLineBreak (line 406) | @Test
    method UnnecessarySpacesInParametersLists (line 411) | @Test
    method ValVarSpaces (line 416) | @Test
    method When (line 421) | @Test
    method WhenArrow (line 426) | @Test
    method WhenEntryExpr (line 431) | @Test
    method WhenLineBreak (line 436) | @Test
    method WhenLinesBeforeLbrace (line 441) | @Test
    method WhileLineBreak (line 446) | @Test
    method WhileOnNewLine (line 451) | @Test
    method WhileSpacing (line 456) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/formatter/KotlinModifierListFormatTest.java
  class KotlinModifierListFormatTest (line 5) | public class KotlinModifierListFormatTest extends KotlinFormatActionTest...
    method getAfterPosition (line 6) | @Override
    method getTestDataRelativePath (line 11) | @Override
    method funAnnotationBeforeAnnotation (line 16) | @Test
    method funAnnotationBeforeAnnotationEntry (line 21) | @Test
    method funAnnotationBeforeModifiers (line 26) | @Test
    method funAnnotationEntryBeforeAnnotation (line 31) | @Test
    method funAnnotationEntryBeforeAnnotationEntry (line 36) | @Test
    method funAnnotationEntryBeforeModifiers (line 41) | @Test
    method funModifierBeforeAnnotation (line 46) | @Test
    method funModifierBeforeAnnotationEntry (line 51) | @Test
    method funModifierBeforeModifiers (line 56) | @Test
    method funTheOnlyModifier (line 61) | @Test
    method memberFunTheOnlyModifier (line 66) | @Test
    method memberValTheOnlyModifier (line 71) | @Test
    method memberVarTheOnlyModifier (line 76) | @Test
    method secondMemberFunTheOnlyModifier (line 81) | @Test
    method secondMemberValTheOnlyModifier (line 86) | @Test
    method secondMemberVarTheOnlyModifier (line 91) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/formatter/KotlinParameterListFormatTest.java
  class KotlinParameterListFormatTest (line 6) | @Ignore
    method getAfterPosition (line 8) | @Override
    method getTestDataRelativePath (line 13) | @Override
    method ArgumentListChopAsNeeded (line 18) | @Test
    method ArgumentListDoNotWrap (line 23) | @Test
    method ArgumentListWrapAlways (line 28) | @Test
    method ArgumentListWrapAsNeeded (line 33) | @Test
    method ParameterListChopAsNeeded (line 38) | @Test
    method ParameterListDoNotWrap (line 43) | @Test
    method ParameterListWrapAlways (line 48) | @Test
    method ParameterListWrapAsNeeded (line 53) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/highlighting/KotlinHighlightingPositionUpdaterTest.java
  class KotlinHighlightingPositionUpdaterTest (line 21) | public class KotlinHighlightingPositionUpdaterTest extends KotlinHighlig...
    method getTestDataRelativePath (line 22) | @Override
    method afterFunctionName (line 27) | @Test
    method beforeFunctionName (line 32) | @Test
    method illegalCharactersAfter (line 37) | @Test
    method insideHighlightedPosition (line 42) | @Test
    method illegalCharactersBefore (line 47) | @Test
    method beforeHighlightedPosition (line 52) | @Test
    method afterHighlightedPosition (line 57) | @Test
    method illegalCharactersBeforeHighlightedPosition (line 62) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/highlighting/KotlinHighlightingTest.java
  class KotlinHighlightingTest (line 21) | public class KotlinHighlightingTest extends KotlinHighlightingTestCase {
    method getTestDataRelativePath (line 23) | @Override
    method kdocBasic (line 28) | @Test
    method kdocWithParam (line 33) | @Test
    method kdocWithProperty (line 38) | @Test
    method kdocWithSee (line 43) | @Test
    method kdocWithThrows (line 48) | @Test
    method kdocWithEmptyLines (line 53) | @Test
    method kdocWithMyTag (line 58) | @Test
    method kdocWithoutLeadingAsterisk (line 63) | @Test
    method function (line 68) | @Test
    method getterSetter (line 73) | @Test
    method highlightCompanionObject (line 78) | @Test
    method interfaceKeyword (line 83) | @Test
    method blockComment (line 88) | @Test
    method forKeyword (line 93) | @Test
    method importKeyword (line 98) | @Test
    method inKeyword (line 103) | @Test
    method keywordWithText (line 108) | @Test
    method openKeyword (line 113) | @Test
    method singleLineComment (line 118) | @Test
    method softImportKeyword (line 123) | @Test
    method softKeywords (line 128) | @Test
    method stringInterpolation (line 133) | @Test
    method textWithTokenBetween (line 138) | @Test
    method textWithTokenInPrefix (line 143) | @Test
    method textWithTokenInSuffix (line 148) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/highlighting/KotlinHighlightingTestCase.java
  class KotlinHighlightingTestCase (line 35) | public abstract class KotlinHighlightingTestCase extends KotlinEditorAut...
    method before (line 50) | @Before
    method doSingleFileAutoTest (line 55) | @Override
    method doMultiFileAutoTest (line 68) | @Override
    method insertTokenTags (line 73) | private String insertTokenTags(String text, StyleRange[] styleRanges) {
    method insertTokenTag (line 97) | private int insertTokenTag(StringBuilder input, String insertText, int...
    method removeColorTags (line 102) | private String removeColorTags(String text) {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/markers/AllTests.java
  class AllTests (line 22) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/markers/KotlinParsingMarkersTest.java
  class KotlinParsingMarkersTest (line 21) | public class KotlinParsingMarkersTest extends KotlinParsingMarkersTestCa...
    method getTestDataRelativePath (line 22) | @Override
    method missingClosingBraceErrorTest (line 27) | @Test
    method missingFunctionBodyErrorTest (line 32) | @Test
    method excessBraceTypingErrorTest (line 37) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/markers/KotlinParsingMarkersTestCase.java
  class KotlinParsingMarkersTestCase (line 36) | public abstract class KotlinParsingMarkersTestCase extends KotlinEditorW...
    method before (line 37) | @Before
    method performTest (line 42) | @Override
    method generateAndGetProblemMarkers (line 55) | protected IMarker[] generateAndGetProblemMarkers(String fileText) thro...
    method insertTagsForErrors (line 71) | private static String insertTagsForErrors(String fileText, IMarker[] m...
    method getOpenTagStartOffset (line 96) | private static int getOpenTagStartOffset(IMarker marker) throws CoreEx...
    method getCloseTagStartOffset (line 100) | private static int getCloseTagStartOffset(IMarker marker) throws CoreE...
    method getTagStartOffset (line 104) | private static int getTagStartOffset(IMarker marker, String type) thro...
    method insertTagByOffset (line 108) | private static int insertTagByOffset(StringBuilder builder, String tag...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/markers/MarkerAttributesTest.java
  class MarkerAttributesTest (line 28) | public class MarkerAttributesTest extends KotlinParsingMarkersTestCase {
    method getTestDataRelativePath (line 29) | @Override
    method performTest (line 34) | @Override
    method missingClosingBraceErrorTest (line 48) | @Ignore

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/AllTests.java
  class AllTests (line 22) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/JavaToKotlinNavigationTest.java
  class JavaToKotlinNavigationTest (line 6) | @Ignore("Navigation from java will be fixed in future releases")
    method getTestDataRelativePath (line 8) | @Override
    method toKotlinClass (line 13) | @Test
    method toKotlinClassInPackage (line 18) | @Test
    method toInnerKotlinClass (line 23) | @Test
    method toKotlinTopLevelFunction (line 28) | @Test
    method toKotlinFunction (line 33) | @Test
    method toKotlinFunctionInCompanion (line 38) | @Test
    method toCompanionObject (line 43) | @Test
    method toNamedCompanionObject (line 48) | @Test
    method toFunctionInInnerClass (line 53) | @Test
    method toFunctionWithNameDuplicate (line 58) | @Test
    method toFunctionWithNameDuplicateInClass (line 63) | @Test
    method specifiedPackageLevelFunction (line 68) | @Test
    method toFunInBaseClass (line 73) | @Test
    method toNestedCompanionObject (line 78) | @Test
    method toKotlinSuperClass (line 83) | @Test
    method toBasicProperty (line 88) | @Test
    method toBasicTopLevelProperty (line 93) | @Test
    method toTopLevelPropertyWithGetter (line 98) | @Test
    method toTopLevelPropertyWithSetter (line 103) | @Test
    method toPropertyWithGetter (line 108) | @Test
    method toPropertyWithSetter (line 113) | @Test
    method toMutablePropertyFromGetter (line 118) | @Test
    method toMutablePropertyFromSetter (line 123) | @Test
    method toMethodWithDefaultArg (line 128) | @Test
    method toPropertyInBaseClass (line 133) | @Test
    method toOverridenProperty (line 138) | @Test
    method toOverloadMethod1 (line 143) | @Test
    method toOverloadMethod2 (line 148) | @Test
    method toKotlinObject (line 153) | @Test
    method toSecondaryConstructor1 (line 158) | @Test
    method toSecondaryConstructor2 (line 163) | @Test
    method toPrimaryConstructor (line 168) | @Test
    method toFunctionInObject (line 173) | @Test
    method toFunctionWithPlatformName (line 178) | @Test
    method toKotlinEnumClass (line 183) | @Test
    method toFunctionWithExistingEqualSignature (line 188) | @Test
    method toFunctionWithExistingConstructorEqualSignature (line 193) | @Test
    method toKotlinEnumEntry (line 198) | @Test
    method toInnerKotlinEnumClass (line 203) | @Test
    method toInnerKotlinEnumEntry (line 208) | @Test
    method toFunctionInEnumClass (line 213) | @Test
    method toObjectInstance (line 218) | @Test
    method toParametrizedFunction (line 223) | @Test
    method toParametrizedFunctionWithOverload (line 228) | @Test
    method toParametrizedClass (line 233) | @Test
    method toMutablePropertyInCompanion (line 238) | @Test
    method toPropertyInCompanion (line 243) | @Test
    method toFunctionInFilePart (line 248) | @Test
    method toFilePart (line 253) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/JavaToKotlinNavigationTestCase.java
  class JavaToKotlinNavigationTestCase (line 11) | public abstract class JavaToKotlinNavigationTestCase extends KotlinNavig...
    method before (line 12) | @Before
    method doSingleFileAutoTest (line 17) | @Override
    method performTest (line 22) | @Override

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/KotlinBuiltInsReferenceResolverTest.java
  class KotlinBuiltInsReferenceResolverTest (line 5) | public class KotlinBuiltInsReferenceResolverTest extends KotlinBuiltInsR...
    method testAny (line 7) | @Test
    method testInt (line 12) | @Test
    method testNothing (line 17) | @Test
    method testEquals (line 22) | @Test
    method testToString (line 27) | @Test
    method testTimes (line 32) | @Test
    method testUnit (line 37) | @Test
    method testEmptyRange (line 42) | @Test
    method testIntArrayConstructor (line 47) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/KotlinBuiltInsReferenceResolverTestCase.java
  class KotlinBuiltInsReferenceResolverTestCase (line 12) | public class KotlinBuiltInsReferenceResolverTestCase extends KotlinSourc...
    method getTestDataPath (line 16) | @Override
    method getParsedFile (line 21) | @Override

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/KotlinNavigationFromLibraryTest.java
  class KotlinNavigationFromLibraryTest (line 7) | public class KotlinNavigationFromLibraryTest extends KotlinNavigationFro...
    method navigateToTheSameFile (line 11) | @Ignore
    method navigateToAnotherFile (line 17) | @Ignore

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/KotlinNavigationTest.java
  class KotlinNavigationTest (line 22) | public class KotlinNavigationTest extends KotlinNavigationTestCase {
    method before (line 23) | @Before
    method getTestDataRelativePath (line 28) | @Override
    method withinFileToClassNavigation (line 33) | @Test
    method withinFileToMethodNavigation (line 38) | @Test
    method withinFileFromConstructorToClassNavigation (line 43) | @Test
    method toKotlinClassNavigation (line 48) | @Test
    method toKotlinMethodNavigation (line 53) | @Test
    method toJavaClassNavigation (line 58) | @Test
    method toJavaMethodNavigation (line 63) | @Test
    method fromSyntheticPropertyOnlyWithGetter (line 68) | @Test
    method fromGetterSyntheticProperty (line 73) | @Test
    method fromSetterSyntheticProperty (line 78) | @Test
    method toJavaGetterMethod (line 83) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/KotlinNavigationTestCase.java
  class KotlinNavigationTestCase (line 36) | public abstract class KotlinNavigationTestCase extends KotlinEditorAutoT...
    class NavigationSourceFileData (line 38) | public static class NavigationSourceFileData extends SourceFileData {
      method value (line 41) | @Override
      method value (line 49) | @Override
      method NavigationSourceFileData (line 59) | public NavigationSourceFileData(File file) throws IOException {
      method getTestFiles (line 63) | public static List<NavigationSourceFileData> getTestFiles(File testF...
      method getFileByPredicate (line 89) | public static NavigationSourceFileData getFileByPredicate(Iterable<N...
    method getTestEditor (line 97) | protected TextEditorTest getTestEditor() {
    method performTest (line 101) | protected void performTest(String contentAfter) {
    method doSingleFileAutoTest (line 109) | @Override
    method doMultiFileAutoTest (line 120) | @Override

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/KotlinNavigationToLibraryTest.java
  class KotlinNavigationToLibraryTest (line 6) | public class KotlinNavigationToLibraryTest extends KotlinNavigationToLib...
    method testClass (line 8) | @Test
    method testFunction (line 13) | @Test
    method testPackageFunction (line 18) | @Test
    method testClassWithMisplacedSource (line 23) | @Ignore
    method testFunctionWithMisplacedSource (line 29) | @Ignore
    method testClassWithIdenticalMisplacedSource (line 35) | @Ignore
    method testConstructor (line 41) | @Test
    method testPackageFacadeFunction (line 46) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/navigation/KotlinNavigationToSuperTest.java
  class KotlinNavigationToSuperTest (line 5) | public class KotlinNavigationToSuperTest extends KotlinNavigationToSuper...
    method testClassSimple (line 6) | @Test
    method testDelegatedFun (line 11) | @Test
    method testDelegatedProperty (line 16) | @Test
    method testFakeOverrideFun (line 21) | @Test
    method testFakeOverrideFunWithMostRelevantImplementation (line 26) | @Test
    method testFakeOverrideProperty (line 31) | @Test
    method testFunctionSimple (line 36) | @Test
    method testObjectSimple (line 41) | @Test
    method testPropertySimple (line 46) | @Test
    method testSuperWithNativeToGenericMapping (line 51) | @Test
    method testTraitSimple (line 56) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/organizeImports/KotlinCommonOptimizeImportsTest.java
  class KotlinCommonOptimizeImportsTest (line 6) | public class KotlinCommonOptimizeImportsTest extends KotlinOrganizeImpor...
    method getTestDataRelativePath (line 7) | @Override
    method ArrayAccessExpression (line 12) | @Ignore("Enable this test when autoimport for functions will be ready")
    method ClassMemberImported (line 18) | @Ignore
    method ComponentFunction (line 24) | @Ignore("Enable this test when autoimport for functions will be ready")
    method CurrentPackage (line 30) | @Test
    method DefaultObjectReference (line 35) | @Test
    method Enums (line 40) | @Ignore
    method InvokeFunction (line 46) | @Ignore
    method IteratorFunction (line 52) | @Ignore("Enable this test when autoimport for functions will be ready")
    method KeywordNames (line 58) | @Test
    method Kt2488EnumEntry (line 63) | @Test
    method Kt2709 (line 68) | @Test
    method KT9875 (line 73) | @Test
    method MembersInScope (line 78) | @Test
    method NestedClassReferenceOutsideClassBody (line 83) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/organizeImports/KotlinJvmOptimizeImportsTest.java
  class KotlinJvmOptimizeImportsTest (line 6) | public class KotlinJvmOptimizeImportsTest extends KotlinOrganizeImportsT...
    method getTestDataRelativePath (line 7) | @Override
    method AlreadyOptimized (line 12) | @Test
    method CallableReference (line 17) | @Test
    method ClassFromSameFileImportAddedBug (line 22) | @Test
    method DoNotTouchIfNoChanges (line 27) | @Test
    method DuplicatedImports (line 32) | @Test
    method FromCompanionObject (line 37) | @Test
    method FromCompanionObjectGeneric (line 42) | @Test
    method KT10226 (line 47) | @Test
    method Kt1850FullQualified (line 52) | @Test
    method Kt1850InnerClass (line 57) | @Test
    method NestedClassInObject (line 62) | @Test
    method RemoveImportsIfGeneral (line 67) | @Test
    method RemoveImportsIfGeneralBefore (line 72) | @Test
    method SamConstructor (line 77) | @Test
    method StaticMethodFromSuper (line 82) | @Test
    method ThisAndSuper (line 87) | @Test
    method TrivialAlias (line 92) | @Test
    method UnusedImports (line 97) | @Test
    method WithAliases (line 102) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/organizeImports/KotlinOrganizeImportsTest.java
  class KotlinOrganizeImportsTest (line 5) | public class KotlinOrganizeImportsTest extends KotlinOrganizeImportsTest...
    method getIncludeStdLib (line 6) | @Override
    method getTestDataRelativePath (line 11) | @Override
    method includeImportsOnlyfromActiveFile (line 16) | @Test
    method doNotInsertLinesForNoErrors (line 21) | @Test
    method importOneClass (line 26) | @Test
    method importSeveralClasses (line 31) | @Test
    method importSeveralClassesWithExistingPackage (line 36) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/autoimport/AllTests.java
  class AllTests (line 22) | @RunWith(Suite.class)

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/autoimport/KotlinAbstractModifierQuickFixTest.java
  class KotlinAbstractModifierQuickFixTest (line 5) | public class KotlinAbstractModifierQuickFixTest extends KotlinQuickFixTe...
    method getTestDataRelativePath (line 6) | @Override
    method abstractFunctionInNonAbstractClass (line 11) | @Test
    method abstractPropertyInNonAbstractClass1 (line 16) | @Test
    method abstractPropertyInNonAbstractClass2 (line 21) | @Test
    method abstractPropertyInNonAbstractClass3 (line 26) | @Test
    method abstractPropertyInPrimaryConstructorParameters (line 31) | @Test
    method abstractPropertyNotInClass (line 36) | @Test
    method abstractPropertyWithGetter1 (line 41) | @Test
    method abstractPropertyWithInitializer1 (line 46) | @Test
    method abstractPropertyWithSetter (line 51) | @Test
    method mustBeInitializedOrBeAbstract (line 56) | @Test
    method nonMemberAbstractFunction (line 61) | @Test
    method notImplementedMember (line 66) | @Test
    method notImplementedMemberFromAbstractClass (line 71) | @Test
    method replaceOpen (line 76) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/autoimport/KotlinAutoImportTest.java
  class KotlinAutoImportTest (line 21) | public class KotlinAutoImportTest extends KotlinAutoImportTestCase {
    method standardEnumMapAutoImport (line 23) | @Test
    method packageArrayListAutoImport (line 28) | @Test
    method sameProjectJavaClassAutoImport (line 33) | @Test
    method localJavaEnumAutoImport (line 38) | @Test
    method localJavaClassAutoImport (line 43) | @Test
    method localJavaInterfaceAutoImport (line 48) | @Test
    method importClassWithExistingPackageKeyword (line 53) | @Test
    method importOnlyUnresolvedReferenceExpressions (line 58) | @Test
    method importWithExtraBreakline (line 63) | @Test
    method importWithExtraBreaklineWithoutPackage (line 68) | @Test
    method oneStandardVectorAutoImport (line 73) | @Test
    method packageLevelFunctionImport (line 78) | @Test
    method packageLevelValImport (line 83) | @Test
    method packageLevelInvokableValImport (line 88) | @Test
    method packageLevelFunctionValImport (line 93) | @Test
    method extensionFunctionImport (line 98) | @Test
    method extensionValImport (line 103) | @Test
    method functionExtensionValImport (line 108) | @Test
    method invokableExtensionValImport (line 113) | @Test
    method extensionOperatorImport (line 118) | @Test
    method unaryExtensionOperatorImport (line 123) | @Test
    method extensionInfixFunctionImport (line 128) | @Test
    method functionReferenceImport (line 133) | @Test
    method propertyReferenceImport (line 138) | @Test
    method extensionFunctionReferenceImport (line 143) | @Test
    method extensionValReferenceImport (line 148) | @Test
    method classNestedInClassImport (line 153) | @Test
    method classNestedInObjectImport (line 158) | @Test
    method extensionMethodInLambdaWithReceiverImport (line 163) | @Test
    method extensionMethodInLambdaWithReceiverAmbigousImport (line 168) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/autoimport/KotlinAutoImportTestCase.java
  class KotlinAutoImportTestCase (line 31) | public abstract class KotlinAutoImportTestCase extends KotlinEditorWithA...
    method before (line 38) | @Before
    method loadFilesBeforeOpeningEditor (line 43) | @Override
    method createProposals (line 48) | private List<KotlinMarkerResolution> createProposals() {
    method performTest (line 58) | @Override
    method getTestDataRelativePath (line 71) | @Override
    method assertCount (line 76) | private static void assertCount(List<KotlinMarkerResolution> proposals...
    method assertExistence (line 84) | private static void assertExistence(List<KotlinMarkerResolution> propo...
    method getProposalsStrings (line 93) | private static List<String> getProposalsStrings(List<KotlinMarkerResol...
    method getEditor (line 103) | private JavaEditor getEditor() {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/autoimport/KotlinChangeModifiersQuickFixTest.java
  class KotlinChangeModifiersQuickFixTest (line 6) | public class KotlinChangeModifiersQuickFixTest extends KotlinQuickFixTes...
    method getTestDataRelativePath (line 8) | @Override
    method abstractModifierInEnum (line 13) | @Test
    method finalTrait (line 18) | @Test
    method illegalEnumAnnotation1 (line 23) | @Test
    method illegalEnumAnnotation2 (line 28) | @Test
    method infixModifier (line 33) | @Test
    method kt10409 (line 38) | @Test
    method nestedClassNotAllowed (line 43) | @Test
    method openMemberInFinalClass1 (line 48) | @Test
    method openMemberInFinalClass2 (line 53) | @Test
    method openMemberInFinalClass3 (line 58) | @Test
    method openMemberInFinalClass4 (line 63) | @Test
    method openModifierInEnum (line 68) | @Test
    method operatorModifier (line 73) | @Test
    method operatorModifierCollection (line 78) | @Test
    method operatorModifierComponent (line 83) | @Test
    method operatorModifierGet (line 88) | @Test
    method operatorModifierInherited (line 93) | @Test
    method packageMemberCannotBeProtected (line 98) | @Test
    method removeAbstractModifier (line 103) | @Ignore("Temporary ignore this")
    method removeIncompatibleModifier (line 109) | @Test
    method removeInnerForClassInTrait (line 114) | @Test
    method removeProtectedModifier (line 119) | @Test
    method removeRedundantModifier1 (line 124) | @Test
    method removeRedundantModifier2 (line 129) | @Test
    method removeRedundantModifier3 (line 134) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/autoimport/KotlinMakeClassOpenQuickFixTest.java
  class KotlinMakeClassOpenQuickFixTest (line 5) | public class KotlinMakeClassOpenQuickFixTest extends KotlinQuickFixTestC...
    method getTestDataRelativePath (line 6) | @Override
    method explicitlyFinalSupertype (line 11) | @Test
    method explicitlyFinalUpperBound (line 16) | @Test
    method finalSupertype (line 21) | @Test
    method finalUpperBound (line 26) | @Test
    method implementTraitFinalSupertype (line 31) | @Test
    method nestedFinalClass (line 36) | @Test
    method secondaryCtrDelegationInHeader (line 41) | @Test
    method secondaryCtrDelegationInSecondary (line 46) | @Test
    method withConstructor (line 51) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/autoimport/KotlinMakeOverridenMemberOpenQuickFixTest.java
  class KotlinMakeOverridenMemberOpenQuickFixTest (line 5) | public class KotlinMakeOverridenMemberOpenQuickFixTest extends KotlinQui...
    method getTestDataRelativePath (line 6) | @Override
    method overridingDelegatedMethod (line 18) | @Test
    method overridingFakeOverride (line 23) | @Test
    method overridingFinalMethod (line 28) | @Test
    method overridingFinalMethodInLocal (line 33) | @Test
    method overridingFinalProperty (line 38) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/AbstractKotlinQuickAssistTestCase.java
  class AbstractKotlinQuickAssistTestCase (line 18) | public abstract class AbstractKotlinQuickAssistTestCase<Proposal extends...
    method configure (line 19) | @Before
    method doTestFor (line 24) | protected void doTestFor(String testPath, Function1<KotlinEditor, Kotl...
    method doTestFor (line 28) | protected void doTestFor(String testPath,
    method assertByEditor (line 61) | protected abstract void assertByEditor(JavaEditor editor, String expec...

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinChangeReturnTypeTest.java
  class KotlinChangeReturnTypeTest (line 6) | public class KotlinChangeReturnTypeTest extends KotlinChangeReturnTypeTe...
    method testNonLocalReturnRuntime (line 7) | @Test
    method testChangeFunctionReturnTypeToFunctionType (line 12) | @Test
    method testNonLocalReturnWithLabelRuntime (line 17) | @Test
    method testTypeMismatchInIfStatementReturnedByFunction (line 22) | @Test
    method testTypeMismatchInInitializer (line 27) | @Test
    method testTypeMismatchInReturnStatement (line 32) | @Test
    method testTypeMismatchInReturnLambda (line 37) | @Test
    method testTypeMismatchInReturnLambdaWithLabel (line 42) | @Test
    method testChangeReturnTypeInScript (line 48) | @Ignore("Script support will be fixed in future releases")

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinConvertToBlockBodyTest.java
  class KotlinConvertToBlockBodyTest (line 6) | public class KotlinConvertToBlockBodyTest extends
    method testAddSpace (line 8) | @Test
    method testAnnotatedExpr (line 13) | @Test
    method testImplicitlyNonUnitFun (line 18) | @Ignore
    method testExplicitlyNonUnitFun (line 24) | @Test
    method testExplicitlyTypedFunWithUnresolvedExpression (line 29) | @Test
    method testExplicitlyTypedFunWithUnresolvedType (line 34) | @Test
    method testExplicitlyUnitFun (line 39) | @Test
    method testExplicitlyUnitFunWithUnresolvedExpression (line 44) | @Test
    method testFunWithThrow (line 49) | @Test
    method testGetter (line 54) | @Test
    method testGetterWithThrow (line 59) | @Test
    method testImplicitlyTypedFunWithUnresolvedType (line 64) | @Test
    method testImplicitlyUnitFun (line 69) | @Test
    method testLabeledExpr (line 74) | @Test
    method testNothingFun (line 79) | @Test
    method testSetter (line 84) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinConvertToBlockBodyTestCase.java
  class KotlinConvertToBlockBodyTestCase (line 9) | public class KotlinConvertToBlockBodyTestCase extends
    method doTest (line 12) | protected void doTest(String testPath) {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinConvertToExpressionBodyTest.java
  class KotlinConvertToExpressionBodyTest (line 5) | public class KotlinConvertToExpressionBodyTest extends
    method testAnonymousObjectExpression (line 8) | @Test
    method testAssignment (line 14) | @Test
    method testDeclaration (line 19) | @Test
    method testExpressionWithReturns1 (line 24) | @Test
    method testExpressionWithReturns2 (line 29) | @Test
    method testFunctionLiteral (line 34) | @Test
    method testFunWithImplicitUnitTypeWithThrow (line 39) | @Test
    method testFunWithNoBlock (line 44) | @Test
    method testFunWithNothingType (line 49) | @Test
    method testFunWithReturn (line 54) | @Test
    method testFunWithUnitType2 (line 59) | @Test
    method testFunWithUnitType (line 64) | @Test
    method testFunWithUnitTypeWithThrow (line 69) | @Test
    method testGetWithReturn (line 74) | @Test
    method testMultipleStatements (line 79) | @Test
    method testOverridePublicFun (line 84) | @Test
    method testReturnWithNoValue (line 89) | @Test
    method testWhile (line 94) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinConvertToExpressionBodyTestCase.java
  class KotlinConvertToExpressionBodyTestCase (line 9) | public class KotlinConvertToExpressionBodyTestCase extends KotlinSpacesF...
    method doTest (line 10) | protected void doTest(String testPath) {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinImplementMethodsTest.java
  class KotlinImplementMethodsTest (line 6) | public class KotlinImplementMethodsTest extends KotlinImplementMethodsTe...
    method testDefaultValues (line 7) | @Test
    method testEmptyClassBodyFunctionMethod (line 12) | @Test
    method testFunctionMethod (line 17) | @Test
    method testFunctionProperty (line 22) | @Test
    method testFunctionWithTypeParameters (line 27) | @Test
    method testGenericMethod (line 32) | @Test
    method testGenericTypesSeveralMethods (line 37) | @Test
    method testLocalClass (line 42) | @Test
    method testOverrideExplicitFunction (line 47) | @Test
    method testOverrideExtensionProperty (line 52) | @Test
    method testOverrideMutableExtensionProperty (line 57) | @Ignore
    method testProperty (line 63) | @Test
    method testTraitGenericImplement (line 68) | @Test
    method testTraitNullableFunction (line 73) | @Test
    method testImplementMethodInScript (line 78) | @Ignore

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinImplementMethodsTestCase.java
  class KotlinImplementMethodsTestCase (line 11) | public class KotlinImplementMethodsTestCase
    method doTest (line 13) | protected void doTest(String testPath) {
    method assertByEditor (line 24) | @Override
    method removeCaretAndSelection (line 29) | public static String removeCaretAndSelection(String text) {

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinOverrideMethodsTest.java
  class KotlinOverrideMethodsTest (line 5) | public class KotlinOverrideMethodsTest extends KotlinOverrideMembersTest...
    method testEscapeIdentifiers (line 6) | @Test
    method testOverrideNonUnitFunction (line 11) | @Test
    method testOverrideUnitFunction (line 16) | @Test
    method testVarArgs (line 21) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinRemoveExplicitTypeTest.java
  class KotlinRemoveExplicitTypeTest (line 5) | public class KotlinRemoveExplicitTypeTest extends KotlinRemoveExplicitTy...
    method testNotOnParameterOfFunctionType (line 6) | @Test
    method testOnOverride (line 11) | @Test
    method testOnOverrideInTrait (line 16) | @Test
    method testOnType (line 21) | @Test
    method testRemoveUnresolvedType (line 26) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinReplaceGetIntentionTest.java
  class KotlinReplaceGetIntentionTest (line 22) | public class KotlinReplaceGetIntentionTest extends KotlinReplaceGetInten...
    method testAcceptableVararg (line 26) | @Test
    method testArgumentAndFunction (line 31) | @Test
    method testDuplicateArguments (line 36) | @Test
    method testExtensionFunction (line 41) | @Test
    method testFunctionalArgument (line 46) | @Test
    method testInvalidArgument (line 51) | @Test
    method testMissingDefaultArgument (line 56) | @Test
    method testMultiArgument (line 61) | @Test
    method testNoArgument (line 66) | @Test
    method testQualifier (line 71) | @Test
    method testSanityCheck (line 76) | @Test
    method testSingleArgument (line 81) | @Test
    method testSuper (line 86) | @Test
    method testTopLevelFun (line 91) | @Test
    method testUnacceptableVararg (line 96) | @Test
    method testUnnamedAndNamed (line 101) | @Test
    method testReplaceGetInScript (line 106) | @Ignore("Script support will be fixed in future releases")

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinReplaceGetIntentionTestCase.java
  class KotlinReplaceGetIntentionTestCase (line 27) | public abstract class KotlinReplaceGetIntentionTestCase extends Abstract...
    method doTest (line 28) | protected void doTest(String testPath) {
    method assertByEditor (line 37) | @Override

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinSpacesForTabsQuickAssistTestCase.java
  class KotlinSpacesForTabsQuickAssistTestCase (line 9) | public class KotlinSpacesForTabsQuickAssistTestCase<Proposal extends Kot...
    method assertByEditor (line 14) | @Override
    method configure (line 19) | @Override
    method afterTest (line 29) | @Override

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinSpecifyTypeTest.java
  class KotlinSpecifyTypeTest (line 21) | public class KotlinSpecifyTypeTest extends KotlinSpecifyTypeTestCase {
    method testBadCaretPosition (line 23) | @Test
    method testClassNameClashing (line 28) | @Test
    method testConstructor (line 33) | @Test
    method testEnumType (line 38) | @Test
    method testFunctionType (line 43) | @Test
    method testLambdaParam (line 48) | @Test
    method testLoopParameter (line 53) | @Test
    method testPublicMember (line 58) | @Test
    method testStringRedefined (line 63) | @Test
    method testTypeAlreadyProvided (line 68) | @Test
    method testUnitType (line 73) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/quickfix/intentions/KotlinSpecifyTypeTestCase.java
  class KotlinSpecifyTypeTestCase (line 28) | public abstract class KotlinSpecifyTypeTestCase extends AbstractKotlinQu...
    method invoke (line 31) | @Override
    method configure (line 37) | @Override
    method doTest (line 43) | protected void doTest(String testPath) {
    method doTestWithBuildThreadJoin (line 47) | protected void doTestWithBuildThreadJoin(String testPath) {
    method assertByEditor (line 51) | @Override

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/selection/KotlinSelectEnclosingTest.java
  class KotlinSelectEnclosingTest (line 5) | public class KotlinSelectEnclosingTest extends KotlinSelectEnclosingTest...
    method selectEnclosingFunctionNameWithoutSelection (line 7) | @Test
    method DocComment (line 12) | @Test
    method ForRange (line 17) | @Test
    method FunctionWithLineCommentAfter (line 22) | @Test
    method FunctionWithLineCommentBefore (line 27) | @Test
    method IfBody (line 32) | @Test
    method IfCondition (line 37) | @Test
    method LineComment (line 42) | @Test
    method ShiftOnWhitespace (line 47) | @Test
    method SimpleComment (line 52) | @Test
    method SimpleStringLiteral (line 57) | @Test
    method SimpleStringLiteral2 (line 62) | @Test
    method Statements (line 67) | @Test
    method StatementsWithWindowsDelimiter (line 72) | @Test
    method TemplateStringLiteral1 (line 77) | @Test
    method TemplateStringLiteral2 (line 82) | @Test
    method TemplateStringLiteral3 (line 87) | @Test
    method TypeArguments (line 92) | @Test
    method TypeParameters (line 97) | @Test
    method ValueArguments (line 102) | @Test
    method ValueParameters (line 107) | @Test
    method WhenEntries (line 112) | @Test
    method WholeFileSelection (line 117) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/selection/KotlinSelectNextTest.java
  class KotlinSelectNextTest (line 5) | public class KotlinSelectNextTest extends KotlinSelectNextTestCase {
    method BlockStatements (line 6) | @Test
    method BlockStatementsWithWindowsDelimiter (line 11) | @Test
    method Classes (line 16) | @Test
    method DocComment (line 21) | @Test
    method Functions (line 26) | @Test
    method FunctionWithLineComments (line 31) | @Test
    method Imports (line 36) | @Test
    method NonTraversableElement (line 41) | @Test
    method ShiftOnWhitespace (line 46) | @Test
    method TemplateStringLiteral (line 51) | @Test
    method TypeArguments (line 56) | @Test
    method TypeParameters (line 61) | @Test
    method ValueArguments (line 66) | @Test
    method ValueParameters (line 71) | @Test
    method WholeFile (line 76) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/editors/selection/KotlinSelectPreviousTest.java
  class KotlinSelectPreviousTest (line 5) | public class KotlinSelectPreviousTest extends KotlinSelectPreviousTestCa...
    method BlockStatements (line 6) | @Test
    method BlockStatementsWithWindowsDelimiter (line 11) | @Test
    method Classes (line 16) | @Test
    method DocComment (line 21) | @Test
    method Functions (line 26) | @Test
    method FunctionWithLineComments (line 31) | @Test
    method Imports (line 36) | @Test
    method NonTraversableElement (line 41) | @Test
    method ShiftOnWhitespace (line 46) | @Test
    method TemplateStringLiteral (line 51) | @Test
    method TypeArguments (line 56) | @Test
    method TypeParameters (line 61) | @Test
    method ValueArguments (line 66) | @Test
    method ValueParameters (line 71) | @Test
    method WholeFile (line 76) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/refactoring/convert/JavaToKotlinEncodingBugTest.java
  class JavaToKotlinEncodingBugTest (line 40) | @Ignore
    method testJavaToKotlinConversion (line 67) | public void testJavaToKotlinConversion(String projectDefaultEncoding, ...
    method before (line 85) | @Before
    method test_UTF8_UTF8 (line 90) | @Test
    method test_UTF8_WIN1251 (line 95) | @Test
    method test_WIN1251_UTF8 (line 100) | @Test
    method test_WIN1251_WIN1251 (line 105) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/refactoring/extract/KotlinExtractVariableTest.java
  class KotlinExtractVariableTest (line 6) | public class KotlinExtractVariableTest extends KotlinExtractVariableTest...
    method testIfCondition (line 7) | @Test
    method testArrayAccess (line 12) | @Test
    method testCallUnderSmartCast (line 17) | @Test
    method testComplexCallee (line 22) | @Ignore("Ignore because of formatter issues")
    method testDelegatorByExpressionInDelegate (line 28) | @Test
    method testDelegatorToSuperCallInArgument (line 33) | @Test
    method testDoWhileAddBlock (line 38) | @Test
    method testDoWhileAddBlockInner (line 43) | @Test
    method testFewOccurrences (line 48) | @Test
    method testFunctionAddBlock (line 53) | @Ignore("Ignore because of formatter issues")
    method testFunctionAddBlockInner (line 59) | @Ignore("Ignore because of formatter issues")
    method testIfElseAddBlock (line 65) | @Test
    method testIfThenAddBlock (line 70) | @Test
    method testIfThenAddBlockInner (line 75) | @Test
    method testIfThenValuedAddBlock (line 80) | @Test
    method testIntroduceAndCreateBlock (line 85) | @Test
    method testManyInnerOccurences (line 90) | @Test
    method testManyOccurrences (line 95) | @Test
    method testNoNewLinesInBetween (line 100) | @Test
    method testNoNewLinesInBetweenNoBraces (line 105) | @Ignore("Ignore because of formatter issues")
    method testNotNullAssertion (line 111) | @Test
    method testOccurrencesInStringTemplate (line 116) | @Test
    method testOneExplicitReceiver (line 121) | @Test
    method testPropertyAccessorAddBlock (line 126) | @Ignore("Ignore because of formatter issues")
    method testPropertyAccessorAddBlockInner (line 132) | @Ignore("Ignore because of formatter issues")
    method testReplaceOccurence (line 138) | @Test
    method testSimple (line 143) | @Test
    method testSimpleCreateValue (line 148) | @Test
    method testLoopRange (line 153) | @Test
    method testThisReference (line 158) | @Test
    method testTwoExplicitReceivers (line 163) | @Test
    method testWhenAddBlock (line 168) | @Test
    method testWhenAddBlockInner (line 173) | @Test
    method testWhileCondition (line 178) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/refactoring/rename/KotlinLocalRenameTest.java
  class KotlinLocalRenameTest (line 5) | public class KotlinLocalRenameTest extends KotlinLocalRenameTestCase {
    method testForLoop (line 6) | @Test
    method testFunctionLiteral (line 11) | @Test
    method testFunctionLiteralParenthesis (line 16) | @Test
    method testLocalFunction (line 21) | @Test
    method testMultiDeclaration (line 26) | @Test
    method testTryCatch (line 31) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/refactoring/rename/KotlinRenameTest.java
  class KotlinRenameTest (line 6) | public class KotlinRenameTest extends KotlinRenameTestCase {
    method testSimple (line 8) | @Ignore
    method testAutomaticRenamer (line 14) | @Ignore
    method testRenameJavaClass (line 20) | @Ignore
    method testRenameJavaClassSamePackage (line 26) | @Test
    method testRenameJavaInterface (line 31) | @Test
    method testRenameJavaKotlinOverridenMethod (line 36) | @Ignore("Temporary disable as a bug")
    method testRenameKotlinClass (line 42) | @Ignore
    method testRenameKotlinMethod (line 48) | @Ignore
    method testRenameKotlinTopLevelFun (line 54) | @Ignore
    method testRenameJavaStaticMethod (line 60) | @Test
    method testRenameKotlinClassByConstructorReference (line 65) | @Ignore
    method testRenameKotlinClassFromJava (line 71) | @Ignore
    method testRenameKotlinMethodFromJava (line 77) | @Ignore
    method testRenameKotlinTopLevelFunFromJava (line 83) | @Ignore
    method testRenameClassInScript (line 89) | @Ignore
    method testRenameFunctionInScript (line 95) | @Ignore
    method testRenamePropertyInScript (line 101) | @Ignore
    method testRenameInScriptLocally (line 107) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/scripts/completion/CompletionInScriptsTest.java
  class CompletionInScriptsTest (line 8) | @Ignore("Script support will be fixed in future releases")
    method testArgsCompletion (line 10) | @Test
    method testFunctionFromStdlib (line 15) | @Test
    method testTypeFromRuntime (line 20) | @Test
    method testAbsentMainTemplate (line 25) | @Test
    method testKeywordsCompletion (line 30) | @Test
    method testLocalDeclarations (line 35) | @Test
    method testClassFromJRE (line 40) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/scripts/navigation/BasicNavigationInScripts.java
  class BasicNavigationInScripts (line 8) | @Ignore("Script support will be fixed in future releases")
    method before (line 10) | @Before
    method getTestDataRelativePath (line 15) | @Override
    method toFunction (line 20) | @Test
    method toVariable (line 25) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/scripts/templates/KotlinScriptWithTemplateResolveTest.java
  class KotlinScriptWithTemplateResolveTest (line 5) | public class KotlinScriptWithTemplateResolveTest extends KotlinScriptWit...
    method testSample (line 6) | @Test
    method testStandard (line 11) | @Test
    method testSampleEx (line 16) | @Test
    method testCustomEPResolver (line 21) | @Test

FILE: kotlin-eclipse-ui-test/src/org/jetbrains/kotlin/ui/tests/search/KotlinFindReferencesTest.java
  class KotlinFindReferencesTest (line 7) | public class KotlinFindReferencesTest extends KotlinFindReferencesTestCa...
    method testJKClassAllUsages (line 8) | @Test
    method testJKClassDerivedAnonymousObjects (line 13) | @Test
    method testJKClassDerivedClasses (line 18) | @Test
    method testJKClassDerivedInnerClasses (line 23) | @Test
    method testJKClassDerivedInnerObjects (line 28) | @Test
    method testJKClassDerivedLocalClasses (line 33) | @Test
    method testJKClassDerivedLocalObjects (line 38) | @Test
    method testJKClassDerivedObjects (line 43) | @Test
    method testJKClassWithImplicitConstructorAllUsages (line 48) | @Test
    method testJKInnerClassAllUsages (line 53) | @Test
    method testJKNestedClassAllUsages (line 58) | @Test
    method testJavaClassAllUsages (line 63) | @Test
    method testKotlinLocalClassUsages1 (line 68) | @Test
    method testKotlinLocalClassUsages2 (line 73) | @Test
    method testJavaMethodUsages (line 78) | @Test
    method testKotlinLocalMethodUsages1 (line 83) | @Test
    method testKotlinLocalMethodUsages2 (line 88) | @Test
    method testKotlinMethodUsages (line 93) | @Test
    method testKotlinMultiRefInImport (line 98) | @Test
    method testKotlinNestedClassMethodUsages (line 103) | @Test
    method testKotlinTopLevelMethodUsagesNoImport (line 108) | @Test
    method testKotlinTraitImplThroughDelegate (line 113) | @Test
    method testKotlinTraitNoImplThroughDelegate (line 118) | @Test
    method testLocalClassMember (line 123) | @Test
    method testObjectExpressionDeepMember (line 128) | @Test
    method testObjectExpressionMember (line 133) | @Test
    method testObjectExpressionMember2 (line 138) | @Test
    method testSynthesizedFunction (line 143) | @Test
    method testJavaObjectUsages (line 148) | @Test
    method testKotlinLocalObjectUsages1 (line 153) | @Test
    method testKotlinLocalObjectUsages2 (line 158) | @Test
    method testKotlinNestedObjectUsages (line 163) | @Test
    method testKotlinObjectUsages (line 168) | @Test
    method testKotlinConstructorParameterUsages (line 173) | @Test
    method testKotlinFunctionParameterUsages (line 178) | @Test
    method testJavaClassObjectPropertyUsages (line 183) | @Ignore
    method testKotlinClassObjectPropertyUsage (line 189) | @Ignore
    method testKotlinLocalPropertyUsages1 (line 195) | @Test
    method testKotlinLocalPropertyUsages2 (line 200) | @Test
    method testKotlinNestedClassPropertyUsages (line 205) | @Test
    method testKotlinPrivatePropertyInClassObjectUsages (line 210) | @Test
    method testKotlinTopLevelPropertyUsages (line 215) | @Test
    method testPrimaryConstructorByRef (line 220) | @Test
    method testPrimaryConstructorWithKeyword (line 225) | @Test

FILE: kotlin-eclipse-ui-test/testData/completion/autoimport/localJavaClassAutoImport/Foo.java
  class Foo (line 3) | public class Foo {

FILE: kotlin-eclipse-ui-test/testData/completion/autoimport/localJavaEnumAutoImport/FooEnum.java
  type FooEnum (line 3) | public enum FooEnum {

FILE: kotlin-eclipse-ui-test/testData/completion/autoimport/localJavaInterfaceAutoImport/FooInterface.java
  type FooInterface (line 3) | public interface FooInterface {

FILE: kotlin-eclipse-ui-test/testData/completion/autoimport/sameProjectJavaClassAutoImport/Foo.java
  class Foo (line 3) | public class Foo {
    method zero (line 4) | public int zero() {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassAllUsages.0.java
  method foo (line 11) | public void foo() {
  method foos (line 15) | public static void foos() {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassDerivedAnonymousObjects.0.java
  method A (line 3) | public class <caret>A {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassDerivedClasses.0.java
  method A (line 3) | public class <caret>A {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassDerivedInnerClasses.0.java
  method A (line 3) | public class <caret>A {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassDerivedInnerObjects.0.java
  method A (line 3) | public class <caret>A {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassDerivedLocalClasses.0.java
  method A (line 3) | public class <caret>A {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassDerivedLocalObjects.0.java
  method A (line 3) | public class <caret>A {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassDerivedObjects.0.java
  method A (line 3) | public class <caret>A {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKClassWithImplicitConstructorAllUsages.0.java
  method foos (line 11) | public static void foos() {

FILE: kotlin-eclipse-ui-test/testData/findUsages/java/JKNestedClassAllUsages.0.java
  class Outer (line 3) | public class Outer {
    method foo (line 12) | public void foo() {
    method foos (line 16) | public static void foos() {

FILE: kotlin-eclipse-ui-test/testData/findUsages/kotlin/findFunctionUsages/javaMethodUsages.1.java
  class Client (line 3) | class Client {
    method foo (line 4) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/findUsages/kotlin/findObjectUsages/javaObjectUsages.1.java
  class Client (line 5) | class Client {
    method fooBar (line 6) | void fooBar() {

FILE: kotlin-eclipse-ui-test/testData/findUsages/kotlin/findPropertyUsages/kotlinTopLevelPropertyUsages.2.java
  class JClient (line 5) | class JClient {
    method fooBar (line 6) | void fooBar() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/checkExistancePackageLevelFunctions/Foo.java
  class Foo (line 1) | class Foo {
    method some (line 2) | public void some() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/checkTestsFoundJavaError/J1.java
  class J1 (line 1) | public class J1 {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/companionObjectFromJava/Foo.java
  class Foo (line 1) | public class Foo {
    method foo (line 2) | void foo() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/javaFromKotlin/Foo.java
  class Foo (line 3) | public class Foo {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/kotlinFromJava/Foo.java
  class Foo (line 1) | public class Foo {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/kotlinInPackageFromJava/J1.java
  class J1 (line 3) | public class J1 {
    method foo (line 4) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/kotlinJavaKotlin/J1.java
  class J1 (line 1) | public class J1 extends KFirst {
    method baz (line 2) | void baz() {}

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/kotlinWithErrorsFromJava/J1.java
  class J1 (line 1) | public class J1 {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/packageLevelFunctionsFromJava/Foo.java
  class Foo (line 3) | public class Foo {
    method foo (line 4) | void foo() {

FILE: kotlin-eclipse-ui-test/testData/ide_analyzer/packageLevelPropertiesFromJava/Foo.java
  class Foo (line 3) | public class Foo {
    method foo (line 4) | void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/automaticRenamer/after/JavaFoo.java
  class JavaFoo (line 1) | class JavaFoo extends Bar {
    method main (line 2) | public static void main(String[] args) {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/automaticRenamer/before/JavaFoo.java
  class JavaFoo (line 1) | class JavaFoo extends Foo {
    method main (line 2) | public static void main(String[] args) {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaClass/after/testing/NewName.java
  class NewName (line 3) | public class NewName {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaClass/before/testing/SomeClass.java
  class SomeClass (line 3) | public class SomeClass {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaClassSamePackage/after/testing/NewName.java
  class NewName (line 3) | class NewName {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaClassSamePackage/before/testing/SomeClass.java
  class SomeClass (line 3) | class SomeClass {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaInterface/after/testing/NewInterface.java
  type NewInterface (line 3) | public interface NewInterface {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaInterface/before/testing/SomeInterface.java
  type SomeInterface (line 3) | public interface SomeInterface {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaMethod/after/testing/JavaClass.java
  class JavaClass (line 3) | public class JavaClass {
    method bar (line 4) | public String bar() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaMethod/before/testing/JavaClass.java
  class JavaClass (line 3) | public class JavaClass {
    method foo (line 4) | public String foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaStaticMethod/after/SomeJava.java
  class SomeJava (line 1) | public class SomeJava {
    method javaRenamedTest (line 2) | static void javaRenamedTest() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameJavaStaticMethod/before/SomeJava.java
  class SomeJava (line 1) | public class SomeJava {
    method test (line 2) | static void test() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinBaseMethod/after/testing/JavaClient.java
  class JavaClient (line 5) | class JavaClient {
    method foo (line 6) | public void foo(A a) {
    class D (line 13) | public static class D implements A {
      method second (line 14) | @Override
    class E (line 20) | public static class E extends D {
      method second (line 21) | @Override

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinBaseMethod/before/testing/JavaClient.java
  class JavaClient (line 5) | class JavaClient {
    method foo (line 6) | public void foo(A a) {
    class D (line 13) | public static class D implements A {
      method first (line 14) | @Override
    class E (line 20) | public static class E extends D {
      method first (line 21) | @Override

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinClass/after/testing/JavaClient.java
  class JavaClient (line 5) | class JavaClient {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinClass/before/testing/JavaClient.java
  class JavaClient (line 5) | class JavaClient {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinClassFromJava/after/JavaUsage.java
  class JavaUsage (line 1) | class JavaUsage {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinClassFromJava/before/JavaUsage.java
  class JavaUsage (line 1) | class JavaUsage {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinMethod/after/testing/JavaClient.java
  class JavaClient (line 5) | class JavaClient {
    method foo (line 6) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinMethod/before/testing/JavaClient.java
  class JavaClient (line 5) | class JavaClient {
    method foo (line 6) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinMethodFromJava/after/JavaUsage.java
  class JavaUsage (line 1) | class JavaUsage {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinMethodFromJava/before/JavaUsage.java
  class JavaUsage (line 1) | class JavaUsage {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinTopLevelFun/after/SomeJava.java
  class SomeJava (line 1) | public class SomeJava {
    method test (line 2) | static void test() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinTopLevelFun/before/SomeJava.java
  class SomeJava (line 1) | public class SomeJava {
    method test (line 2) | static void test() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinTopLevelFunFromJava/after/JavaUsage.java
  class JavaUsage (line 1) | class JavaUsage {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui-test/testData/refactoring/rename/renameKotlinTopLevelFunFromJava/before/JavaUsage.java
  class JavaUsage (line 1) | class JavaUsage {
    method foo (line 2) | public void foo() {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/eclipse/ui/utils/EditorUtil.java
  class EditorUtil (line 39) | public class EditorUtil {
    method getFile (line 41) | @Nullable
    method getSourceCode (line 46) | @NotNull
    method getSourceCode (line 51) | @NotNull
    method getDocument (line 56) | @NotNull
    method getDocument (line 61) | @NotNull
    method getDocumentLineDelimiter (line 76) | public static String getDocumentLineDelimiter(@NotNull KotlinEditor ed...
    method getPsiElement (line 80) | @Nullable
    method getJetElement (line 93) | @Nullable
    method getReferenceExpression (line 99) | @Nullable
    method updatePsiFile (line 111) | @Nullable

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/eclipse/ui/utils/IndenterUtil.java
  class IndenterUtil (line 25) | public class IndenterUtil {
    method createWhiteSpace (line 32) | public static String createWhiteSpace(int curIndent, int countBreakLin...
    method createWhiteSpaceByRawIndent (line 46) | public static String createWhiteSpaceByRawIndent(int rawIndent, int co...
    method getIndentString (line 59) | public static String getIndentString() {
    method getLineSeparatorsOccurences (line 71) | public static int getLineSeparatorsOccurences(String text) {
    method isNewLine (line 83) | public static boolean isNewLine(LeafPsiElement psiElement) {
    method getDefaultIndent (line 87) | public static int getDefaultIndent() {
    method getDefaultIndentSize (line 91) | public static int getDefaultIndentSize() {
    method isSpacesForTabs (line 99) | public static boolean isSpacesForTabs() {
    method isWhiteSpaceChar (line 103) | public static boolean isWhiteSpaceChar(char c) {
    method isWhiteSpaceOrNewLine (line 107) | public static boolean isWhiteSpaceOrNewLine(char c) {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/eclipse/ui/utils/LineEndUtil.java
  class LineEndUtil (line 25) | public class LineEndUtil {
    method convertLfToDocumentOffset (line 32) | public static int convertLfToDocumentOffset(@NotNull String lfText, in...
    method offsetToLineNumber (line 44) | private static int offsetToLineNumber(String lfText, int offset) {
    method convertCrToDocumentOffset (line 66) | public static int convertCrToDocumentOffset(@NotNull IDocument documen...
    method convertCrToDocumentOffset (line 70) | public static int convertCrToDocumentOffset(@NotNull String crText, in...
    method countCrToLineNumber (line 81) | private static int countCrToLineNumber(String lfText, int offset) {
    method assertLineSeparator (line 101) | private static void assertLineSeparator(String osLineSeparator) {
    method removeAllCarriageReturns (line 105) | public static String removeAllCarriageReturns(String s) {
    method lfRangeFromCrRange (line 109) | @NotNull
    method crRangeFromLfRange (line 116) | @NotNull
    method convertLfOffsetForMixedDocument (line 124) | public static int convertLfOffsetForMixedDocument(@NotNull IDocument d...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/eclipse/ui/utils/ProjectScopedPreferenceUtils.java
  class ProjectScopedPreferenceUtils (line 26) | public class ProjectScopedPreferenceUtils {
    method getPreferences (line 28) | @NotNull
    method getBooleanPreference (line 33) | public static boolean getBooleanPreference(@NotNull final IProject pro...
    method putBooleanPreference (line 37) | public static void putBooleanPreference(@NotNull final IProject projec...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/perspective/KotlinPerspectiveFactory.java
  class KotlinPerspectiveFactory (line 24) | public class KotlinPerspectiveFactory implements IPerspectiveFactory {
    method createInitialLayout (line 26) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/preferences/EditorPreferencePage.java
  class EditorPreferencePage (line 26) | public class EditorPreferencePage extends PreferencePage implements IWor...
    method EditorPreferencePage (line 28) | public EditorPreferencePage() {
    method EditorPreferencePage (line 31) | public EditorPreferencePage(String title) {
    method EditorPreferencePage (line 35) | public EditorPreferencePage(String title, ImageDescriptor image) {
    method init (line 39) | @Override
    method createContents (line 43) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/preferences/KotlinPreferencePage.java
  class KotlinPreferencePage (line 26) | public class KotlinPreferencePage extends PreferencePage implements IWor...
    method KotlinPreferencePage (line 28) | public KotlinPreferencePage() {
    method KotlinPreferencePage (line 31) | public KotlinPreferencePage(String title) {
    method KotlinPreferencePage (line 35) | public KotlinPreferencePage(String title, ImageDescriptor image) {
    method init (line 39) | @Override
    method createContents (line 44) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/preferences/KotlinTemplatePreferencePage.java
  class KotlinTemplatePreferencePage (line 23) | public class KotlinTemplatePreferencePage extends TemplatePreferencePage {
    method KotlinTemplatePreferencePage (line 25) | public KotlinTemplatePreferencePage() {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/KotlinUiStartupClass.java
  class KotlinUiStartupClass (line 5) | public class KotlinUiStartupClass implements IStartup {
    method earlyStartup (line 7) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/builder/AspectsUtils.java
  class AspectsUtils (line 7) | public class AspectsUtils {
    method isKotlinFile (line 8) | public static boolean isKotlinFile(IFile file) {
    method existsSourceFile (line 12) | public static boolean existsSourceFile(IFile file) {
    method isScript (line 16) | public static boolean isScript(IFile file) {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/commands/j2k/CompositeUndoableOperation.java
  class CompositeUndoableOperation (line 18) | public class CompositeUndoableOperation extends AbstractOperation implem...
    method CompositeUndoableOperation (line 22) | public CompositeUndoableOperation(String name) {
    method add (line 28) | @Override
    method remove (line 33) | @Override
    method execute (line 38) | @Override
    method getWorkspace (line 51) | protected IWorkspace getWorkspace() {
    method redo (line 55) | @Override
    method undo (line 69) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/commands/j2k/JavaToKotlinActionHandler.java
  class JavaToKotlinActionHandler (line 53) | public class JavaToKotlinActionHandler extends AbstractHandler {
    method execute (line 55) | @Override
    method setEnabled (line 79) | @Override
    method closeEditors (line 91) | private void closeEditors(@NotNull Set<CompilationUnit> units) {
    method configureProjectsWithKotlin (line 106) | private void configureProjectsWithKotlin(@NotNull Set<IProject> projec...
    method collectCompilationUnits (line 113) | private Set<CompilationUnit> collectCompilationUnits(@NotNull Object[]...
    method collectCompilationUnits (line 131) | private List<CompilationUnit> collectCompilationUnits(@NotNull IPackag...
    method collectCompilationUnits (line 146) | private List<CompilationUnit> collectCompilationUnits(@NotNull IPackag...
    method convertToKotlin (line 159) | private Pair<IStatus, List<IFile>> convertToKotlin(@NotNull Set<Compil...
    method getConvertedFileData (line 192) | private ConvertedKotlinData getConvertedFileData(@NotNull CompilationU...
    method getDefaultLineDelimiter (line 216) | private String getDefaultLineDelimiter(CompilationUnit unit) {
    method getJetFile (line 234) | private KtFile getJetFile(@NotNull String sourceCode, @NotNull IProjec...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/commands/j2k/SetFileCharsetOperation.java
  class SetFileCharsetOperation (line 14) | public class SetFileCharsetOperation extends AbstractOperation {
    method SetFileCharsetOperation (line 22) | public SetFileCharsetOperation(IFile file, String charset) {
    method canExecute (line 29) | @Override
    method canRedo (line 34) | @Override
    method canUndo (line 39) | @Override
    method execute (line 44) | @Override
    method redo (line 49) | @Override
    method undo (line 54) | @Override
    method toggleEncoding (line 59) | private IStatus toggleEncoding(IProgressMonitor monitor, IAdaptable in...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/commands/psiVisualization/PsiContentProvider.java
  class PsiContentProvider (line 24) | public class PsiContentProvider implements ITreeContentProvider {
    method dispose (line 26) | @Override
    method inputChanged (line 30) | @Override
    method getElements (line 34) | @Override
    method getChildren (line 39) | @Override
    method getParent (line 44) | @Override
    method hasChildren (line 49) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/commands/psiVisualization/PsiVisualization.java
  class PsiVisualization (line 31) | public class PsiVisualization extends AbstractHandler {
    method execute (line 33) | @Override
    method setEnabled (line 51) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/commands/psiVisualization/VisualizationPage.java
  class VisualizationPage (line 46) | public final class VisualizationPage extends Dialog {
    method VisualizationPage (line 54) | public VisualizationPage(Shell parentShell, String sourceCode, IFile f...
    method createDialogArea (line 65) | @Override
    method createControls (line 74) | private void createControls(Composite composite) {
    method setTreeViewer (line 80) | private void setTreeViewer(Composite composite, final Text programText) {
    method setDescriptionLabel (line 109) | private void setDescriptionLabel(Composite composite) {
    method setTextProgram (line 119) | private Text setTextProgram(Composite composite) {
    method createButtonsForButtonBar (line 130) | @Override
    method getInitialSize (line 143) | @Override
    method configureShell (line 148) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/Configuration.java
  class Configuration (line 64) | public class Configuration extends JavaSourceViewerConfiguration {
    method Configuration (line 68) | public Configuration(@NotNull IColorManager colorManager, @NotNull Kot...
    method getConfiguredContentTypes (line 73) | @Override
    method getOutlinePresenter (line 85) | @Override
    method getInformationPresenter (line 102) | @Override
    method getAnnotationHover (line 121) | @Override
    method getTextHover (line 126) | @Override
    method getTextHover (line 131) | @Override
    method getQuickAssistAssistant (line 136) | @Override
    method getReconciler (line 141) | @Override
    method getScanner (line 146) | @Nullable
    method getDefaultPrefixes (line 155) | @Override
    method getAutoEditStrategies (line 160) | @Override
    method getConfiguredDocumentPartitioning (line 165) | @Override
    method getPresentationReconciler (line 170) | @Override
    method getContentAssistant (line 176) | @Override
    class OutlineInformationProvider (line 181) | private static class OutlineInformationProvider implements IInformatio...
      method OutlineInformationProvider (line 185) | public OutlineInformationProvider(AbstractTextEditor editor) {
      method getSubject (line 189) | @Override
      method getInformation (line 194) | @Override
      method getInformation2 (line 200) | @Override
    method getHyperlinkDetectorTargets (line 212) | @Override
    method getKotlinPresentaionReconciler (line 221) | public static KotlinPresentationReconciler getKotlinPresentaionReconci...
    class KotlinPresentationReconciler (line 231) | public static class KotlinPresentationReconciler extends PresentationR...
      method createRepairDescription (line 234) | public TextPresentation createRepairDescription(IRegion damage, IDoc...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/KotlinAutoIndentStrategy.java
  class KotlinAutoIndentStrategy (line 36) | public class KotlinAutoIndentStrategy implements IAutoEditStrategy {
    method KotlinAutoIndentStrategy (line 44) | public KotlinAutoIndentStrategy(KotlinEditor editor) {
    method customizeDocumentCommand (line 49) | @Override
    method autoEditAfterNewLine (line 62) | private void autoEditAfterNewLine(IDocument document, DocumentCommand ...
    method getIndent (line 107) | private String getIndent(IDocument tempDocument, int offset) throws Ba...
    method autoEditBeforeCloseBrace (line 135) | private void autoEditBeforeCloseBrace(IDocument document, DocumentComm...
    method findEndOfWhiteSpaceAfter (line 154) | private static int findEndOfWhiteSpaceAfter(IDocument document, int of...
    method findEndOfWhiteSpaceBefore (line 166) | private static int findEndOfWhiteSpaceBefore(IDocument document, int o...
    method isAfterOpenBrace (line 178) | private static boolean isAfterOpenBrace(IDocument document, int offset...
    method isBeforeCloseBrace (line 183) | private static boolean isBeforeCloseBrace(IDocument document, int offs...
    method findEndOfWhiteSpace (line 191) | private static int findEndOfWhiteSpace(IDocument document, int offset)...
    method isNewLineBefore (line 204) | private static boolean isNewLineBefore(IDocument document, int offset) {
    method containsNewLine (line 222) | private static boolean containsNewLine(IDocument document, String text) {
    method isNewLine (line 233) | private static boolean isNewLine(IDocument document, String text) {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/KotlinBracketInserter.java
  class KotlinBracketInserter (line 31) | public class KotlinBracketInserter implements VerifyKeyListener {
    type Type (line 36) | private enum Type {
    class PairConfiguration (line 41) | private static class PairConfiguration {
      method PairConfiguration (line 45) | public PairConfiguration(char open, char close) {
      method getOpen (line 50) | public char getOpen() {
      method getClose (line 54) | public char getClose() {
    method addBrackets (line 60) | public void addBrackets(char open, char close) {
    method setSourceViewer (line 64) | public void setSourceViewer(ISourceViewer sourceViewer) {
    method verifyKey (line 68) | @Override
    method processChar (line 81) | public boolean processChar(char ch, Type type) {
    method getConfiguration (line 87) | private PairConfiguration getConfiguration(char ch, Type type) {
    method process (line 101) | private boolean process(IDocument document, Point point, Type type, Pa...
    method skip (line 126) | private void skip() {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/annotations/DiagnosticAnnotationUtil.java
  class DiagnosticAnnotationUtil (line 51) | public class DiagnosticAnnotationUtil {
    method DiagnosticAnnotationUtil (line 55) | private DiagnosticAnnotationUtil() {
    method handleDiagnostics (line 58) | @NotNull
    method addParsingDiagnosticAnnotations (line 87) | public void addParsingDiagnosticAnnotations(@NotNull IFile file, @NotN...
    method createParsingDiagnosticAnnotations (line 97) | @NotNull
    method createKotlinAnnotation (line 112) | @NotNull
    method createKotlinAnnotation (line 141) | @NotNull
    method getAnnotationType (line 166) | @NotNull
    method updateAnnotations (line 185) | public void updateAnnotations(
    method getAnnotationByOffset (line 200) | @Nullable
    method getMarkerByOffset (line 218) | @Nullable
    method isQuickFixable (line 236) | public static boolean isQuickFixable(@NotNull DiagnosticFactory<?> dia...
    method isUnresolvedReference (line 240) | public static boolean isUnresolvedReference(@NotNull DiagnosticFactory...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/annotations/KotlinAnnotationImageProvider.java
  class KotlinAnnotationImageProvider (line 26) | public class KotlinAnnotationImageProvider implements IAnnotationImagePr...
    method getManagedImage (line 28) | @Override
    method getImageDescriptorId (line 46) | @Override
    method getImageDescriptor (line 51) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/codeassist/FilterPositionUtil.java
  class FilterPositionUtil (line 12) | public class FilterPositionUtil {
    method searchNonSpaceNonCommentBack (line 14) | @Nullable
    method searchNonSpaceNonCommentBack (line 19) | @Nullable

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/highlighting/KotlinTokenScanner.java
  class KotlinTokenScanner (line 28) | public class KotlinTokenScanner implements ITokenScanner {
    method KotlinTokenScanner (line 38) | private KotlinTokenScanner(
    method createScanner (line 46) | public static KotlinTokenScanner createScanner(
    method createScannerForCompareViewOfKtSourceFile (line 53) | public static KotlinTokenScanner createScannerForCompareViewOfKtSource...
    method setRange (line 59) | @Override
    method nextToken (line 68) | @Override
    method getTokenOffset (line 85) | @Override
    method getTokenLength (line 90) | @Override
    method createKtFile (line 99) | @Nullable
    method createKtFile (line 115) | private KtFile createKtFile(@Nullable KotlinCommonEnvironment environm...
    method getAnyKotlinEnvironmentForSourceFile (line 123) | @Nullable

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/outline/KotlinOutlinePopup.java
  class KotlinOutlinePopup (line 49) | public class KotlinOutlinePopup extends PopupDialog implements IInformat...
    method KotlinOutlinePopup (line 56) | public KotlinOutlinePopup(KotlinEditor editor, Shell parent, int shell...
    method KotlinOutlinePopup (line 60) | public KotlinOutlinePopup(KotlinEditor editor, Shell parent, int shell...
    method createDialogArea (line 70) | @Override
    method createFilterText (line 96) | protected Text createFilterText(Composite parent) {
    method installInputFilter (line 124) | private void installInputFilter() {
    method createTitleMenuArea (line 133) | @Override
    method selectFirstMatch (line 141) | private void selectFirstMatch() {
    method selectFirstMatch (line 150) | private boolean selectFirstMatch(TreeItem item, String text) {
    method createTreeViewer (line 164) | protected TreeViewer createTreeViewer(Composite parent, int style) {
    method gotoSelectedElement (line 177) | private void gotoSelectedElement() {
    method widgetDisposed (line 188) | @Override
    method setInput (line 194) | @Override
    method hasContents (line 200) | @Override
    method setInformation (line 205) | @Override
    method setSizeConstraints (line 209) | @Override
    method computeSizeHint (line 213) | @Override
    method setVisible (line 218) | @Override
    method setSize (line 227) | @Override
    method setLocation (line 232) | @Override
    method dispose (line 238) | @Override
    method addDisposeListener (line 243) | @Override
    method removeDisposeListener (line 248) | @Override
    method setForegroundColor (line 253) | @Override
    method setBackgroundColor (line 258) | @Override
    method isFocusControl (line 263) | @Override
    method setFocus (line 268) | @Override
    method addFocusListener (line 275) | @Override
    method removeFocusListener (line 280) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/outline/PsiLabelProvider.java
  class PsiLabelProvider (line 42) | public class PsiLabelProvider extends LabelProvider {
    method getText (line 46) | @Override
    method getImage (line 55) | @Override
    method getPresentableElement (line 80) | private String getPresentableElement(KtElement declaration) {
    method computeReturnType (line 136) | private String computeReturnType(KtDeclaration ktDeclaration) {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/quickassist/KotlinReplaceGetAssistProposal.java
  class KotlinReplaceGetAssistProposal (line 34) | public class KotlinReplaceGetAssistProposal extends KotlinQuickAssistPro...
    method KotlinReplaceGetAssistProposal (line 36) | public KotlinReplaceGetAssistProposal(KotlinEditor editor) {
    method apply (line 40) | @Override
    method replaceGetForElement (line 66) | private void replaceGetForElement(@NotNull KtQualifiedExpression eleme...
    method getArguments (line 89) | @Nullable
    method getPositionalArguments (line 109) | @Nullable
    method getResolvedCall (line 144) | @Nullable
    method getBindingContext (line 157) | @Nullable
    method isApplicable (line 170) | @Override
    method isReceiverExpressionWithValue (line 202) | private boolean isReceiverExpressionWithValue(@NotNull KtQualifiedExpr...
    method getDisplayString (line 217) | @NotNull

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/selection/KotlinSelectEnclosingAction.java
  class KotlinSelectEnclosingAction (line 12) | public class KotlinSelectEnclosingAction extends KotlinSemanticSelection...
    method KotlinSelectEnclosingAction (line 18) | public KotlinSelectEnclosingAction(KotlinEditor editor, SelectionHisto...
    method runInternalSelection (line 24) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/selection/KotlinSelectNextAction.java
  class KotlinSelectNextAction (line 12) | public class KotlinSelectNextAction extends KotlinSemanticSelectionAction {
    method KotlinSelectNextAction (line 18) | public KotlinSelectNextAction(KotlinEditor editor, SelectionHistory hi...
    method runInternalSelection (line 24) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/selection/KotlinSelectPreviousAction.java
  class KotlinSelectPreviousAction (line 12) | public class KotlinSelectPreviousAction extends KotlinSemanticSelectionA...
    method KotlinSelectPreviousAction (line 18) | public KotlinSelectPreviousAction(KotlinEditor editor, SelectionHistor...
    method runInternalSelection (line 24) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/selection/KotlinSemanticSelectionAction.java
  class KotlinSemanticSelectionAction (line 19) | abstract public class KotlinSemanticSelectionAction extends SelectionDis...
    method KotlinSemanticSelectionAction (line 26) | protected KotlinSemanticSelectionAction(KotlinEditor editor, Selection...
    type ElementSelection (line 32) | protected enum ElementSelection {
    method run (line 36) | @Override
    method getEnclosingElementForSelection (line 63) | @Nullable
    method runInternalSelection (line 79) | @NotNull
    method checkSelection (line 83) | static ElementSelection checkSelection(PsiElement element, TextRange s...
    method findSelectionCandidate (line 114) | @Nullable

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/selection/PsiElementChildrenIterable.java
  class PsiElementChildrenIterable (line 7) | public class PsiElementChildrenIterable implements Iterable<PsiElement> {
    class PsiChildrenIterator (line 9) | private class PsiChildrenIterator implements Iterator<PsiElement> {
      method PsiChildrenIterator (line 14) | public PsiChildrenIterator(PsiElement enclosingElement, boolean reve...
      method hasNext (line 23) | @Override
      method next (line 28) | @Override
      method remove (line 41) | @Override
    method PsiElementChildrenIterable (line 49) | private PsiElementChildrenIterable(PsiElement enclosingElement, boolea...
    method iterator (line 53) | @Override
    method forwardChildrenIterator (line 58) | public static PsiElementChildrenIterable forwardChildrenIterator(PsiEl...
    method backwardChildrenIterator (line 62) | public static PsiElementChildrenIterable backwardChildrenIterator(PsiE...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/selection/handlers/KotlinElementSelectionHandler.java
  type KotlinElementSelectionHandler (line 6) | public interface KotlinElementSelectionHandler {
    method canSelect (line 7) | public boolean canSelect(PsiElement enclosingElement);
    method selectEnclosing (line 9) | public TextRange selectEnclosing(PsiElement enclosingElement, TextRang...
    method selectPrevious (line 11) | public TextRange selectPrevious(PsiElement enclosingElement, PsiElemen...
    method selectNext (line 13) | public TextRange selectNext(PsiElement enclosingElement, PsiElement se...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/templates/KotlinApplicableTemplateContext.java
  class KotlinApplicableTemplateContext (line 34) | public class KotlinApplicableTemplateContext {
    method getTemplatesByContextTypeIds (line 36) | @NotNull
    method getApplicableContextTypeIds (line 49) | @NotNull
    method isContextApplicableAt (line 64) | private static boolean isContextApplicableAt(@Nullable PsiElement psiE...
    method getAllContextTypeIds (line 81) | @NotNull

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/templates/KotlinDocumentTemplateContext.java
  class KotlinDocumentTemplateContext (line 29) | public class KotlinDocumentTemplateContext extends DocumentTemplateConte...
    method KotlinDocumentTemplateContext (line 33) | public KotlinDocumentTemplateContext(TemplateContextType type, KotlinE...
    method evaluate (line 38) | @Override

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/templates/KotlinTemplateContextType.java
  class KotlinTemplateContextType (line 22) | public class KotlinTemplateContextType extends TemplateContextType {
    method KotlinTemplateContextType (line 27) | public KotlinTemplateContextType() {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/templates/KotlinTemplateFormatter.java
  class KotlinTemplateFormatter (line 39) | public class KotlinTemplateFormatter {
    class VariableOffsetsTracker (line 43) | private static class VariableOffsetsTracker {
      method VariableOffsetsTracker (line 62) | public VariableOffsetsTracker(String text, TemplateVariable[] variab...
      method unmark (line 90) | public void unmark(String formattedString) {
      method getMarkedString (line 132) | public String getMarkedString() {
      method getUnmarkedString (line 136) | public String getUnmarkedString() {
      method getCorrectedVariables (line 144) | public TemplateVariable[] getCorrectedVariables() {
      method toIntArray (line 152) | private static int[] toIntArray(List<Integer> list) {
    method format (line 160) | public void format(TemplateBuffer buffer, String lineDelimiter, IProje...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/editors/templates/KotlinTemplateManager.java
  class KotlinTemplateManager (line 28) | public class KotlinTemplateManager {
    method KotlinTemplateManager (line 37) | private KotlinTemplateManager() {
    method getContextTypeRegistry (line 40) | public ContextTypeRegistry getContextTypeRegistry() {
    method getTemplateStore (line 50) | public TemplateStore getTemplateStore() {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/formatter/AlignmentStrategy.java
  class AlignmentStrategy (line 32) | public class AlignmentStrategy {
    method AlignmentStrategy (line 38) | public AlignmentStrategy(ASTNode parsedFile, int lineIndentation, Stri...
    method computeIndent (line 41) | public static int computeIndent(ASTNode node) {
    method updateIndent (line 51) | public static int updateIndent(ASTNode node, int indent) {
    method isBlockElement (line 55) | public static boolean isBlockElement(ASTNode node) {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/formatter/EclipseDocumentFormattingModel.java
  class EclipseDocumentFormattingModel (line 30) | public class EclipseDocumentFormattingModel implements FormattingModelEx {
    method EclipseDocumentFormattingModel (line 42) | public EclipseDocumentFormattingModel(final PsiFile file, @NotNull fin...
    method getRootBlock (line 53) | @Override
    method getDocumentModel (line 59) | @Override
    method replaceWhiteSpace (line 65) | @Override
    method replaceWhiteSpace (line 70) | @Override
    method shiftIndentInsideRange (line 79) | @Override
    method commitChanges (line 91) | @Override
    method shiftIndentInside (line 105) | private int shiftIndentInside(final TextRange elementRange, final int ...
    method createWhiteSpace (line 155) | private void createWhiteSpace(final int whiteSpaceLength, StringBuilde...
    method getIndentOptions (line 163) | private CommonCodeStyleSettings.IndentOptions getIndentOptions() {
    method getProject (line 167) | public Project getProject() {
    method mergeWsWithCdataMarker (line 171) | @Nullable
    method replace (line 193) | private void replace(TextRange range, String whiteSpace) {
    method convertOffset (line 201) | private int convertOffset(int offset) {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/formatter/EclipseFormattingModel.java
  class EclipseFormattingModel (line 20) | public class EclipseFormattingModel implements FormattingDocumentModel {
    method EclipseFormattingModel (line 37) | public EclipseFormattingModel(
    method getDocumentToBeUsedFor (line 54) | @Nullable
    method getLineNumber (line 66) | @Override
    method getLineStartOffset (line 75) | @Override
    method getText (line 80) | @Override
    method getTextLength (line 91) | @Override
    method getDocument (line 96) | @NotNull
    method getFile (line 120) | public PsiFile getFile() {
    method containsWhiteSpaceSymbolsOnly (line 124) | @Override
    method adjustWhiteSpaceIfNecessary (line 133) | @NotNull
    method canUseDocumentModel (line 157) | public static boolean canUseDocumentModel(@NotNull Document document, ...

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/launch/junit/KotlinJUnitLaunchShortcut.java
  class KotlinJUnitLaunchShortcut (line 38) | public class KotlinJUnitLaunchShortcut extends JUnitLaunchShortcut {
    method launch (line 41) | @Override
    method launch (line 51) | @Override
    method resolveToEclipseElement (line 61) | @Nullable
    method resolveToEclipseElement (line 75) | @Nullable
    method launch (line 91) | private void launch(@NotNull IJavaElement eclipseElement, @NotNull Str...
    method getLaunchConfigurations (line 101) | @Override
    method showNoTestsFoundDialog (line 115) | private void showNoTestsFoundDialog() {

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/launch/junit/KotlinJUnitLaunchUtils.java
  class KotlinJUnitLaunchUtils (line 29) | public class KotlinJUnitLaunchUtils {
    method getSingleJetClass (line 30) | @Nullable
    method getEclipseTypeForSingleClass (line 50) | @Nullable

FILE: kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/launch/junit/KotlinJUnitLaunchableTester.java
  class KotlinJUnitLaunchableTester (line 31) | public class KotlinJUnitLaunchableTester extends PropertyTester {
    method test (line 33) | @Override
    method checkFileHasTests (line 45) | private boolean checkFileHasTests(@NotNull IFile file) {
    method checkElementHasTests (
Condensed preview — 1604 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,560K chars).
[
  {
    "path": ".gitattributes",
    "chars": 33,
    "preview": "**/testData/** linguist-vendored\n"
  },
  {
    "path": ".github/workflows/main.yml",
    "chars": 776,
    "preview": "name: kotlin-eclipse\n\non:\n  push:\n    branches: [ \"master\" ]\n\n  workflow_dispatch:\n\njobs:\n  build:\n    runs-on: ubuntu-l"
  },
  {
    "path": ".gitignore",
    "chars": 218,
    "preview": ".DS_Store\n.gradle\n.idea\n.metadata\n.recommenders\n.gradletasknamecache\n\nbin\nbuild\ncommon_testData\nkotlin-eclipse-ui-test/l"
  },
  {
    "path": "LICENSE",
    "chars": 11396,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "README.md",
    "chars": 4384,
    "preview": "Kotlin for Eclipse\r\n==============\r\n\r\n[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluen"
  },
  {
    "path": "common-settings/kotlin-formatting.xml",
    "chars": 30865,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<profiles version=\"12\">\n<profile kind=\"CodeFormatterProfile\" name"
  },
  {
    "path": "docs/dev-documentation.md",
    "chars": 15817,
    "preview": "# Kotlin Eclipse Plugin Developer Documentation\n\n## Kotlin Eclipse plugins overview\n\nKotlin plugin consists of several p"
  },
  {
    "path": "kotlin-bundled-compiler/Get Bundled Kotlin.launch",
    "chars": 1140,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<launchConfiguration type=\"org.eclipse.ant.AntLaunchConfiguration"
  },
  {
    "path": "kotlin-bundled-compiler/META-INF/MANIFEST.MF",
    "chars": 14147,
    "preview": "Manifest-Version: 1.0\nBundle-ManifestVersion: 2\nBundle-Name: Bundled Kotlin Compiler\nBundle-SymbolicName: org.jetbrains."
  },
  {
    "path": "kotlin-bundled-compiler/build.gradle.kts",
    "chars": 13888,
    "preview": "import com.intellij.buildsupport.dependencies.PackageListFromSimpleFile\nimport com.intellij.buildsupport.resolve.http.Ht"
  },
  {
    "path": "kotlin-bundled-compiler/build.properties",
    "chars": 2195,
    "preview": "###############################################################################\n# Copyright 2000-2014 JetBrains s.r.o.\n#"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/build.gradle",
    "chars": 550,
    "preview": "apply plugin: 'groovy'\n\n\nrepositories {\n    jcenter()\n    mavenCentral()\n    maven { url 'https://jitpack.io' }\n}\n\n\ndepe"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/dependencies/PackageList.groovy",
    "chars": 476,
    "preview": "package com.intellij.buildsupport.dependencies\n\nabstract class PackageList {\n    List<String> getPathsToInclude() {\n    "
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/dependencies/PackageListFromManifest.groovy",
    "chars": 470,
    "preview": "package com.intellij.buildsupport.dependencies\n\nimport groovy.transform.TupleConstructor\n\nimport java.util.jar.Manifest\n"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/dependencies/PackageListFromSimpleFile.groovy",
    "chars": 436,
    "preview": "package com.intellij.buildsupport.dependencies\n\nimport groovy.transform.TupleConstructor\n\nimport java.util.jar.Manifest\n"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/http/HttpArtifact.groovy",
    "chars": 356,
    "preview": "package com.intellij.buildsupport.resolve.http\n\n\nimport groovy.transform.EqualsAndHashCode\nimport groovy.transform.ToStr"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/http/HttpArtifactsResolver.groovy",
    "chars": 1627,
    "preview": "package com.intellij.buildsupport.resolve.http\n\n\nimport groovy.transform.TupleConstructor\n\n\n@TupleConstructor(includeFie"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/http/idea/IntellijIdeaArtifactsResolver.groovy",
    "chars": 867,
    "preview": "package com.intellij.buildsupport.resolve.http.idea\n\n\nimport com.intellij.buildsupport.resolve.http.HttpArtifact\nimport "
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/TCArtifact.groovy",
    "chars": 425,
    "preview": "package com.intellij.buildsupport.resolve.tc\n\n\nimport groovy.transform.EqualsAndHashCode\nimport groovy.transform.ToStrin"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/TCArtifactsResolver.groovy",
    "chars": 4456,
    "preview": "package com.intellij.buildsupport.resolve.tc\n\n\nimport groovy.transform.CompileStatic\nimport groovy.transform.TupleConstr"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/kotlin/CommonIDEArtifactsResolver.groovy",
    "chars": 1342,
    "preview": "package com.intellij.buildsupport.resolve.tc.kotlin\n\nimport com.intellij.buildsupport.resolve.tc.TCArtifact\nimport com.i"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/resolve/tc/kotlin/KotlinCompilerTCArtifactsResolver.groovy",
    "chars": 1900,
    "preview": "package com.intellij.buildsupport.resolve.tc.kotlin\n\n\nimport com.intellij.buildsupport.resolve.tc.TCArtifact\nimport com."
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/main/groovy/com/intellij/buildsupport/utils/FileUtils.groovy",
    "chars": 716,
    "preview": "package com.intellij.buildsupport.utils\n\n\nimport groovy.transform.CompileStatic\n\n\n@CompileStatic\nclass FileUtils {\n    p"
  },
  {
    "path": "kotlin-bundled-compiler/buildSrc/src/test/groovy/com/intellij/buildsupport/tc/kotlin/KotlinCompilerTCArtifactsResolverSpecification.groovy",
    "chars": 6137,
    "preview": "package com.intellij.buildsupport.tc.kotlin\n\n\nimport com.intellij.buildsupport.resolve.tc.TCArtifactsResolver\nimport com"
  },
  {
    "path": "kotlin-bundled-compiler/gradle/wrapper/gradle-wrapper.properties",
    "chars": 202,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "kotlin-bundled-compiler/gradlew",
    "chars": 5917,
    "preview": "#!/usr/bin/env sh\n\n#\n# Copyright 2015 the original author or authors.\n#\n# Licensed under the Apache License, Version 2.0"
  },
  {
    "path": "kotlin-bundled-compiler/gradlew.bat",
    "chars": 2842,
    "preview": "@rem\n@rem Copyright 2015 the original author or authors.\n@rem\n@rem Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "kotlin-bundled-compiler/pom.xml",
    "chars": 2337,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "kotlin-bundled-compiler/referencedPackages.txt",
    "chars": 802,
    "preview": "# List of packages that are referenced from other dependencies and should be included in plugin to avoid classpath issue"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/codeInsight/CodeInsightBundle.java",
    "chars": 160,
    "preview": "package com.intellij.codeInsight;\n\npublic class CodeInsightBundle {\n    public static String message(String key, Object."
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/codeInsight/KotlinNullableNotNullManager.kt",
    "chars": 3543,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/codeInsight/actions/ReformatCodeProcessor.java",
    "chars": 220,
    "preview": "package com.intellij.codeInsight.actions;\n\npublic class ReformatCodeProcessor {\n    public static final String COMMAND_N"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/codeInsight/generation/GenerateEqualsHelper.java",
    "chars": 886,
    "preview": "package com.intellij.codeInsight.generation;\n\nimport com.intellij.openapi.project.Project;\nimport com.intellij.psi.PsiCl"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/formatting/KotlinLanguageCodeStyleSettingsProvider.kt",
    "chars": 1174,
    "preview": "package com.intellij.formatting\n\nimport org.jetbrains.kotlin.idea.KotlinLanguage\nimport com.intellij.application.options"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/formatting/KotlinSettingsProvider.kt",
    "chars": 1067,
    "preview": "package com.intellij.formatting\n\nimport com.intellij.lang.Language\nimport com.intellij.openapi.options.Configurable\nimpo"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/openapi/editor/Editor.java",
    "chars": 67,
    "preview": "package com.intellij.openapi.editor;\n\npublic class Editor {\n    \n}\n"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/openapi/extensions/ExtensionException.kt",
    "chars": 149,
    "preview": "package com.intellij.openapi.extensions\n\nclass ExtensionException(val extensionClass: Class<*>) : RuntimeException(exten"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/openapi/fileTypes/StdFileTypes.java",
    "chars": 125,
    "preview": "package com.intellij.openapi.fileTypes;\n\npublic class StdFileTypes {\n    public static final LanguageFileType JAVA = nul"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/openapi/util/text/StringUtil.java",
    "chars": 114037,
    "preview": "// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found "
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/util/SequentialModalProgressTask.java",
    "chars": 3380,
    "preview": "package com.intellij.util;\n\nimport java.lang.reflect.InvocationTargetException;\n\nimport org.jetbrains.annotations.NotNul"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/util/SequentialTask.java",
    "chars": 651,
    "preview": "package com.intellij.util;\n\npublic interface SequentialTask {\n    \n    /**\n     * Callback method that is assumed to be "
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/util/SingletonSet.java",
    "chars": 3326,
    "preview": "/*\n * Copyright 2000-2015 JetBrains s.r.o.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you "
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/util/containers/LinkedMultiMap.java",
    "chars": 111,
    "preview": "package com.intellij.util.containers;\n\n@Deprecated\npublic class LinkedMultiMap<K, V> extends MultiMap<K, V> {\n}"
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/util/containers/MultiMap.java",
    "chars": 11131,
    "preview": "// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found "
  },
  {
    "path": "kotlin-bundled-compiler/src/com/intellij/util/containers/ObjectIntHashMap.java",
    "chars": 1495,
    "preview": "package com.intellij.util.containers;\n\nimport gnu.trove.TObjectHashingStrategy;\nimport gnu.trove.TObjectIntHashMap;\nimpo"
  },
  {
    "path": "kotlin-bundled-compiler/src/it/unimi/dsi/fastutil/ints/IntOpenHashSet.java",
    "chars": 10546,
    "preview": "package it.unimi.dsi.fastutil.ints;\n\nimport it.unimi.dsi.fastutil.Hash;\nimport it.unimi.dsi.fastutil.HashCommon;\nimport "
  },
  {
    "path": "kotlin-bundled-compiler/src/org/jetbrains/kotlin/idea/core/formatter/KotlinPackageEntry.kt",
    "chars": 1048,
    "preview": "package org.jetbrains.kotlin.idea.core.formatter\n\nclass KotlinPackageEntry(\n        packageName: String,\n        val wit"
  },
  {
    "path": "kotlin-eclipse-aspects/META-INF/MANIFEST.MF",
    "chars": 1658,
    "preview": "Manifest-Version: 1.0\nBundle-ManifestVersion: 2\nBundle-Name: kotlin-eclipse-aspects\nBundle-SymbolicName: org.jetbrains.k"
  },
  {
    "path": "kotlin-eclipse-aspects/META-INF/aop.xml",
    "chars": 1569,
    "preview": "<aspectj>\n    <aspects>\n        <aspect name=\"org.jetbrains.kotlin.aspects.debug.ui.SuppressBreakpointMarkerUpdaterAspec"
  },
  {
    "path": "kotlin-eclipse-aspects/build.properties",
    "chars": 76,
    "preview": "source.. = src/\noutput.. = bin/\nbin.includes = META-INF/,\\\n               .\n"
  },
  {
    "path": "kotlin-eclipse-aspects/pom.xml",
    "chars": 1499,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/Activator.java",
    "chars": 1044,
    "preview": "package org.jetbrains.kotlin.aspects;\n\nimport org.eclipse.ui.plugin.AbstractUIPlugin;\nimport org.osgi.framework.BundleCo"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/debug/core/KotlinSourceLookupAspect.aj",
    "chars": 1131,
    "preview": "package org.jetbrains.kotlin.aspects.debug.core;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecli"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/debug/core/KotlinStackFrameFilterAspect.aj",
    "chars": 918,
    "preview": "package org.jetbrains.kotlin.aspects.debug.core;\n\nimport java.util.stream.Stream;\n\nimport org.aspectj.lang.annotation.Su"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/debug/ui/SuppressBreakpointMarkerUpdaterAspect.aj",
    "chars": 1183,
    "preview": "package org.jetbrains.kotlin.aspects.debug.ui;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.eclips"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/navigation/KotlinFindSourceAspect.aj",
    "chars": 893,
    "preview": "package org.jetbrains.kotlin.aspects.navigation;\n\nimport org.eclipse.jdt.core.IType;\nimport org.eclipse.jdt.internal.cor"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/navigation/KotlinOpenEditorAspect.aj",
    "chars": 1202,
    "preview": "package org.jetbrains.kotlin.aspects.navigation;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecli"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/navigation/KotlinSearchEditorOpenerAspect.aj",
    "chars": 1248,
    "preview": "package org.jetbrains.kotlin.aspects.navigation;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecli"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinBinaryReferencesAspect.aj",
    "chars": 1435,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinBreakpointRenamingParticipantAspect.aj",
    "chars": 1184,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinJavaDescriptorAspect.aj",
    "chars": 1281,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinRefactoringChecksAspect.aj",
    "chars": 887,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinRefactoringTypeAspect.aj",
    "chars": 1403,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport java.lang.reflect.InvocationTargetException;\nimport java.lang."
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinRemoveDeclarationUpdateAspect.aj",
    "chars": 1083,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinRenameFromJavaAspect.aj",
    "chars": 930,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/refactoring/KotlinRippleMethodFinderAspect.aj",
    "chars": 1333,
    "preview": "package org.jetbrains.kotlin.aspects.refactoring;\n\nimport org.aspectj.lang.annotation.SuppressAjWarnings;\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-aspects/src/org/jetbrains/kotlin/aspects/ui/PackageExplorerLabelProviderAspect.aj",
    "chars": 950,
    "preview": "package org.jetbrains.kotlin.aspects.ui;\n\nimport org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider;"
  },
  {
    "path": "kotlin-eclipse-core/META-INF/MANIFEST.MF",
    "chars": 2032,
    "preview": "Manifest-Version: 1.0\nBundle-ManifestVersion: 2\nBundle-Name: kotlin-eclipse-core\nBundle-SymbolicName: org.jetbrains.kotl"
  },
  {
    "path": "kotlin-eclipse-core/build.properties",
    "chars": 905,
    "preview": "###############################################################################\n# Copyright 2000-2014 JetBrains s.r.o.\n#"
  },
  {
    "path": "kotlin-eclipse-core/plugin.xml",
    "chars": 3164,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?eclipse version=\"3.4\"?>\n<plugin>\n   <extension-point id=\"org.jetbrains.kotlin.c"
  },
  {
    "path": "kotlin-eclipse-core/pom.xml",
    "chars": 1299,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "kotlin-eclipse-core/preferences.ini",
    "chars": 776,
    "preview": "jvmTarget=JVM_1_6\ncompilerPlugins/all-open/active=false\ncompilerPlugins/all-open/jarPath=$KOTLIN_HOME/lib/allopen-compil"
  },
  {
    "path": "kotlin-eclipse-core/schema/org.jetbrains.kotlin.core.predefinedKotlinCodeStyle.exsd",
    "chars": 2852,
    "preview": "<?xml version='1.0' encoding='UTF-8'?>\n<!-- Schema file written by PDE -->\n<schema targetNamespace=\"org.jetbrains.kotlin"
  },
  {
    "path": "kotlin-eclipse-core/schema/org.jetbrains.kotlin.core.scriptTemplateContribution.exsd",
    "chars": 2845,
    "preview": "<?xml version='1.0' encoding='UTF-8'?>\n<!-- Schema file written by PDE -->\n<schema targetNamespace=\"org.jetbrains.kotlin"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/Activator.java",
    "chars": 2314,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/KotlinClasspathContainer.kt",
    "chars": 3469,
    "preview": "/*******************************************************************************\n* Copyright 2000-2016 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/KotlinClasspathContainerInitializer.kt",
    "chars": 1742,
    "preview": "package org.jetbrains.kotlin.core\n\nimport org.eclipse.core.resources.IFolder\nimport org.eclipse.core.resources.IResource"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/KotlinClasspathProvider.kt",
    "chars": 947,
    "preview": "package org.jetbrains.kotlin.core\n\nimport org.eclipse.debug.core.ILaunchConfiguration\nimport org.eclipse.jdt.launching.I"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/BinaryClassWriter.java",
    "chars": 594,
    "preview": "package org.jetbrains.kotlin.core.asJava;\n\nimport org.jetbrains.org.objectweb.asm.ClassWriter;\n\npublic class BinaryClass"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/KotlinLightClassGeneration.kt",
    "chars": 5021,
    "preview": "/*******************************************************************************\n* Copyright 2000-2015 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/LightClassBuilderFactory.java",
    "chars": 3178,
    "preview": "package org.jetbrains.kotlin.core.asJava;\n\nimport java.util.Collections;\nimport java.util.Set;\nimport java.util.concurre"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/LightClassFile.java",
    "chars": 1190,
    "preview": "package org.jetbrains.kotlin.core.asJava;\n\nimport java.io.ByteArrayInputStream;\nimport java.io.File;\n\nimport org.eclipse"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/asJava/elementUtils.kt",
    "chars": 2569,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/builder/KotlinPsiManager.kt",
    "chars": 14908,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/compiler/KotlinCompiler.kt",
    "chars": 10683,
    "preview": "package org.jetbrains.kotlin.core.compiler\n\nimport com.intellij.openapi.util.Disposer\nimport org.eclipse.jdt.core.IJavaP"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/compiler/KotlinCompiler2.java",
    "chars": 44,
    "preview": "package org.jetbrains.kotlin.core.compiler;\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/compiler/KotlinCompilerUtils.kt",
    "chars": 1911,
    "preview": "/*******************************************************************************\n * Copyright 2010-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/debug/KotlinSourceLookupNavigator.java",
    "chars": 3747,
    "preview": "/*\n * Copyright 2010-2015 JetBrains s.r.o.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you "
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/EnvironmentRemnantNature.kt",
    "chars": 1210,
    "preview": "/*\n * Copyright 2019 the original author or authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinFileStore.kt",
    "chars": 6045,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinFileSystem.java",
    "chars": 1141,
    "preview": "package org.jetbrains.kotlin.core.filesystem;\n\nimport java.io.File;\nimport java.net.URI;\n\nimport org.eclipse.core.filesy"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinLightClassManager.kt",
    "chars": 11226,
    "preview": "package org.jetbrains.kotlin.core.filesystem\n\nimport com.intellij.openapi.components.ServiceManager\nimport com.intellij."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/filesystem/KotlinScriptFIleSystem.kt",
    "chars": 5679,
    "preview": "package org.jetbrains.kotlin.core.filesystem\n\nimport org.eclipse.core.filesystem.EFS\nimport org.eclipse.core.filesystem."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/formatting/KotlinCodeStyleManager.kt",
    "chars": 2810,
    "preview": "package org.jetbrains.kotlin.core.formatting\n\nimport com.intellij.psi.codeStyle.CodeStyleSettings\nimport org.eclipse.cor"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/imports/FunctionImportFinder.kt",
    "chars": 2203,
    "preview": "package org.jetbrains.kotlin.core.imports\n\nimport org.jetbrains.kotlin.descriptors.*\nimport org.jetbrains.kotlin.descrip"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/imports/importCandidates.kt",
    "chars": 1227,
    "preview": "package org.jetbrains.kotlin.core.imports\n\nimport org.eclipse.jdt.core.search.TypeNameMatch\nimport org.jetbrains.kotlin."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/imports/importServices.kt",
    "chars": 6960,
    "preview": "package org.jetbrains.kotlin.core.imports\n\nimport com.intellij.psi.PsiElement\nimport org.eclipse.jdt.core.Flags\nimport o"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/launch/CompilerOutputData.java",
    "chars": 1496,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/launch/CompilerOutputElement.java",
    "chars": 1689,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/launch/CompilerOutputParser.java",
    "chars": 5919,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/launch/KotlinCLICompiler.kt",
    "chars": 1152,
    "preview": "package org.jetbrains.kotlin.core.launch\n\nimport java.io.PrintStream\nimport org.jetbrains.kotlin.cli.common.CLICompiler\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/log/kotlinLogger.kt",
    "chars": 969,
    "preview": "package org.jetbrains.kotlin.core.log\n\nimport org.jetbrains.kotlin.core.Activator\nimport org.eclipse.core.runtime.IStatu"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/CachedEnvironment.kt",
    "chars": 2935,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/DummyCodeStyleManager.kt",
    "chars": 3625,
    "preview": "package org.jetbrains.kotlin.core.model\n\nimport com.intellij.lang.ASTNode\nimport com.intellij.openapi.editor.Document\nim"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/EclipseKotlinModuleResolver.kt",
    "chars": 669,
    "preview": "package org.jetbrains.kotlin.core.model\n\nimport com.intellij.openapi.vfs.VirtualFile\nimport org.jetbrains.kotlin.load.ja"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/EclipseScriptDefinitionProvider.kt",
    "chars": 5627,
    "preview": "package org.jetbrains.kotlin.core.model\n\nimport org.eclipse.osgi.internal.loader.EquinoxClassLoader\nimport org.jetbrains"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinAnalysisFileCache.kt",
    "chars": 2443,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinAnalysisProjectCache.kt",
    "chars": 3204,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinCommonEnvironment.kt",
    "chars": 15687,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinEnvironment.kt",
    "chars": 19014,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinJavaManager.kt",
    "chars": 5451,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinLightVirtualFile.kt",
    "chars": 1172,
    "preview": "/*******************************************************************************\n* Copyright 2000-2014 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinNature.kt",
    "chars": 5399,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/KotlinRefreshProjectListener.kt",
    "chars": 1264,
    "preview": "package org.jetbrains.kotlin.core.model\n\nimport org.eclipse.core.resources.IProject\nimport org.eclipse.core.resources.IR"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/executableEP.kt",
    "chars": 2507,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/model/kotlinModelUtils.kt",
    "chars": 3744,
    "preview": "/*******************************************************************************\n* Copyright 2000-2015 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/preferences/KotlinBuildingProperties.kt",
    "chars": 530,
    "preview": "package org.jetbrains.kotlin.core.preferences\n\nimport org.eclipse.core.runtime.preferences.IScopeContext\nimport org.ecli"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/preferences/KotlinCodeStyleProperties.kt",
    "chars": 892,
    "preview": "package org.jetbrains.kotlin.core.preferences\n\nimport org.eclipse.core.resources.ProjectScope\nimport org.eclipse.core.ru"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/preferences/KotlinProperties.kt",
    "chars": 2443,
    "preview": "package org.jetbrains.kotlin.core.preferences\n\nimport org.eclipse.core.runtime.preferences.DefaultScope\nimport org.eclip"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/preferences/KotlinPropertiesExtensions.kt",
    "chars": 1969,
    "preview": "package org.jetbrains.kotlin.core.preferences\n\nimport org.jetbrains.kotlin.config.*\n\nprivate enum class CompilerFlagsMap"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/preferences/Preferences.kt",
    "chars": 8562,
    "preview": "package org.jetbrains.kotlin.core.preferences\n\nimport org.eclipse.core.runtime.preferences.ConfigurationScope\nimport org"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/references/KotlinReference.kt",
    "chars": 8946,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/references/referenceUtils.kt",
    "chars": 5319,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/BuiltInsReferenceResolver.java",
    "chars": 10654,
    "preview": "/*\n * Copyright 2010-2015 JetBrains s.r.o.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you "
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/DeserializedDescriptorUtils.kt",
    "chars": 930,
    "preview": "package org.jetbrains.kotlin.core.resolve;\n\nimport org.jetbrains.kotlin.descriptors.DeclarationDescriptor\nimport org.jet"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/EclipseAnalyzerFacadeForJVM.kt",
    "chars": 16095,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/EclipseDescriptorUtils.java",
    "chars": 5536,
    "preview": "package org.jetbrains.kotlin.core.resolve;\n\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Collec"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/KotlinAnalyzer.kt",
    "chars": 2569,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/KotlinCacheServiceImpl.kt",
    "chars": 5798,
    "preview": "/*******************************************************************************\n* Copyright 2000-2016 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/KotlinPackagePartProvider.kt",
    "chars": 5839,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/KotlinResolutionFacade.kt",
    "chars": 3595,
    "preview": "/*******************************************************************************\n * Copyright 2000-2015 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/KotlinSourceIndex.java",
    "chars": 4218,
    "preview": "package org.jetbrains.kotlin.core.resolve;\n\nimport java.io.File;\nimport java.util.Map;\nimport java.util.WeakHashMap;\n\nim"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/injection.kt",
    "chars": 7557,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/EclipseJavaClassFinder.java",
    "chars": 8287,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/resolver/EclipseJavaSourceElement.java",
    "chars": 1763,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/resolver/EclipseJavaSourceElementFactory.java",
    "chars": 1321,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/resolver/EclipseTraceBasedJavaResolverCache.kt",
    "chars": 2922,
    "preview": "/*******************************************************************************\n* Copyright 2000-2016 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaAnnotation.kt",
    "chars": 2344,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaAnnotationArgument.kt",
    "chars": 2170,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaAnnotationAsAnnotationArgument.kt",
    "chars": 1304,
    "preview": "/*******************************************************************************\n* Copyright 2000-2014 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaArrayAnnotationArgument.kt",
    "chars": 1381,
    "preview": "/*******************************************************************************\n* Copyright 2000-2014 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaArrayType.java",
    "chars": 1395,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaClass.kt",
    "chars": 4297,
    "preview": "/*******************************************************************************\n* Copyright 2000-2016 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaClassObjectAnnotationArgument.java",
    "chars": 2133,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaClassifier.kt",
    "chars": 2163,
    "preview": "/*******************************************************************************\n* Copyright 2000-2014 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaClassifierType.java",
    "chars": 2136,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaConstructor.java",
    "chars": 1441,
    "preview": "package org.jetbrains.kotlin.core.resolve.lang.java.structure;\n\nimport static org.jetbrains.kotlin.core.resolve.lang.jav"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaElement.kt",
    "chars": 1189,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaElementFactory.java",
    "chars": 5289,
    "preview": "/*******************************************************************************\n * Copyright 2010-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaElementUtil.java",
    "chars": 11799,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaField.kt",
    "chars": 1584,
    "preview": "/*******************************************************************************\n* Copyright 2000-2014 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaLiteralAnnotationArgument.java",
    "chars": 1520,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaMember.java",
    "chars": 2671,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaMethod.kt",
    "chars": 2138,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaPackage.java",
    "chars": 5834,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaPrimitiveType.java",
    "chars": 1516,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaPropertyInitializerEvaluator.java",
    "chars": 2203,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaReferenceAnnotationArgument.java",
    "chars": 1899,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaType.java",
    "chars": 3146,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaTypeAsAnnotationArgument.kt",
    "chars": 563,
    "preview": "package org.jetbrains.kotlin.core.resolve.lang.java.structure\n\nimport org.eclipse.jdt.core.dom.ITypeBinding\nimport org.j"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaTypeParameter.kt",
    "chars": 1596,
    "preview": "/*******************************************************************************\n* Copyright 2000-2014 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaValueParameter.java",
    "chars": 2752,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseJavaWildcardType.java",
    "chars": 1591,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/java/structure/EclipseOptimizedJavaClass.kt",
    "chars": 3243,
    "preview": "package org.jetbrains.kotlin.core.resolve.lang.java.structure\n\nimport org.eclipse.jdt.core.IType\nimport org.jetbrains.ko"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/lang/kotlin/EclipseVirtualFileFinder.kt",
    "chars": 7122,
    "preview": "/*******************************************************************************\n* Copyright 2000-2014 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/resolve/sources/LibrarySourcesIndex.kt",
    "chars": 3648,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/script/EnvironmentProjectsManager.kt",
    "chars": 1962,
    "preview": "package org.jetbrains.kotlin.core.script\n\nimport org.eclipse.core.internal.resources.ProjectDescription\nimport org.eclip"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/script/ScriptTemplateContribution.kt",
    "chars": 940,
    "preview": "package org.jetbrains.kotlin.core.script\n\nimport org.eclipse.jdt.core.IClasspathEntry\nimport org.jetbrains.kotlin.core.m"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/script/template/ProjectFilesResolver.kt",
    "chars": 763,
    "preview": "package org.jetbrains.kotlin.core.script.template\n\nimport java.io.File\nimport kotlin.script.dependencies.Environment\nimp"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/script/template/ProjectScriptTemplate.kt",
    "chars": 236,
    "preview": "package org.jetbrains.kotlin.core.script.template\n\nimport kotlin.script.templates.ScriptTemplateDefinition\n\n\n@ScriptTemp"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/script/template/ProjectScriptTemplateContribution.kt",
    "chars": 2631,
    "preview": "/*\n * Copyright 2019 the original author or authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/DebugUtils.java",
    "chars": 952,
    "preview": "package org.jetbrains.kotlin.core.utils;\n\nimport java.util.Optional;\n\nimport org.eclipse.debug.core.DebugException;\nimpo"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/DependencyResolverException.kt",
    "chars": 147,
    "preview": "package org.jetbrains.kotlin.core.utils\n\nimport java.io.File\n\nclass DependencyResolverException(val resolvedFiles: List<"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/ProjectUtils.kt",
    "chars": 13025,
    "preview": "/*******************************************************************************\n * Copyright 2000-2014 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/analyzeUtils.kt",
    "chars": 1389,
    "preview": "/*******************************************************************************\n * Copyright 2000-2016 JetBrains s.r.o."
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/genericUtils.kt",
    "chars": 134,
    "preview": "package org.jetbrains.kotlin.core.utils\n\nfun <T, S> pairOfNotNulls(first: T?, second: S?): Pair<T, S>? = second?.let { f"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/importsUtils.kt",
    "chars": 3808,
    "preview": "/*******************************************************************************\n* Copyright 2000-2016 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/jobUtils.kt",
    "chars": 443,
    "preview": "package org.jetbrains.kotlin.core.utils\n\nimport org.eclipse.core.resources.IResource\nimport org.eclipse.core.runtime.IPr"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/kotlinFilesCollectorUtils.kt",
    "chars": 1561,
    "preview": "/*******************************************************************************\n* Copyright 2000-2015 JetBrains s.r.o.\n"
  },
  {
    "path": "kotlin-eclipse-core/src/org/jetbrains/kotlin/core/utils/projectFilesUtils.kt",
    "chars": 1212,
    "preview": "package org.jetbrains.kotlin.core.utils\n\nimport org.eclipse.core.resources.IFile\nimport org.eclipse.core.resources.IReso"
  },
  {
    "path": "kotlin-eclipse-feature/build.properties",
    "chars": 770,
    "preview": "###############################################################################\n# Copyright 2000-2014 JetBrains s.r.o.\n#"
  },
  {
    "path": "kotlin-eclipse-feature/feature.xml",
    "chars": 1948,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<feature\n      id=\"org.jetbrains.kotlin.feature\"\n      label=\"Kotlin\"\n      versi"
  },
  {
    "path": "kotlin-eclipse-feature/pom.xml",
    "chars": 611,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "kotlin-eclipse-gradle/META-INF/MANIFEST.MF",
    "chars": 704,
    "preview": "Manifest-Version: 1.0\nBundle-ManifestVersion: 2\nBundle-Name: kotlin-eclipse-gradle\nBundle-SymbolicName: org.jetbrains.ko"
  },
  {
    "path": "kotlin-eclipse-gradle/build.properties",
    "chars": 131,
    "preview": "source.. = src/\noutput.. = bin/\nbin.includes = META-INF/,\\\n               .,\\\n               plugin.xml,\\\n              "
  },
  {
    "path": "kotlin-eclipse-gradle/plugin.xml",
    "chars": 641,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?eclipse version=\"3.4\"?>\n<plugin>\n   <extension\n         point=\"org.eclipse.buil"
  },
  {
    "path": "kotlin-eclipse-gradle/pom.xml",
    "chars": 1077,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "kotlin-eclipse-gradle/scripts/init.gradle.kts",
    "chars": 3944,
    "preview": "import javax.inject.Inject\nimport org.gradle.api.Plugin\nimport org.gradle.api.Project\nimport org.gradle.tooling.provider"
  },
  {
    "path": "kotlin-eclipse-gradle/src/org/jetbrains/kotlin/gradle/Activator.kt",
    "chars": 507,
    "preview": "package org.jetbrains.kotlin.gradle\n\nimport org.osgi.framework.BundleActivator\nimport org.osgi.framework.BundleContext\n\n"
  },
  {
    "path": "kotlin-eclipse-gradle/src/org/jetbrains/kotlin/gradle/configurator/KotlinProjectConfigurator.kt",
    "chars": 3797,
    "preview": "package org.jetbrains.kotlin.gradle.configurator\n\nimport org.eclipse.buildship.core.InitializationContext\nimport org.ecl"
  },
  {
    "path": "kotlin-eclipse-gradle/src/org/jetbrains/kotlin/gradle/initialization/ModelInjector.kt",
    "chars": 1181,
    "preview": "package org.jetbrains.kotlin.gradle.initialization\n\nimport org.eclipse.buildship.core.invocation.InvocationCustomizer\nim"
  },
  {
    "path": "kotlin-eclipse-gradle-feature/build.properties",
    "chars": 770,
    "preview": "###############################################################################\n# Copyright 2000-2014 JetBrains s.r.o.\n#"
  },
  {
    "path": "kotlin-eclipse-gradle-feature/feature.xml",
    "chars": 1047,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<feature\n      id=\"org.jetbrains.kotlin.gradle.feature\"\n      label=\"Kotlin-gradl"
  },
  {
    "path": "kotlin-eclipse-gradle-feature/pom.xml",
    "chars": 618,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "kotlin-eclipse-gradle-model/META-INF/MANIFEST.MF",
    "chars": 368,
    "preview": "Manifest-Version: 1.0\nBundle-ManifestVersion: 2\nBundle-Name: kotlin-eclipse-gradle-model\nBundle-SymbolicName: org.jetbra"
  },
  {
    "path": "kotlin-eclipse-gradle-model/build.gradle",
    "chars": 449,
    "preview": "plugins {\n    id 'org.jetbrains.kotlin.jvm' version '1.6.0'\n}\n\ngroup 'kotlin-eclipse-plugin'\nversion '0.8.20-SNAPSHOT'\n\n"
  },
  {
    "path": "kotlin-eclipse-gradle-model/build.properties",
    "chars": 153,
    "preview": "source.. = src/\noutput.. = bin/\nbin.includes = META-INF/,\\\n               .,\\\n               plugin.xml,\\\n              "
  },
  {
    "path": "kotlin-eclipse-gradle-model/gradle/wrapper/gradle-wrapper.properties",
    "chars": 200,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "kotlin-eclipse-gradle-model/gradlew",
    "chars": 5305,
    "preview": "#!/usr/bin/env sh\n\n##############################################################################\n##\n##  Gradle start up"
  },
  {
    "path": "kotlin-eclipse-gradle-model/gradlew.bat",
    "chars": 2185,
    "preview": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem "
  }
]

// ... and 1404 more files (download for full content)

About this extraction

This page contains the full source code of the JetBrains/kotlin-eclipse GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1604 files (2.2 MB), approximately 678.9k tokens, and a symbol index with 2766 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!