diff --git a/build.gradle.kts b/build.gradle.kts index 1fa1b79a99c..fe3d36a386e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -178,6 +178,7 @@ extra["compilerModules"] = arrayOf( ":compiler:conditional-preprocessor", ":compiler:resolution", ":compiler:serialization", + ":compiler:psi", ":compiler:frontend", ":compiler:frontend.java", ":compiler:frontend.script", diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/CompilationException.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/CompilationException.java index 6b1dd7814e4..740bef0b9b9 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/CompilationException.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/CompilationException.java @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.codegen; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils; +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils; import org.jetbrains.kotlin.util.ExceptionUtilKt; import org.jetbrains.kotlin.utils.KotlinExceptionWithAttachments; @@ -17,7 +17,7 @@ public class CompilationException extends KotlinExceptionWithAttachments { public CompilationException(@NotNull String message, @Nullable Throwable cause, @Nullable PsiElement element) { super(ExceptionUtilKt.getExceptionMessage("Back-end (JVM)", message, cause, - element == null ? null : DiagnosticUtils.atLocation(element)), + element == null ? null : PsiDiagnosticUtils.atLocation(element)), cause); this.element = element; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/RangeCodegenUtil.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/RangeCodegenUtil.kt index 7e7772c11ce..1cd62cc4bc8 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/RangeCodegenUtil.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/RangeCodegenUtil.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns.RANGES_PACKAGE_FQ_NAME import org.jetbrains.kotlin.builtins.PrimitiveType import org.jetbrains.kotlin.codegen.AsmUtil.isPrimitiveNumberClassDescriptor import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtForExpression @@ -94,7 +94,7 @@ fun getRangeOrProgressionElementType(rangeType: KotlinType): KotlinType? { fun BindingContext.getElementType(forExpression: KtForExpression): KotlinType { val loopRange = forExpression.loopRange!! val nextCall = get(BindingContext.LOOP_RANGE_NEXT_RESOLVED_CALL, loopRange) - ?: throw AssertionError("No next() function " + DiagnosticUtils.atLocation(loopRange)) + ?: throw AssertionError("No next() function " + PsiDiagnosticUtils.atLocation(loopRange)) return nextCall.resultingDescriptor.returnType!! } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/forLoop/IteratorForLoopGenerator.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/forLoop/IteratorForLoopGenerator.kt index c621d9d429d..8170cc26b22 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/forLoop/IteratorForLoopGenerator.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/forLoop/IteratorForLoopGenerator.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.codegen.range.forLoop import org.jetbrains.kotlin.codegen.ExpressionCodegen import org.jetbrains.kotlin.codegen.StackValue import org.jetbrains.kotlin.descriptors.FunctionDescriptor -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils import org.jetbrains.kotlin.psi.KtForExpression import org.jetbrains.kotlin.resolve.BindingContext.* import org.jetbrains.kotlin.resolve.BindingContextUtils.getNotNull @@ -40,7 +40,7 @@ class IteratorForLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForE this.iteratorCall = getNotNull( bindingContext, LOOP_RANGE_ITERATOR_RESOLVED_CALL, loopRange, - "No .iterator() function " + DiagnosticUtils.atLocation(loopRange) + "No .iterator() function " + PsiDiagnosticUtils.atLocation(loopRange) ) val iteratorType = iteratorCall.resultingDescriptor.returnType!! @@ -49,7 +49,7 @@ class IteratorForLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForE this.nextCall = getNotNull( bindingContext, LOOP_RANGE_NEXT_RESOLVED_CALL, loopRange, - "No next() function " + DiagnosticUtils.atLocation(loopRange) + "No next() function " + PsiDiagnosticUtils.atLocation(loopRange) ) } @@ -70,7 +70,7 @@ class IteratorForLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForE val hasNextCall = getNotNull( codegen.bindingContext, LOOP_RANGE_HAS_NEXT_RESOLVED_CALL, loopRange!!, - "No hasNext() function " + DiagnosticUtils.atLocation(loopRange) + "No hasNext() function " + PsiDiagnosticUtils.atLocation(loopRange) ) val fakeCall = codegen.makeFakeCall(TransientReceiver(iteratorCall.resultingDescriptor.returnType!!)) val result = codegen.invokeFunction(fakeCall, hasNextCall, StackValue.local(iteratorVarIndex, asmTypeForIterator)) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java index 7a8f4d38096..e82cb173e49 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/MessageUtil.java @@ -24,6 +24,7 @@ import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.diagnostics.DiagnosticUtils; +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils; import static com.intellij.openapi.util.io.FileUtil.toSystemDependentName; @@ -41,7 +42,7 @@ public class MessageUtil { public static CompilerMessageLocation psiFileToMessageLocation( @NotNull PsiFile file, @Nullable String defaultValue, - @NotNull DiagnosticUtils.LineAndColumn lineAndColumn + @NotNull PsiDiagnosticUtils.LineAndColumn lineAndColumn ) { VirtualFile virtualFile = file.getVirtualFile(); String path = virtualFile != null ? virtualFileToPath(virtualFile) : defaultValue; diff --git a/compiler/frontend/build.gradle.kts b/compiler/frontend/build.gradle.kts index d053ff3f018..4d56b8dac0c 100644 --- a/compiler/frontend/build.gradle.kts +++ b/compiler/frontend/build.gradle.kts @@ -4,27 +4,20 @@ apply { plugin("jps-compatible") } jvmTarget = "1.6" -val jflexPath by configurations.creating - dependencies { compile(project(":core:descriptors")) compile(project(":core:deserialization")) compile(project(":compiler:util")) compile(project(":compiler:container")) compile(project(":compiler:resolution")) + compile(project(":compiler:psi")) compile(project(":kotlin-script-runtime")) compile(commonDep("io.javaslang","javaslang")) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } compileOnly(intellijDep()) { includeJars("annotations", "trove4j", "guava", rootProject = rootProject) } - jflexPath(commonDep("org.jetbrains.intellij.deps.jflex", "jflex")) } sourceSets { "main" { projectDefault() } "test" {} } - -ant.importBuild("buildLexer.xml") - -ant.properties["builddir"] = buildDir.absolutePath -ant.properties["flex.classpath"] = jflexPath.asPath diff --git a/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt b/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt index a5e45dc83e2..14370e7b3c0 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/cfg/ControlFlowInformationProvider.kt @@ -469,7 +469,7 @@ class ControlFlowInformationProvider private constructor( report(Errors.CAPTURED_VAL_INITIALIZATION.on(expression, variableDescriptor), ctxt) } } else { - if (KtPsiUtil.isBackingFieldReference(variableDescriptor)) { + if (isBackingFieldReference(variableDescriptor)) { reportValReassigned(expression, variableDescriptor, ctxt) } else { report(Errors.VAL_REASSIGNMENT.on(expression, variableDescriptor), ctxt) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/descriptors/descriptorPsiUtils.kt b/compiler/frontend/src/org/jetbrains/kotlin/descriptors/descriptorPsiUtils.kt index bf2a6f7ff38..ae4b931263a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/descriptors/descriptorPsiUtils.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/descriptors/descriptorPsiUtils.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.descriptors +import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor import org.jetbrains.kotlin.psi.KtPropertyAccessor import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils @@ -23,3 +24,7 @@ fun PropertyAccessorDescriptor.hasBody(): Boolean { val ktAccessor = DescriptorToSourceUtils.getSourceFromDescriptor(this) as? KtPropertyAccessor return ktAccessor != null && ktAccessor.hasBody() } + +fun isBackingFieldReference(descriptor: DeclarationDescriptor?): Boolean { + return descriptor is SyntheticFieldDescriptor +} \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticSink.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticSink.java index 073a1e0b58d..37d6a6fbb14 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticSink.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticSink.java @@ -21,8 +21,6 @@ import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; public interface DiagnosticSink { @@ -44,7 +42,8 @@ public interface DiagnosticSink { PsiFile psiFile = diagnostic.getPsiFile(); List textRanges = diagnostic.getTextRanges(); String diagnosticText = DefaultErrorMessages.render(diagnostic); - throw new IllegalStateException(diagnostic.getFactory().getName() + ": " + diagnosticText + " " + DiagnosticUtils.atLocation(psiFile, textRanges.get(0))); + throw new IllegalStateException(diagnostic.getFactory().getName() + ": " + diagnosticText + " " + PsiDiagnosticUtils + .atLocation(psiFile, textRanges.get(0))); } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java index d15c852e1cb..4a445b2768b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java @@ -21,14 +21,12 @@ import com.intellij.lang.ASTNode; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Document; import com.intellij.openapi.util.TextRange; -import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; -import com.intellij.psi.PsiInvalidElementAccessException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; -import org.jetbrains.kotlin.psi.KtExpression; +import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt; import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils; import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics; @@ -55,105 +53,35 @@ public class DiagnosticUtils { element = DescriptorToSourceUtils.descriptorToDeclaration(descriptor.getOriginal()); } if (element == null && descriptor instanceof ASTNode) { - element = getClosestPsiElement((ASTNode) descriptor); + element = PsiUtilsKt.closestPsiElement((ASTNode) descriptor); } if (element != null) { - return atLocation(element); + return PsiDiagnosticUtils.atLocation(element); } else { return "unknown location"; } } - - public static String atLocation(KtExpression expression) { - return atLocation(expression.getNode()); - } - - public static String atLocation(@NotNull PsiElement element) { - if (element.isValid()) { - return atLocation(element.getContainingFile(), element.getTextRange()); - } - - PsiFile file = null; - int offset = -1; - try { - file = element.getContainingFile(); - offset = element.getTextOffset(); - } - catch (PsiInvalidElementAccessException invalidException) { - // ignore - } - - return "at offset: " + (offset != -1 ? offset : "") + " file: " + (file != null ? file : ""); - } - - public static String atLocation(@NotNull ASTNode node) { - int startOffset = node.getStartOffset(); - PsiElement element = getClosestPsiElement(node); - if (element != null) { - return atLocation(element); - } - - return "at offset " + startOffset + " (line and file unknown: no PSI element)"; - } - - @Nullable - public static PsiElement getClosestPsiElement(@NotNull ASTNode node) { - while (node.getPsi() == null) { - node = node.getTreeParent(); - } - return node.getPsi(); - } @NotNull public static PsiFile getContainingFile(@NotNull ASTNode node) { - PsiElement closestPsiElement = getClosestPsiElement(node); + PsiElement closestPsiElement = PsiUtilsKt.closestPsiElement(node); assert closestPsiElement != null : "This node is not contained by a file"; return closestPsiElement.getContainingFile(); } @NotNull - public static String atLocation(@NotNull PsiFile file, @NotNull TextRange textRange) { - Document document = file.getViewProvider().getDocument(); - return atLocation(file, textRange, document); - } - - @NotNull - public static String atLocation(PsiFile file, TextRange textRange, Document document) { - int offset = textRange.getStartOffset(); - VirtualFile virtualFile = file.getVirtualFile(); - String pathSuffix = " in " + (virtualFile == null ? file.getName() : virtualFile.getPath()); - return offsetToLineAndColumn(document, offset).toString() + pathSuffix; - } - - @NotNull - public static LineAndColumn getLineAndColumn(@NotNull Diagnostic diagnostic) { + public static PsiDiagnosticUtils.LineAndColumn getLineAndColumn(@NotNull Diagnostic diagnostic) { PsiFile file = diagnostic.getPsiFile(); List textRanges = diagnostic.getTextRanges(); - if (textRanges.isEmpty()) return LineAndColumn.NONE; + if (textRanges.isEmpty()) return PsiDiagnosticUtils.LineAndColumn.NONE; TextRange firstRange = firstRange(textRanges); return getLineAndColumnInPsiFile(file, firstRange); } @NotNull - public static LineAndColumn getLineAndColumnInPsiFile(PsiFile file, TextRange range) { + public static PsiDiagnosticUtils.LineAndColumn getLineAndColumnInPsiFile(PsiFile file, TextRange range) { Document document = file.getViewProvider().getDocument(); - return offsetToLineAndColumn(document, range.getStartOffset()); - } - - @NotNull - public static LineAndColumn offsetToLineAndColumn(@Nullable Document document, int offset) { - if (document == null) { - return new LineAndColumn(-1, offset, null); - } - - int lineNumber = document.getLineNumber(offset); - int lineStartOffset = document.getLineStartOffset(lineNumber); - int column = offset - lineStartOffset; - - int lineEndOffset = document.getLineEndOffset(lineNumber); - CharSequence lineContent = document.getCharsSequence().subSequence(lineStartOffset, lineEndOffset); - - return new LineAndColumn(lineNumber + 1, column + 1, lineContent.toString()); + return PsiDiagnosticUtils.offsetToLineAndColumn(document, range.getStartOffset()); } public static void throwIfRunningOnServer(Throwable e) { @@ -194,43 +122,6 @@ public class DiagnosticUtils { return result; } - public static final class LineAndColumn { - - public static final LineAndColumn NONE = new LineAndColumn(-1, -1, null); - - private final int line; - private final int column; - private final String lineContent; - - public LineAndColumn(int line, int column, @Nullable String lineContent) { - this.line = line; - this.column = column; - this.lineContent = lineContent; - } - - public int getLine() { - return line; - } - - public int getColumn() { - return column; - } - - @Nullable - public String getLineContent() { - return lineContent; - } - - // NOTE: This method is used for presenting positions to the user - @Override - public String toString() { - if (line < 0) { - return "(offset: " + column + " line unknown)"; - } - return "(" + line + "," + column + ")"; - } - } - public static boolean hasError(Diagnostics diagnostics) { for (Diagnostic diagnostic : diagnostics.all()) { if (diagnostic.getSeverity() == Severity.ERROR) return true; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ReservedChecking.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ReservedChecking.kt new file mode 100644 index 00000000000..736bf3315a4 --- /dev/null +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ReservedChecking.kt @@ -0,0 +1,38 @@ +/* + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.psi.psiUtil + +import com.intellij.psi.PsiElement +import org.jetbrains.kotlin.diagnostics.DiagnosticSink +import org.jetbrains.kotlin.diagnostics.Errors +import org.jetbrains.kotlin.lexer.KtTokens +import org.jetbrains.kotlin.psi.KtPsiUtil +import org.jetbrains.kotlin.psi.KtSimpleNameExpression + +fun checkReservedPrefixWord(sink: DiagnosticSink, element: PsiElement, word: String, message: String) { + KtPsiUtil.getPreviousWord(element, word)?.let { + sink.report(Errors.UNSUPPORTED.on(it, message)) + } +} + +fun checkReservedYield(expression: KtSimpleNameExpression?, sink: DiagnosticSink) { + // do not force identifier calculation for elements from stubs. + if (expression?.getReferencedName() != "yield") return + + val identifier = expression.getIdentifier() ?: return + + if (identifier.node.elementType == KtTokens.IDENTIFIER && "yield" == identifier.text) { + sink.report(Errors.YIELD_IS_RESERVED.on(identifier, "Identifier 'yield' is reserved. Use backticks to call it: `yield`")) + } +} + +val MESSAGE_FOR_YIELD_BEFORE_LAMBDA = "Reserved yield block/lambda. Use 'yield() { ... }' or 'yield(fun...)'" + +fun checkReservedYieldBeforeLambda(element: PsiElement, sink: DiagnosticSink) { + KtPsiUtil.getPreviousWord(element, "yield")?.let { + sink.report(Errors.YIELD_IS_RESERVED.on(it, MESSAGE_FOR_YIELD_BEFORE_LAMBDA)) + } +} \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnalyzingUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnalyzingUtils.java index 1d5a9a9c814..949d0894fc7 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnalyzingUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/AnalyzingUtils.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.diagnostics.Diagnostic; import org.jetbrains.kotlin.diagnostics.DiagnosticSink; -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils; +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils; import org.jetbrains.kotlin.psi.KtElement; import org.jetbrains.kotlin.psi.KtTreeVisitorVoid; import org.jetbrains.kotlin.psi.debugText.DebugTextUtilKt; @@ -45,7 +45,7 @@ public class AnalyzingUtils { public void visitErrorElement(@NotNull PsiErrorElement element) { throw new IllegalArgumentException(element.getErrorDescription() + "; looking at " + element.getNode().getElementType() + " '" + - element.getText() + DiagnosticUtils.atLocation(element)); + element.getText() + PsiDiagnosticUtils.atLocation(element)); } }); } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt index 53d2a5e1f70..e29241fe194 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt @@ -34,8 +34,8 @@ import org.jetbrains.kotlin.descriptors.impl.ClassConstructorDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.FunctionExpressionDescriptor import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils import org.jetbrains.kotlin.diagnostics.Errors.* +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* @@ -142,7 +142,9 @@ class FunctionDescriptorResolver( ) { if (functionDescriptor.returnType != null) return assert(function.typeReference == null) { - "Return type must be initialized early for function: " + function.text + ", at: " + DiagnosticUtils.atLocation(function) + "Return type must be initialized early for function: " + function.text + ", at: " + PsiDiagnosticUtils.atLocation( + function + ) } val inferredReturnType = when { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt index 8a6a55b24d1..bf033e0c340 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt @@ -5,11 +5,14 @@ package org.jetbrains.kotlin.resolve +import com.intellij.openapi.util.Key import org.jetbrains.kotlin.container.StorageComponentContainer import org.jetbrains.kotlin.container.composeContainer import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap +import org.jetbrains.kotlin.psi.KtFile +import org.jetbrains.kotlin.psi.UserDataProperty import org.jetbrains.kotlin.resolve.calls.checkers.* import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator import org.jetbrains.kotlin.resolve.checkers.* @@ -143,3 +146,6 @@ abstract class PlatformConfigurator( fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit) = composeContainer(id, platform.platformConfigurator.platformSpecificContainer, init) + + +var KtFile.targetPlatform: TargetPlatform? by UserDataProperty(Key.create("TARGET_PLATFORM")) \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ValueArgumentsToParametersMapper.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ValueArgumentsToParametersMapper.java index ca31cb95228..827aee18ee8 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ValueArgumentsToParametersMapper.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/ValueArgumentsToParametersMapper.java @@ -28,6 +28,7 @@ import org.jetbrains.kotlin.diagnostics.Diagnostic; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; +import org.jetbrains.kotlin.psi.psiUtil.ReservedCheckingKt; import org.jetbrains.kotlin.resolve.OverrideResolver; import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt; import org.jetbrains.kotlin.resolve.calls.components.ArgumentsUtilsKt; @@ -181,7 +182,7 @@ public class ValueArgumentsToParametersMapper { ValueParameterDescriptor valueParameterDescriptor = parameterByName.get(argumentName.getAsName()); KtSimpleNameExpression nameReference = argumentName.getReferenceExpression(); - KtPsiUtilKt.checkReservedYield(nameReference, candidateCall.getTrace()); + ReservedCheckingKt.checkReservedYield(nameReference, candidateCall.getTrace()); if (nameReference != null) { if (candidate instanceof MemberDescriptor && ((MemberDescriptor) candidate).isExpect() && candidate.getContainingDeclaration() instanceof ClassDescriptor) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java index a9805565701..98d1b597612 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSessionUtils.java @@ -16,6 +16,8 @@ package org.jetbrains.kotlin.resolve.lazy; +import kotlin.Deprecated; +import kotlin.ReplaceWith; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.descriptors.ClassDescriptor; @@ -26,9 +28,8 @@ import org.jetbrains.kotlin.incremental.components.NoLookupLocation; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.FqNamesUtilKt; import org.jetbrains.kotlin.name.Name; -import org.jetbrains.kotlin.name.SpecialNames; import org.jetbrains.kotlin.psi.KtNamedDeclaration; -import org.jetbrains.kotlin.psi.KtNamedDeclarationUtil; +import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import org.jetbrains.kotlin.resolve.scopes.MemberScope; import java.util.ArrayList; @@ -91,21 +92,4 @@ public class ResolveSessionUtils { return (ClassDescriptor) classifier; } - - @NotNull - public static Name safeNameForLazyResolve(@NotNull KtNamedDeclaration declaration) { - return safeNameForLazyResolve(declaration.getNameAsName()); - } - - @NotNull - public static Name safeNameForLazyResolve(@Nullable Name name) { - return SpecialNames.safeIdentifier(name); - } - - @Nullable - public static FqName safeFqNameForLazyResolve(@NotNull KtNamedDeclaration declaration) { - //NOTE: should only create special names for package level declarations, so we can safely rely on real fq name for parent - FqName parentFqName = KtNamedDeclarationUtil.getParentFqName(declaration); - return parentFqName != null ? parentFqName.child(safeNameForLazyResolve(declaration)) : null; - } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/AbstractPsiBasedDeclarationProvider.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/AbstractPsiBasedDeclarationProvider.kt index 5296c84d963..c8ea0877d17 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/AbstractPsiBasedDeclarationProvider.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/declarations/AbstractPsiBasedDeclarationProvider.kt @@ -20,7 +20,7 @@ import com.google.common.collect.ArrayListMultimap import com.google.common.collect.Sets import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils.safeNameForLazyResolve +import org.jetbrains.kotlin.psi.psiUtil.safeNameForLazyResolve import org.jetbrains.kotlin.resolve.lazy.data.KtClassInfoUtil import org.jetbrains.kotlin.resolve.lazy.data.KtClassLikeInfo import org.jetbrains.kotlin.resolve.lazy.data.KtScriptInfo @@ -46,20 +46,20 @@ abstract class AbstractPsiBasedDeclarationProvider(storageManager: StorageManage allDeclarations.add(declaration) when (declaration) { is KtNamedFunction -> - functions.put(safeNameForLazyResolve(declaration), declaration) + functions.put(declaration.safeNameForLazyResolve(), declaration) is KtProperty -> - properties.put(safeNameForLazyResolve(declaration), declaration) + properties.put(declaration.safeNameForLazyResolve(), declaration) is KtTypeAlias -> - typeAliases.put(safeNameForLazyResolve(declaration.nameAsName), declaration) + typeAliases.put(declaration.nameAsName.safeNameForLazyResolve(), declaration) is KtClassOrObject -> - classesAndObjects.put(safeNameForLazyResolve(declaration.nameAsName), KtClassInfoUtil.createClassLikeInfo(declaration)) + classesAndObjects.put(declaration.nameAsName.safeNameForLazyResolve(), KtClassInfoUtil.createClassLikeInfo(declaration)) is KtScript -> { val scriptInfo = KtScriptInfo(declaration) classesAndObjects.put(scriptInfo.script.nameAsName, scriptInfo) } is KtDestructuringDeclaration -> { for (entry in declaration.entries) { - val name = safeNameForLazyResolve(entry.nameAsName) + val name = entry.nameAsName.safeNameForLazyResolve() destructuringDeclarationsEntries.put(name, entry) names.add(name) } @@ -71,7 +71,7 @@ abstract class AbstractPsiBasedDeclarationProvider(storageManager: StorageManage } when (declaration) { - is KtNamedDeclaration -> names.add(safeNameForLazyResolve(declaration)) + is KtNamedDeclaration -> names.add(declaration.safeNameForLazyResolve()) } } @@ -93,15 +93,15 @@ abstract class AbstractPsiBasedDeclarationProvider(storageManager: StorageManage override fun getDeclarations(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean): List = index().allDeclarations - override fun getFunctionDeclarations(name: Name): List = index().functions[safeNameForLazyResolve(name)].toList() + override fun getFunctionDeclarations(name: Name): List = index().functions[name.safeNameForLazyResolve()].toList() - override fun getPropertyDeclarations(name: Name): List = index().properties[safeNameForLazyResolve(name)].toList() + override fun getPropertyDeclarations(name: Name): List = index().properties[name.safeNameForLazyResolve()].toList() override fun getDestructuringDeclarationsEntries(name: Name): Collection = - index().destructuringDeclarationsEntries[safeNameForLazyResolve(name)].toList() + index().destructuringDeclarationsEntries[name.safeNameForLazyResolve()].toList() override fun getClassOrObjectDeclarations(name: Name): Collection = - index().classesAndObjects[safeNameForLazyResolve(name)] + index().classesAndObjects[name.safeNameForLazyResolve()] - override fun getTypeAliasDeclarations(name: Name): Collection = index().typeAliases[safeNameForLazyResolve(name)] + override fun getTypeAliasDeclarations(name: Name): Collection = index().typeAliases[name.safeNameForLazyResolve()] } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java index 2656993543f..2b4b4c7286c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/BasicExpressionTypingVisitor.java @@ -41,6 +41,7 @@ import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt; +import org.jetbrains.kotlin.psi.psiUtil.ReservedCheckingKt; import org.jetbrains.kotlin.resolve.*; import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt; import org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver; @@ -159,7 +160,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { @Override public KotlinTypeInfo visitSimpleNameExpression(@NotNull KtSimpleNameExpression expression, ExpressionTypingContext context) { - KtPsiUtilKt.checkReservedYield(expression, context.trace); + ReservedCheckingKt.checkReservedYield(expression, context.trace); // TODO : other members // TODO : type substitutions??? @@ -882,7 +883,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor { boolean isStatement ) { KtSimpleNameExpression labelExpression = expression.getTargetLabel(); - KtPsiUtilKt.checkReservedYield(labelExpression, context.trace); + ReservedCheckingKt.checkReservedYield(labelExpression, context.trace); if (labelExpression != null) { PsiElement labelIdentifier = labelExpression.getIdentifier(); UnderscoreChecker.INSTANCE.checkIdentifier(labelIdentifier, context.trace, components.languageVersionSettings); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingVisitorDispatcher.java b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingVisitorDispatcher.java index 719a106230f..78f3edee72e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingVisitorDispatcher.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/ExpressionTypingVisitorDispatcher.java @@ -9,8 +9,8 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProcessCanceledException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils; import org.jetbrains.kotlin.diagnostics.Errors; +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils; import org.jetbrains.kotlin.incremental.components.LookupTracker; import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.codeFragmentUtil.CodeFragmentUtilKt; @@ -230,7 +230,7 @@ public abstract class ExpressionTypingVisitorDispatcher extends KtVisitor") + " file: " + (file != null ? file : ""); + } + + public static String atLocation(KtExpression expression) { + return atLocation(expression.getNode()); + } + + public static String atLocation(@NotNull ASTNode node) { + int startOffset = node.getStartOffset(); + PsiElement element = PsiUtilsKt.closestPsiElement(node); + if (element != null) { + return atLocation(element); + } + + return "at offset " + startOffset + " (line and file unknown: no PSI element)"; + } + + @NotNull + public static String atLocation(@NotNull PsiFile file, @NotNull TextRange textRange) { + Document document = file.getViewProvider().getDocument(); + return atLocation(file, textRange, document); + } + + @NotNull + public static String atLocation(PsiFile file, TextRange textRange, Document document) { + int offset = textRange.getStartOffset(); + VirtualFile virtualFile = file.getVirtualFile(); + String pathSuffix = " in " + (virtualFile == null ? file.getName() : virtualFile.getPath()); + return offsetToLineAndColumn(document, offset).toString() + pathSuffix; + } + + @NotNull + public static LineAndColumn offsetToLineAndColumn(@Nullable Document document, int offset) { + if (document == null) { + return new LineAndColumn(-1, offset, null); + } + + int lineNumber = document.getLineNumber(offset); + int lineStartOffset = document.getLineStartOffset(lineNumber); + int column = offset - lineStartOffset; + + int lineEndOffset = document.getLineEndOffset(lineNumber); + CharSequence lineContent = document.getCharsSequence().subSequence(lineStartOffset, lineEndOffset); + + return new LineAndColumn(lineNumber + 1, column + 1, lineContent.toString()); + } + + public static final class LineAndColumn { + + public static final LineAndColumn NONE = new LineAndColumn(-1, -1, null); + + private final int line; + private final int column; + private final String lineContent; + + public LineAndColumn(int line, int column, @Nullable String lineContent) { + this.line = line; + this.column = column; + this.lineContent = lineContent; + } + + public int getLine() { + return line; + } + + public int getColumn() { + return column; + } + + @Nullable + public String getLineContent() { + return lineContent; + } + + // NOTE: This method is used for presenting positions to the user + @Override + public String toString() { + if (line < 0) { + return "(offset: " + column + " line unknown)"; + } + return "(" + line + "," + column + ")"; + } + } +} diff --git a/compiler/frontend/src/org/jetbrains/kotlin/idea/KotlinFileType.java b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinFileType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/idea/KotlinFileType.java rename to compiler/psi/src/org/jetbrains/kotlin/idea/KotlinFileType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/idea/KotlinLanguage.java b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinLanguage.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/idea/KotlinLanguage.java rename to compiler/psi/src/org/jetbrains/kotlin/idea/KotlinLanguage.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java b/compiler/psi/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java rename to compiler/psi/src/org/jetbrains/kotlin/idea/KotlinModuleFileType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex b/compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDoc.flex diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDocLexer.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDocLexer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDocLexer.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDocLexer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDocToken.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDocToken.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDocToken.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDocToken.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDocTokens.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDocTokens.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/KDocTokens.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/KDocTokens.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/lexer/_KDocLexer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocElementType.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocElementTypes.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocElementTypes.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocElementTypes.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocElementTypes.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocKnownTag.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocKnownTag.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocKnownTag.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocKnownTag.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocLinkParser.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocLinkParser.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocLinkParser.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocLinkParser.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocParser.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocParser.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/parser/KDocParser.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/parser/KDocParser.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/api/KDoc.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/api/KDoc.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/api/KDoc.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/api/KDoc.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/api/KDocElement.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/api/KDocElement.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/api/KDocElement.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/api/KDocElement.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocElementImpl.java b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocElementImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocElementImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocElementImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocLink.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocLink.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocLink.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocLink.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocName.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocName.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocName.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocName.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocSection.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocSection.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocSection.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocSection.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocTag.kt b/compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocTag.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocTag.kt rename to compiler/psi/src/org/jetbrains/kotlin/kdoc/psi/impl/KDocTag.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex b/compiler/psi/src/org/jetbrains/kotlin/lexer/Kotlin.flex similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/Kotlin.flex rename to compiler/psi/src/org/jetbrains/kotlin/lexer/Kotlin.flex diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KotlinLexer.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/KotlinLexer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/KotlinLexer.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/KotlinLexer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KotlinLexerException.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/KotlinLexerException.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/KotlinLexerException.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/KotlinLexerException.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtKeywordToken.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/KtKeywordToken.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/KtKeywordToken.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/KtKeywordToken.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtModifierKeywordToken.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/KtModifierKeywordToken.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/KtModifierKeywordToken.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/KtModifierKeywordToken.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtSingleValueToken.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/KtSingleValueToken.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/KtSingleValueToken.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/KtSingleValueToken.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtToken.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/KtToken.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/KtToken.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/KtToken.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/KtTokens.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/KtTokens.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java b/compiler/psi/src/org/jetbrains/kotlin/lexer/_JetLexer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/lexer/_JetLexer.java rename to compiler/psi/src/org/jetbrains/kotlin/lexer/_JetLexer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/AbstractKotlinParsing.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/AbstractKotlinParsing.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/AbstractKotlinParsing.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/AbstractKotlinParsing.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPattern.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPattern.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPattern.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPattern.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPredicate.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPredicate.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPredicate.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/AbstractTokenStreamPredicate.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/Consumer.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/Consumer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/Consumer.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/Consumer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/FirstBefore.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/FirstBefore.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/FirstBefore.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/FirstBefore.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinExpressionParsing.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParser.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParser.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParser.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParser.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParserDefinition.kt b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParserDefinition.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParserDefinition.kt rename to compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParserDefinition.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParsing.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinParsing.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinWhitespaceAndCommentsBinders.kt b/compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinWhitespaceAndCommentsBinders.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinWhitespaceAndCommentsBinders.kt rename to compiler/psi/src/org/jetbrains/kotlin/parsing/KotlinWhitespaceAndCommentsBinders.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/LastBefore.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/LastBefore.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/LastBefore.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/LastBefore.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilder.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderAdapter.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderForByClause.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderForByClause.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderForByClause.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderForByClause.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/SemanticWhitespaceAwarePsiBuilderImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/TokenStreamPattern.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/TokenStreamPattern.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/TokenStreamPattern.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/TokenStreamPattern.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/TokenStreamPredicate.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/TokenStreamPredicate.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/TokenStreamPredicate.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/TokenStreamPredicate.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/TruncatedSemanticWhitespaceAwarePsiBuilder.java b/compiler/psi/src/org/jetbrains/kotlin/parsing/TruncatedSemanticWhitespaceAwarePsiBuilder.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/parsing/TruncatedSemanticWhitespaceAwarePsiBuilder.java rename to compiler/psi/src/org/jetbrains/kotlin/parsing/TruncatedSemanticWhitespaceAwarePsiBuilder.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/Call.java b/compiler/psi/src/org/jetbrains/kotlin/psi/Call.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/Call.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/Call.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/EditCommaSeparatedListHelper.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/EditCommaSeparatedListHelper.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/EditCommaSeparatedListHelper.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/EditCommaSeparatedListHelper.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/FindDocComment.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/FindDocComment.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/FindDocComment.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/FindDocComment.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/IfNotParsed.java b/compiler/psi/src/org/jetbrains/kotlin/psi/IfNotParsed.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/IfNotParsed.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/IfNotParsed.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KotlinDeclarationNavigationPolicy.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KotlinDeclarationNavigationPolicy.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KotlinDeclarationNavigationPolicy.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KotlinDeclarationNavigationPolicy.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KotlinStringLiteralTextEscaper.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KotlinStringLiteralTextEscaper.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KotlinStringLiteralTextEscaper.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KotlinStringLiteralTextEscaper.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotated.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotated.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotated.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotated.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotatedExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotatedExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotatedExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotatedExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotation.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotation.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotation.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotation.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotationEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotationEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotationEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotationEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotationUseSiteTarget.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotationUseSiteTarget.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotationUseSiteTarget.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotationUseSiteTarget.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotationsContainer.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotationsContainer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnnotationsContainer.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtAnnotationsContainer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnonymousInitializer.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtAnonymousInitializer.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtAnonymousInitializer.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtAnonymousInitializer.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtArrayAccessExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtArrayAccessExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtArrayAccessExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtArrayAccessExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtBinaryExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBinaryExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtBinaryExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtBinaryExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtBinaryExpressionWithTypeRHS.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBinaryExpressionWithTypeRHS.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtBinaryExpressionWithTypeRHS.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtBinaryExpressionWithTypeRHS.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockCodeFragment.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockCodeFragment.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockCodeFragment.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockCodeFragment.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockCodeFragmentType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockCodeFragmentType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockCodeFragmentType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockCodeFragmentType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockStringTemplateEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockStringTemplateEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtBlockStringTemplateEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtBlockStringTemplateEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtBreakExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtBreakExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtBreakExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtBreakExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallElement.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtCallElement.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallElement.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtCallElement.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtCallExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtCallExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallableDeclaration.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtCallableDeclaration.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallableDeclaration.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtCallableDeclaration.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallableReferenceExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtCallableReferenceExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtCallableReferenceExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtCallableReferenceExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCatchClause.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtCatchClause.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtCatchClause.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtCatchClause.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClass.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtClass.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtClass.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtClass.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassBody.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtClassBody.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassBody.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtClassBody.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassLiteralExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtClassLiteralExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassLiteralExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtClassLiteralExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtClassOrObject.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCollectionLiteralExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtCollectionLiteralExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtCollectionLiteralExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtCollectionLiteralExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstantExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstantExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstantExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtConstantExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructor.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructor.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructor.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructor.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructorCalleeExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorCalleeExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructorCalleeExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorCalleeExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructorDelegationCall.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationCall.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructorDelegationCall.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationCall.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtConstructorDelegationReferenceExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtContainerNode.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtContainerNode.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtContainerNode.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtContainerNode.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtContainerNodeForControlStructureBody.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtContainerNodeForControlStructureBody.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtContainerNodeForControlStructureBody.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtContainerNodeForControlStructureBody.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtContinueExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtContinueExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtContinueExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtContinueExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclaration.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclaration.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclaration.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclaration.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationContainer.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationContainer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationContainer.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationContainer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationImpl.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationModifierList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationModifierList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationModifierList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationModifierList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationStub.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationWithBody.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationWithBody.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationWithBody.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationWithBody.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationWithInitializer.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationWithInitializer.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDeclarationWithInitializer.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDeclarationWithInitializer.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDelegatedSuperTypeEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDelegatedSuperTypeEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDelegatedSuperTypeEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDelegatedSuperTypeEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDestructuringDeclaration.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDestructuringDeclaration.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDestructuringDeclaration.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDestructuringDeclaration.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDestructuringDeclarationEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDestructuringDeclarationEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDestructuringDeclarationEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDestructuringDeclarationEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDoWhileExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDoWhileExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDoWhileExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDoWhileExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDotQualifiedExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDotQualifiedExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDotQualifiedExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDotQualifiedExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDoubleColonExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDoubleColonExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDoubleColonExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDoubleColonExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtDynamicType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtDynamicType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtDynamicType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtDynamicType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtElement.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtElement.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtElement.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtElement.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtElementImpl.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtElementImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtElementImplStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImplStub.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtElementImplStub.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtElementImplStub.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtEnumEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtEnumEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtEnumEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtEnumEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtEnumEntrySuperclassReferenceExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtEnumEntrySuperclassReferenceExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtEnumEntrySuperclassReferenceExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtEnumEntrySuperclassReferenceExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtEscapeStringTemplateEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtEscapeStringTemplateEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtEscapeStringTemplateEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtEscapeStringTemplateEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragment.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragment.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragment.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragment.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragmentType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragmentType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragmentType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionCodeFragmentType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionImplStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImplStub.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionImplStub.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionImplStub.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtExpressionWithLabel.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFile.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFile.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFile.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFile.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFileAnnotationList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFileAnnotationList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFileAnnotationList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFileAnnotationList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFileClassProvider.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFileClassProvider.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFileClassProvider.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFileClassProvider.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFinallySection.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFinallySection.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFinallySection.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFinallySection.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtForExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtForExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtForExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtForExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunction.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFunction.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunction.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFunction.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionLiteral.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionLiteral.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionLiteral.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionLiteral.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionNotStubbed.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionNotStubbed.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionNotStubbed.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionNotStubbed.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionTypeReceiver.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionTypeReceiver.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtFunctionTypeReceiver.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtFunctionTypeReceiver.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtIfExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtIfExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtIfExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtIfExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportAlias.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtImportAlias.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportAlias.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtImportAlias.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportDirective.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtImportDirective.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportDirective.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtImportDirective.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtImportList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtImportList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportsFactory.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtImportsFactory.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtImportsFactory.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtImportsFactory.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtInitializerList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtInitializerList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtInitializerList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtInitializerList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtInstanceExpressionWithLabel.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtInstanceExpressionWithLabel.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtInstanceExpressionWithLabel.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtInstanceExpressionWithLabel.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtIsExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtIsExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtIsExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtIsExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtLabelReferenceExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtLabelReferenceExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtLabelReferenceExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtLabelReferenceExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtLabeledExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtLabeledExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtLabeledExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtLabeledExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtLambdaArgument.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtLambdaArgument.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtLambdaArgument.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtLambdaArgument.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtLambdaExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtLambdaExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtLambdaExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtLambdaExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtLiteralStringTemplateEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtLiteralStringTemplateEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtLiteralStringTemplateEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtLiteralStringTemplateEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtLoopExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtLoopExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtLoopExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtLoopExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtModifierList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtModifierList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtModifierList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtModifierList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtModifierListOwner.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtModifierListOwner.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtModifierListOwner.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtModifierListOwner.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtModifierListOwnerStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtModifierListOwnerStub.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtModifierListOwnerStub.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtModifierListOwnerStub.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNameReferenceExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNameReferenceExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNameReferenceExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNameReferenceExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamed.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamed.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamed.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNamed.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclaration.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclaration.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclaration.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclaration.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationNotStubbed.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationNotStubbed.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationNotStubbed.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationNotStubbed.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationUtil.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationUtil.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationUtil.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationUtil.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedFunction.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedFunction.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedFunction.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedFunction.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNullableType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNullableType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtNullableType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtNullableType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtObjectDeclaration.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtObjectDeclaration.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtObjectDeclaration.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtObjectDeclaration.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtObjectLiteralExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtObjectLiteralExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtObjectLiteralExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtObjectLiteralExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtOperationExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtOperationExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtOperationExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtOperationExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtOperationReferenceExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtOperationReferenceExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtOperationReferenceExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtOperationReferenceExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPackageDirective.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPackageDirective.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPackageDirective.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPackageDirective.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtParameter.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtParameter.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtParameter.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtParameter.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtParameterList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtParameterList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtParameterList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtParameterList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtParenthesizedExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtParenthesizedExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtParenthesizedExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtParenthesizedExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPostfixExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPostfixExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPostfixExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPostfixExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPrefixExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPrefixExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPrefixExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPrefixExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPrimaryConstructor.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPrimaryConstructor.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPrimaryConstructor.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPrimaryConstructor.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtProjectionKind.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtProjectionKind.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtProjectionKind.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtProjectionKind.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtProperty.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtProperty.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtProperty.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtProperty.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPropertyDelegate.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyDelegate.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPropertyDelegate.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyDelegate.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt similarity index 99% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt index d7ca813be57..443b31ce826 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt @@ -9,18 +9,15 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.util.Key import com.intellij.psi.PsiComment import com.intellij.psi.PsiElement -import com.intellij.psi.PsiFile import com.intellij.psi.PsiFileFactory import com.intellij.psi.util.PsiTreeUtil import com.intellij.util.LocalTimeCounter -import org.jetbrains.kotlin.analyzer.ModuleInfo import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.lexer.KtModifierKeywordToken import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.ImportPath -import org.jetbrains.kotlin.resolve.TargetPlatform @JvmOverloads fun KtPsiFactory(project: Project?, markGenerated: Boolean = true): KtPsiFactory = KtPsiFactory(project!!, markGenerated) @@ -34,7 +31,7 @@ private val DO_NOT_ANALYZE_NOTIFICATION = "This file was created by KtPsiFactory var KtFile.doNotAnalyze: String? by UserDataProperty(Key.create("DO_NOT_ANALYZE")) var KtFile.analysisContext: PsiElement? by UserDataProperty(Key.create("ANALYSIS_CONTEXT")) -var KtFile.targetPlatform: TargetPlatform? by UserDataProperty(Key.create("TARGET_PLATFORM")) + /** * @param markGenerated This needs to be set to true if the `KtPsiFactory` is going to be used for creating elements that are going diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiUtil.java similarity index 99% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiUtil.java index 9ea196488ce..a7b29fd4d0d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiUtil.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPsiUtil.java @@ -31,7 +31,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.KtNodeTypes; import org.jetbrains.kotlin.builtins.KotlinBuiltIns; import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; -import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor; import org.jetbrains.kotlin.kdoc.psi.api.KDocElement; import org.jetbrains.kotlin.lexer.KtToken; import org.jetbrains.kotlin.lexer.KtTokens; @@ -326,10 +325,6 @@ public class KtPsiUtil { return declaration.getBodyExpression() == null; } - public static boolean isBackingFieldReference(@Nullable DeclarationDescriptor descriptor) { - return descriptor instanceof SyntheticFieldDescriptor; - } - @Nullable public static KtExpression getExpressionOrLastStatementInBlock(@Nullable KtExpression expression) { if (expression instanceof KtBlockExpression) { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPureClassOrObject.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPureClassOrObject.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPureClassOrObject.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPureClassOrObject.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPureElement.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPureElement.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtPureElement.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtPureElement.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtQualifiedExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtQualifiedExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtQualifiedExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtQualifiedExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtReferenceExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtReferenceExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtReferenceExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtReferenceExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtReturnExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtReturnExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtReturnExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtReturnExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSafeQualifiedExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSafeQualifiedExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSafeQualifiedExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSafeQualifiedExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtScript.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtScript.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtScript.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtScript.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSecondaryConstructor.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSecondaryConstructor.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSecondaryConstructor.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSecondaryConstructor.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSelfType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSelfType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSelfType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSelfType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSimpleNameExpression.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSimpleNameExpression.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSimpleNameExpression.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSimpleNameExpression.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSimpleNameStringTemplateEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSimpleNameStringTemplateEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSimpleNameStringTemplateEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSimpleNameStringTemplateEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtStatementExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtStatementExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtStatementExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtStatementExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtStringTemplateEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtStringTemplateEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtStringTemplateEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtStringTemplateEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtStringTemplateEntryWithExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtStringTemplateEntryWithExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtStringTemplateEntryWithExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtStringTemplateEntryWithExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtStringTemplateExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtStringTemplateExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtStringTemplateExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtStringTemplateExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtStubbedPsiUtil.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtStubbedPsiUtil.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtStubbedPsiUtil.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtStubbedPsiUtil.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeCallEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeCallEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeCallEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeCallEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeListEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeListEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtSuperTypeListEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtSuperTypeListEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtThisExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtThisExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtThisExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtThisExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtThrowExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtThrowExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtThrowExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtThrowExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTreeVisitor.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTreeVisitor.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTreeVisitor.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTreeVisitor.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTreeVisitorVoid.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTreeVisitorVoid.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTreeVisitorVoid.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTreeVisitorVoid.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTryExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTryExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTryExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTryExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeAlias.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeAlias.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeAlias.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeAlias.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeArgumentList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeArgumentList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeArgumentList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeArgumentList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeCodeFragment.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeCodeFragment.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeCodeFragment.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeCodeFragment.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeCodeFragmentType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeCodeFragmentType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeCodeFragmentType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeCodeFragmentType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeConstraint.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeConstraint.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeConstraint.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeConstraint.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeConstraintList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeConstraintList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeConstraintList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeConstraintList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeElement.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeElement.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeElement.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeElement.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameter.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameter.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameter.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameter.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwner.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwner.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwner.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwner.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerNotStubbed.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerNotStubbed.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerNotStubbed.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerNotStubbed.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerStub.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerStub.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeParameterListOwnerStub.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeProjection.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeProjection.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeProjection.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeProjection.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeReference.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeReference.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeReference.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtTypeReference.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtUnaryExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtUnaryExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtUnaryExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtUnaryExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtUserType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtUserType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtUserType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtUserType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtValVarKeywordOwner.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtValVarKeywordOwner.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtValVarKeywordOwner.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtValVarKeywordOwner.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtValueArgument.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtValueArgument.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtValueArgument.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtValueArgument.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtValueArgumentList.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtValueArgumentList.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtValueArgumentList.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtValueArgumentList.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtValueArgumentName.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtValueArgumentName.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtValueArgumentName.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtValueArgumentName.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtVariableDeclaration.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtVariableDeclaration.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtVariableDeclaration.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtVariableDeclaration.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtVisitor.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtVisitor.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtVisitor.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtVisitor.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtVisitorVoid.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtVisitorVoid.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtVisitorVoid.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtVisitorVoid.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtVisitorVoidWithParameter.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtVisitorVoidWithParameter.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtVisitorVoidWithParameter.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtVisitorVoidWithParameter.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenCondition.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenCondition.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenCondition.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenCondition.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenConditionInRange.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenConditionInRange.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenConditionInRange.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenConditionInRange.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenConditionIsPattern.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenConditionIsPattern.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenConditionIsPattern.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenConditionIsPattern.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenConditionWithExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenConditionWithExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenConditionWithExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenConditionWithExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenEntry.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenEntry.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenEntry.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenEntry.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhenExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhenExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhileExpression.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhileExpression.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhileExpression.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhileExpression.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhileExpressionBase.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtWhileExpressionBase.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/KtWhileExpressionBase.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/KtWhileExpressionBase.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/TypeRefHelpers.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/TypeRefHelpers.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/TypeRefHelpers.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/TypeRefHelpers.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/ValueArgument.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/ValueArgument.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/ValueArgument.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/ValueArgument.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/VisitorWrappers.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/VisitorWrappers.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/VisitorWrappers.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/VisitorWrappers.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/createByPattern.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/createByPattern.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/ktElementUtils.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/ktElementUtils.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/ktElementUtils.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/ktElementUtils.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/PsiChildRange.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/PsiChildRange.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/PsiChildRange.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/PsiChildRange.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt similarity index 93% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt index be43aa4768f..6a1b3f005aa 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt @@ -23,18 +23,15 @@ import com.intellij.psi.* import com.intellij.psi.stubs.StubElement import com.intellij.psi.tree.TokenSet import org.jetbrains.kotlin.KtNodeTypes -import org.jetbrains.kotlin.diagnostics.DiagnosticSink -import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.lexer.KotlinLexer import org.jetbrains.kotlin.lexer.KtModifierKeywordToken import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.lexer.KtTokens.MODALITY_MODIFIERS +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.stubs.KotlinClassOrObjectStub -import org.jetbrains.kotlin.resolve.BindingContext -import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall -import org.jetbrains.kotlin.resolve.calls.model.ArgumentMatch import org.jetbrains.kotlin.types.expressions.OperatorConventions import java.util.* @@ -404,12 +401,6 @@ fun KtNamedDeclaration.getValueParameterList(): KtParameterList? { } } -fun KtLambdaArgument.getLambdaArgumentName(bindingContext: BindingContext): Name? { - val callExpression = parent as KtCallExpression - val resolvedCall = callExpression.getResolvedCall(bindingContext) - return (resolvedCall?.getArgumentMapping(this) as? ArgumentMatch)?.valueParameter?.name -} - fun KtExpression.asAssignment(): KtBinaryExpression? = if (KtPsiUtil.isAssignment(this)) this as KtBinaryExpression else null @@ -478,31 +469,6 @@ fun canPlaceAfterSimpleNameEntry(element: PsiElement?): Boolean { return !BAD_NEIGHBOUR_FOR_SIMPLE_TEMPLATE_ENTRY_PATTERN.matches(entryText) } -fun checkReservedPrefixWord(sink: DiagnosticSink, element: PsiElement, word: String, message: String) { - KtPsiUtil.getPreviousWord(element, word)?.let { - sink.report(Errors.UNSUPPORTED.on(it, message)) - } -} - -fun checkReservedYield(expression: KtSimpleNameExpression?, sink: DiagnosticSink) { - // do not force identifier calculation for elements from stubs. - if (expression?.getReferencedName() != "yield") return - - val identifier = expression.getIdentifier() ?: return - - if (identifier.node.elementType == KtTokens.IDENTIFIER && "yield" == identifier.text) { - sink.report(Errors.YIELD_IS_RESERVED.on(identifier, "Identifier 'yield' is reserved. Use backticks to call it: `yield`")) - } -} - -val MESSAGE_FOR_YIELD_BEFORE_LAMBDA = "Reserved yield block/lambda. Use 'yield() { ... }' or 'yield(fun...)'" - -fun checkReservedYieldBeforeLambda(element: PsiElement, sink: DiagnosticSink) { - KtPsiUtil.getPreviousWord(element, "yield")?.let { - sink.report(Errors.YIELD_IS_RESERVED.on(it, MESSAGE_FOR_YIELD_BEFORE_LAMBDA)) - } -} - fun KtElement.nonStaticOuterClasses(): Sequence { return generateSequence(containingClass()) { if (it.isInner()) it.containingClass() else null } } @@ -598,4 +564,18 @@ fun PsiElement.isTopLevelKtOrJavaMember(): Boolean { is PsiClass -> containingClass == null && this.qualifiedName != null else -> false } +} + +fun KtNamedDeclaration.safeNameForLazyResolve(): Name { + return nameAsName.safeNameForLazyResolve() +} + +fun Name?.safeNameForLazyResolve(): Name { + return SpecialNames.safeIdentifier(this) +} + +fun KtNamedDeclaration.safeFqNameForLazyResolve(): FqName? { + //NOTE: should only create special names for package level declarations, so we can safely rely on real fq name for parent + val parentFqName = KtNamedDeclarationUtil.getParentFqName(this) + return parentFqName?.child(safeNameForLazyResolve()) } \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt similarity index 98% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt index 1f891d17b42..690dce6399c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/psiUtils.kt @@ -24,7 +24,7 @@ import com.intellij.psi.impl.source.tree.TreeUtil import com.intellij.psi.search.PsiSearchScopeUtil import com.intellij.psi.search.SearchScope import com.intellij.psi.util.PsiTreeUtil -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFileAnnotationList @@ -364,7 +364,7 @@ fun PsiElement.getElementTextWithContext(): String { .toString() } -fun PsiElement.getTextWithLocation(): String = "'${this.text}' at ${DiagnosticUtils.atLocation(this)}" +fun PsiElement.getTextWithLocation(): String = "'${this.text}' at ${PsiDiagnosticUtils.atLocation(this)}" fun replaceFileAnnotationList(file: KtFile, annotationList: KtFileAnnotationList): KtFileAnnotationList { if (file.fileAnnotationList != null) { @@ -424,3 +424,11 @@ fun ASTNode.leaves(forward: Boolean = true): Sequence { return generateSequence(TreeUtil.prevLeaf(this)) { TreeUtil.prevLeaf(it) } } } + +fun ASTNode.closestPsiElement(): PsiElement? { + var node = this + while (node.psi == null) { + node = node.treeParent + } + return node.psi +} \ No newline at end of file diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/StubInterfaces.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/StubInterfaces.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/StubInterfaces.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/StubInterfaces.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationEntryElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationEntryElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationEntryElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationEntryElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationUseSiteTargetElementType.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationUseSiteTargetElementType.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationUseSiteTargetElementType.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtAnnotationUseSiteTargetElementType.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtClassElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtClassElementType.java similarity index 97% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtClassElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtClassElementType.java index 4b76beeffbf..1e2dd476dce 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtClassElementType.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtClassElementType.java @@ -31,7 +31,6 @@ import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import org.jetbrains.kotlin.psi.stubs.KotlinClassStub; import org.jetbrains.kotlin.psi.stubs.impl.KotlinClassStubImpl; import org.jetbrains.kotlin.psi.stubs.impl.Utils; -import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils; import java.io.IOException; import java.util.List; @@ -55,7 +54,7 @@ public class KtClassElementType extends KtStubElementType superNames = KtPsiUtilKt.getSuperNames(psi); return new KotlinClassStubImpl( diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtDotQualifiedExpressionElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtDotQualifiedExpressionElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtDotQualifiedExpressionElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtDotQualifiedExpressionElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtEnumEntrySuperClassReferenceExpressionElementType.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtEnumEntrySuperClassReferenceExpressionElementType.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtEnumEntrySuperClassReferenceExpressionElementType.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtEnumEntrySuperClassReferenceExpressionElementType.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileStubBuilder.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileStubBuilder.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileStubBuilder.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtFileStubBuilder.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtFunctionElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtFunctionElementType.java similarity index 96% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtFunctionElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtFunctionElementType.java index dddfd9603ec..9c27482b7d9 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtFunctionElementType.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtFunctionElementType.java @@ -26,9 +26,9 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtFile; import org.jetbrains.kotlin.psi.KtNamedFunction; +import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import org.jetbrains.kotlin.psi.stubs.KotlinFunctionStub; import org.jetbrains.kotlin.psi.stubs.impl.KotlinFunctionStubImpl; -import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils; import java.io.IOException; @@ -42,7 +42,7 @@ public class KtFunctionElementType extends KtStubElementType superNames = KtPsiUtilKt.getSuperNames(psi); return new KotlinObjectStubImpl(parentStub, StringRef.fromString(name), fqName, Utils.INSTANCE.wrapStrings(superNames), psi.isTopLevel(), psi.isCompanion(), psi.isLocal(), psi.isObjectLiteral()); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtParameterElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtParameterElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtParameterElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtParameterElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtPlaceHolderStubElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtPlaceHolderStubElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtPlaceHolderStubElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtPlaceHolderStubElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyAccessorElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyAccessorElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyAccessorElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyAccessorElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyElementType.java similarity index 96% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyElementType.java index fbad39d44a2..20effe9790b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyElementType.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtPropertyElementType.java @@ -25,9 +25,9 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtProperty; +import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import org.jetbrains.kotlin.psi.stubs.KotlinPropertyStub; import org.jetbrains.kotlin.psi.stubs.impl.KotlinPropertyStubImpl; -import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils; import java.io.IOException; @@ -47,7 +47,7 @@ public class KtPropertyElementType extends KtStubElementType(debugName, KtTypeAlias::class.java, KotlinTypeAliasStub::class.java) { override fun createStub(psi: KtTypeAlias, parentStub: StubElement<*>?): KotlinTypeAliasStub { val name = StringRef.fromString(psi.name) - val fqName = StringRef.fromString(ResolveSessionUtils.safeFqNameForLazyResolve(psi)?.asString()) + val fqName = StringRef.fromString(psi.safeFqNameForLazyResolve()?.asString()) val isTopLevel = psi.isTopLevel() return KotlinTypeAliasStubImpl(parentStub, name, fqName, isTopLevel) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeParameterElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeParameterElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeParameterElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeParameterElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeProjectionElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeProjectionElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeProjectionElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtTypeProjectionElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtUserTypeElementType.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtUserTypeElementType.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/KtUserTypeElementType.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/KtUserTypeElementType.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/elements/StubIndexService.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationEntryStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationEntryStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationEntryStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationEntryStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationUseSiteStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationUseSiteStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationUseSiteStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinAnnotationUseSiteStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinClassStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinClassStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinClassStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinClassStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinEnumEntrySuperclassReferenceExpressionStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinEnumEntrySuperclassReferenceExpressionStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinEnumEntrySuperclassReferenceExpressionStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinEnumEntrySuperclassReferenceExpressionStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFileStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFileStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFileStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFileStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinFunctionStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportAliasStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportAliasStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportAliasStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportAliasStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportDirectiveStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportDirectiveStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportDirectiveStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinImportDirectiveStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinModifierListStubImpl.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinModifierListStubImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinModifierListStubImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinModifierListStubImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinNameReferenceExpressionStubImpl.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinNameReferenceExpressionStubImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinNameReferenceExpressionStubImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinNameReferenceExpressionStubImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinObjectStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinObjectStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinObjectStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinObjectStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinParameterStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinParameterStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinParameterStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinParameterStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPlaceHolderStubImpl.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPlaceHolderStubImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPlaceHolderStubImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPlaceHolderStubImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyAccessorStubImpl.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyAccessorStubImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyAccessorStubImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyAccessorStubImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinPropertyStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinScriptStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinScriptStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinScriptStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinScriptStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeAliasStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeAliasStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeAliasStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeAliasStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeParameterStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeParameterStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeParameterStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeParameterStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeProjectionStubImpl.java b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeProjectionStubImpl.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeProjectionStubImpl.java rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinTypeProjectionStubImpl.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinUserTypeStubImpl.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinUserTypeStubImpl.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinUserTypeStubImpl.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinUserTypeStubImpl.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/ModifierMaskUtils.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/ModifierMaskUtils.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/ModifierMaskUtils.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/ModifierMaskUtils.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/Utils.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/Utils.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/Utils.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/stubs/impl/Utils.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/userDataUtil.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/userDataUtil.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/psi/userDataUtil.kt rename to compiler/psi/src/org/jetbrains/kotlin/psi/userDataUtil.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ImportPath.kt b/compiler/psi/src/org/jetbrains/kotlin/resolve/ImportPath.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/resolve/ImportPath.kt rename to compiler/psi/src/org/jetbrains/kotlin/resolve/ImportPath.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/StatementFilter.kt b/compiler/psi/src/org/jetbrains/kotlin/resolve/StatementFilter.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/resolve/StatementFilter.kt rename to compiler/psi/src/org/jetbrains/kotlin/resolve/StatementFilter.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt b/compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt rename to compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinition.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt b/compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt rename to compiler/psi/src/org/jetbrains/kotlin/script/KotlinScriptDefinitionProvider.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/ScriptDependenciesProvider.kt b/compiler/psi/src/org/jetbrains/kotlin/script/ScriptDependenciesProvider.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/script/ScriptDependenciesProvider.kt rename to compiler/psi/src/org/jetbrains/kotlin/script/ScriptDependenciesProvider.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/ScriptHelper.kt b/compiler/psi/src/org/jetbrains/kotlin/script/ScriptHelper.kt similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/script/ScriptHelper.kt rename to compiler/psi/src/org/jetbrains/kotlin/script/ScriptHelper.kt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/ScriptPriorities.java b/compiler/psi/src/org/jetbrains/kotlin/script/ScriptPriorities.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/script/ScriptPriorities.java rename to compiler/psi/src/org/jetbrains/kotlin/script/ScriptPriorities.java diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/OperatorConventions.java b/compiler/psi/src/org/jetbrains/kotlin/types/expressions/OperatorConventions.java similarity index 100% rename from compiler/frontend/src/org/jetbrains/kotlin/types/expressions/OperatorConventions.java rename to compiler/psi/src/org/jetbrains/kotlin/types/expressions/OperatorConventions.java diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt index 88f07fdf07e..9c6e3f9df16 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt @@ -246,7 +246,10 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava T getAncestorOfType(Class type, PsiElement element) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java index 72a15946f5e..92685b0749b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.psi.KtCodeFragment; import org.jetbrains.kotlin.psi.KtFile; import org.jetbrains.kotlin.psi.KtPsiFactoryKt; import org.jetbrains.kotlin.resolve.TargetPlatform; +import org.jetbrains.kotlin.resolve.TargetPlatformKt; import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform; public class TargetPlatformDetector { @@ -38,7 +39,7 @@ public class TargetPlatformDetector { @NotNull public static TargetPlatform getPlatform(@NotNull KtFile file) { - TargetPlatform explicitPlatform = KtPsiFactoryKt.getTargetPlatform(file); + TargetPlatform explicitPlatform = TargetPlatformKt.getTargetPlatform(file); if (explicitPlatform != null) return explicitPlatform; if (file instanceof KtCodeFragment) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt index 1d99cb733a4..9cc0ef13f0d 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.toLightClass import org.jetbrains.kotlin.caches.resolve.KotlinCacheService import org.jetbrains.kotlin.descriptors.CallableDescriptor -import org.jetbrains.kotlin.diagnostics.DiagnosticUtils +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.idea.caches.resolve.analyze @@ -250,7 +250,7 @@ class ExpressionsOfTypeProcessor( private fun getFallbackDiagnosticsMessage(reference: PsiReference): String { val element = reference.element val document = PsiDocumentManager.getInstance(project).getDocument(element.containingFile) - val lineAndCol = DiagnosticUtils.offsetToLineAndColumn(document, element.startOffset) + val lineAndCol = PsiDiagnosticUtils.offsetToLineAndColumn(document, element.startOffset) return "Unsupported reference: '${element.text}' in ${element.containingFile.name} line ${lineAndCol.line} column ${lineAndCol.column}" } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt index 5c9b4d83d1a..6e6107145d0 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/stubindex/resolve/StubBasedPackageMemberDeclarationProvider.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.idea.vfilefinder.KotlinPackageSourcesMemberNamesInde import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.psiUtil.safeNameForLazyResolve import org.jetbrains.kotlin.resolve.lazy.ResolveSessionUtils import org.jetbrains.kotlin.resolve.lazy.data.KtClassInfoUtil import org.jetbrains.kotlin.resolve.lazy.data.KtClassLikeInfo @@ -67,7 +68,7 @@ class StubBasedPackageMemberDeclarationProvider( FileBasedIndex.getInstance() .getValues(KotlinPackageSourcesMemberNamesIndex.KEY, fqName.asString(), searchScope) .flatMapTo(hashSetOf()) { - it.map { stringName -> ResolveSessionUtils.safeNameForLazyResolve(Name.identifier(stringName)) } + it.map { stringName -> Name.identifier(stringName).safeNameForLazyResolve() } } } @@ -118,6 +119,6 @@ class StubBasedPackageMemberDeclarationProvider( } private fun childName(name: Name): String { - return fqName.child(ResolveSessionUtils.safeNameForLazyResolve(name)).asString() + return fqName.child(name.safeNameForLazyResolve()).asString() } } diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt index a8a503dad32..c362800a948 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt @@ -37,7 +37,9 @@ import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.psi.typeRefHelpers.setReceiverTypeReference import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.OverridingUtil +import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall import org.jetbrains.kotlin.resolve.calls.callUtil.getValueArgumentsInParentheses +import org.jetbrains.kotlin.resolve.calls.model.ArgumentMatch import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.isError @@ -68,6 +70,13 @@ fun KtLambdaArgument.moveInsideParenthesesAndReplaceWith( bindingContext: BindingContext ): KtCallExpression = moveInsideParenthesesAndReplaceWith(replacement, getLambdaArgumentName(bindingContext)) + +fun KtLambdaArgument.getLambdaArgumentName(bindingContext: BindingContext): Name? { + val callExpression = parent as KtCallExpression + val resolvedCall = callExpression.getResolvedCall(bindingContext) + return (resolvedCall?.getArgumentMapping(this) as? ArgumentMatch)?.valueParameter?.name +} + fun KtLambdaArgument.moveInsideParenthesesAndReplaceWith( replacement: KtExpression, functionLiteralArgumentName: Name? diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/moveConflictUtils.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/moveConflictUtils.kt index f602e7ae8de..4ea094ac94f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/moveConflictUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/moveConflictUtils.kt @@ -71,6 +71,7 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.lazy.descriptors.findPackageFragmentForFile import org.jetbrains.kotlin.resolve.source.KotlinSourceElement import org.jetbrains.kotlin.resolve.source.getPsi +import org.jetbrains.kotlin.resolve.targetPlatform import org.jetbrains.kotlin.util.isJavaDescriptor import org.jetbrains.kotlin.utils.SmartSet import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/generate/AbstractCodeInsightActionTest.kt b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/generate/AbstractCodeInsightActionTest.kt index 769b8a5518f..0ae4e7c5f6f 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/generate/AbstractCodeInsightActionTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/generate/AbstractCodeInsightActionTest.kt @@ -30,9 +30,9 @@ import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.js.resolve.JsPlatform import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.targetPlatform import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform +import org.jetbrains.kotlin.resolve.targetPlatform import org.jetbrains.kotlin.test.InTextDirectivesUtils import org.jetbrains.kotlin.test.KotlinTestUtils import java.io.File diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java index fa64778cf16..8a2585b5589 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/reference/ReferenceTranslator.java @@ -43,9 +43,9 @@ import java.util.Arrays; import java.util.HashSet; import java.util.Set; +import static org.jetbrains.kotlin.descriptors.DescriptorPsiUtilsKt.isBackingFieldReference; import static org.jetbrains.kotlin.js.translate.utils.BindingUtils.getDescriptorForReferenceExpression; import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.getSelectorAsSimpleName; -import static org.jetbrains.kotlin.psi.KtPsiUtil.isBackingFieldReference; public final class ReferenceTranslator { private static final Set DECLARATIONS_WITHOUT_SIZE_EFFECTS = new HashSet<>(Arrays.asList( diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ErrorReportingUtils.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ErrorReportingUtils.java index 5a261d1969f..d5380188489 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ErrorReportingUtils.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/ErrorReportingUtils.java @@ -20,6 +20,7 @@ import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; import org.jetbrains.kotlin.diagnostics.DiagnosticUtils; +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils; import org.jetbrains.kotlin.psi.KtExpression; public final class ErrorReportingUtils { @@ -28,7 +29,7 @@ public final class ErrorReportingUtils { @NotNull public static RuntimeException reportErrorWithLocation(@NotNull KtExpression selector, @NotNull RuntimeException e) { - return reportErrorWithLocation(e, DiagnosticUtils.atLocation(selector)); + return reportErrorWithLocation(e, PsiDiagnosticUtils.atLocation(selector)); } @NotNull @@ -38,7 +39,7 @@ public final class ErrorReportingUtils { @NotNull public static String message(@NotNull PsiElement expression, @NotNull String messageText) { - return messageText + " at " + DiagnosticUtils.atLocation(expression) + "."; + return messageText + " at " + PsiDiagnosticUtils.atLocation(expression) + "."; } @NotNull @@ -48,6 +49,6 @@ public final class ErrorReportingUtils { @NotNull public static String message(@NotNull PsiElement element) { - return "Error at " + DiagnosticUtils.atLocation(element) + "."; + return "Error at " + PsiDiagnosticUtils.atLocation(element) + "."; } } diff --git a/prepare/idea-plugin/build.gradle.kts b/prepare/idea-plugin/build.gradle.kts index b1ecc761fc2..550a4f59c91 100644 --- a/prepare/idea-plugin/build.gradle.kts +++ b/prepare/idea-plugin/build.gradle.kts @@ -23,6 +23,7 @@ val projectsToShadow by extra(listOf( ":core:deserialization", ":eval4j", ":idea:formatter", + ":compiler:psi", ":compiler:frontend", ":compiler:frontend.java", ":compiler:frontend.script", diff --git a/settings.gradle b/settings.gradle index c121176de73..f8d379eecc4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -23,6 +23,7 @@ include ":kotlin-build-common", ":compiler:conditional-preprocessor", ":compiler:resolution", ":compiler:serialization", + ":compiler:psi", ":compiler:frontend", ":compiler:frontend.java", ":compiler:frontend.script", diff --git a/ultimate/build.gradle.kts b/ultimate/build.gradle.kts index cd917cf1a10..766d785e50a 100644 --- a/ultimate/build.gradle.kts +++ b/ultimate/build.gradle.kts @@ -24,6 +24,7 @@ dependencies { compileOnly(project(":kotlin-reflect-api")) compile(projectDist(":kotlin-stdlib")) compile(project(":core:descriptors")) { isTransitive = false } + compile(project(":compiler:psi")) { isTransitive = false } compile(project(":core:descriptors.jvm")) { isTransitive = false } compile(project(":core:util.runtime")) { isTransitive = false } compile(project(":compiler:light-classes")) { isTransitive = false }