Temporary rename of properties starting with "is" and used from java code (will revert back after changing accessor naming policy)
This commit is contained in:
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.psi.JetFile
|
|||||||
public class CodegenFileClassesProvider(private val packageFacadesAsMultifileClasses: Boolean) : JvmFileClassesProvider {
|
public class CodegenFileClassesProvider(private val packageFacadesAsMultifileClasses: Boolean) : JvmFileClassesProvider {
|
||||||
override public fun getFileClassInfo(file: JetFile): JvmFileClassInfo {
|
override public fun getFileClassInfo(file: JetFile): JvmFileClassInfo {
|
||||||
val fileClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(file)
|
val fileClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(file)
|
||||||
if (packageFacadesAsMultifileClasses && !fileClassInfo.isMultifileClass) {
|
if (packageFacadesAsMultifileClasses && !fileClassInfo.TEMP_isMultifileClass) {
|
||||||
return JvmFileClassUtil.getMultifilePackageFacadePartInfo(file)
|
return JvmFileClassUtil.getMultifilePackageFacadePartInfo(file)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -71,12 +71,12 @@ public class KotlinCodegenFacade {
|
|||||||
|
|
||||||
JvmFileClassInfo fileClassInfo = state.getFileClassesProvider().getFileClassInfo(file);
|
JvmFileClassInfo fileClassInfo = state.getFileClassesProvider().getFileClassInfo(file);
|
||||||
|
|
||||||
if (fileClassInfo.getIsMultifileClass()) {
|
if (fileClassInfo.getTEMP_isMultifileClass()) {
|
||||||
filesInMultifileClasses.putValue(fileClassInfo.getFacadeClassFqName(), file);
|
filesInMultifileClasses.putValue(fileClassInfo.getFacadeClassFqName(), file);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.getPackageFacadesAsMultifileClasses()) {
|
if (state.getPackageFacadesAsMultifileClasses()) {
|
||||||
if (!fileClassInfo.getIsMultifileClass()) {
|
if (!fileClassInfo.getTEMP_isMultifileClass()) {
|
||||||
filesInMultifileClasses.putValue(PackageClassUtils.getPackageClassFqName(file.getPackageFqName()), file);
|
filesInMultifileClasses.putValue(PackageClassUtils.getPackageClassFqName(file.getPackageFqName()), file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ public class PackageCodegen {
|
|||||||
private ClassBuilder generateFile(@NotNull JetFile file, @NotNull Map<CallableMemberDescriptor, Runnable> generateCallableMemberTasks) {
|
private ClassBuilder generateFile(@NotNull JetFile file, @NotNull Map<CallableMemberDescriptor, Runnable> generateCallableMemberTasks) {
|
||||||
JvmFileClassInfo fileClassInfo = state.getFileClassesProvider().getFileClassInfo(file);
|
JvmFileClassInfo fileClassInfo = state.getFileClassesProvider().getFileClassInfo(file);
|
||||||
|
|
||||||
if (fileClassInfo.getIsMultifileClass()) {
|
if (fileClassInfo.getTEMP_isMultifileClass()) {
|
||||||
Type fileFacadeType = AsmUtil.asmTypeByFqNameWithoutInnerClasses(fileClassInfo.getFacadeClassFqName());
|
Type fileFacadeType = AsmUtil.asmTypeByFqNameWithoutInnerClasses(fileClassInfo.getFacadeClassFqName());
|
||||||
addDelegateToFileClassMemberTasks(file, generateCallableMemberTasks, fileFacadeType);
|
addDelegateToFileClassMemberTasks(file, generateCallableMemberTasks, fileFacadeType);
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.codegen.inline
|
|||||||
import com.google.common.collect.LinkedListMultimap
|
import com.google.common.collect.LinkedListMultimap
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
import com.intellij.util.containers.Stack
|
import com.intellij.util.containers.Stack
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.isMeaningful
|
import org.jetbrains.kotlin.codegen.optimization.common.TEMP_isMeaningful
|
||||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
import org.jetbrains.org.objectweb.asm.Opcodes
|
||||||
import org.jetbrains.org.objectweb.asm.tree.*
|
import org.jetbrains.org.objectweb.asm.tree.*
|
||||||
import java.util.Comparator
|
import java.util.Comparator
|
||||||
@@ -157,7 +157,7 @@ class IntervalMetaInfo<T : SplittableInterval<T>> {
|
|||||||
private fun Interval.isMeaningless(): Boolean {
|
private fun Interval.isMeaningless(): Boolean {
|
||||||
val start = this.startLabel
|
val start = this.startLabel
|
||||||
var end: AbstractInsnNode = this.endLabel
|
var end: AbstractInsnNode = this.endLabel
|
||||||
while (end != start && !end.isMeaningful) {
|
while (end != start && !end.TEMP_isMeaningful) {
|
||||||
end = end.getPrevious()
|
end = end.getPrevious()
|
||||||
}
|
}
|
||||||
return start == end
|
return start == end
|
||||||
|
|||||||
+1
-1
@@ -522,7 +522,7 @@ public class InternalFinallyBlockInliner extends CoveringTryCatchNodeProcessor {
|
|||||||
@Nullable
|
@Nullable
|
||||||
private static AbstractInsnNode getNextMeaningful(@NotNull AbstractInsnNode node) {
|
private static AbstractInsnNode getNextMeaningful(@NotNull AbstractInsnNode node) {
|
||||||
AbstractInsnNode result = node.getNext();
|
AbstractInsnNode result = node.getNext();
|
||||||
while (result != null && !CommonPackage.getIsMeaningful(result)) {
|
while (result != null && !CommonPackage.getTEMP_isMeaningful(result)) {
|
||||||
result = result.getNext();
|
result = result.getNext();
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.codegen.optimization
|
|||||||
import org.jetbrains.org.objectweb.asm.tree.MethodNode
|
import org.jetbrains.org.objectweb.asm.tree.MethodNode
|
||||||
import org.jetbrains.kotlin.codegen.optimization.transformer.MethodTransformer
|
import org.jetbrains.kotlin.codegen.optimization.transformer.MethodTransformer
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter
|
import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.isMeaningful
|
import org.jetbrains.kotlin.codegen.optimization.common.TEMP_isMeaningful
|
||||||
|
|
||||||
public class DeadCodeEliminationMethodTransformer : MethodTransformer() {
|
public class DeadCodeEliminationMethodTransformer : MethodTransformer() {
|
||||||
override fun transform(internalClassName: String, methodNode: MethodNode) {
|
override fun transform(internalClassName: String, methodNode: MethodNode) {
|
||||||
@@ -31,7 +31,7 @@ public class DeadCodeEliminationMethodTransformer : MethodTransformer() {
|
|||||||
// by try/catch blocks or local variables table
|
// by try/catch blocks or local variables table
|
||||||
// We remove unneeded ones further after all optimizations by calling CommonPackage.prepareForEmitting(methodNode)
|
// We remove unneeded ones further after all optimizations by calling CommonPackage.prepareForEmitting(methodNode)
|
||||||
insnsArray.zip(frames).filter {
|
insnsArray.zip(frames).filter {
|
||||||
it.second == null && it.first.isMeaningful
|
it.second == null && it.first.TEMP_isMeaningful
|
||||||
}.forEach { insnList.remove(it.first) }
|
}.forEach { insnList.remove(it.first) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode
|
|||||||
import org.jetbrains.org.objectweb.asm.tree.LabelNode
|
import org.jetbrains.org.objectweb.asm.tree.LabelNode
|
||||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
import org.jetbrains.org.objectweb.asm.Opcodes
|
||||||
import org.jetbrains.org.objectweb.asm.tree.JumpInsnNode
|
import org.jetbrains.org.objectweb.asm.tree.JumpInsnNode
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.isMeaningful
|
import org.jetbrains.kotlin.codegen.optimization.common.TEMP_isMeaningful
|
||||||
|
|
||||||
public class RedundantGotoMethodTransformer : MethodTransformer() {
|
public class RedundantGotoMethodTransformer : MethodTransformer() {
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +34,7 @@ public class RedundantGotoMethodTransformer : MethodTransformer() {
|
|||||||
|
|
||||||
val currentLabels = hashSetOf<LabelNode>()
|
val currentLabels = hashSetOf<LabelNode>()
|
||||||
for (insn in insns.reverse()) {
|
for (insn in insns.reverse()) {
|
||||||
if (insn.isMeaningful) {
|
if (insn.TEMP_isMeaningful) {
|
||||||
if (insn.getOpcode() == Opcodes.GOTO && (insn as JumpInsnNode).label in currentLabels) {
|
if (insn.getOpcode() == Opcodes.GOTO && (insn as JumpInsnNode).label in currentLabels) {
|
||||||
insnsToRemove.add(insn)
|
insnsToRemove.add(insn)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,14 +17,11 @@
|
|||||||
package org.jetbrains.kotlin.codegen.optimization.common
|
package org.jetbrains.kotlin.codegen.optimization.common
|
||||||
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode
|
import org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode
|
||||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.InsnList
|
import org.jetbrains.org.objectweb.asm.tree.InsnList
|
||||||
import org.jetbrains.org.objectweb.asm.tree.LabelNode
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.analysis.Frame
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.analysis.BasicValue
|
|
||||||
import org.jetbrains.org.objectweb.asm.tree.MethodNode
|
import org.jetbrains.org.objectweb.asm.tree.MethodNode
|
||||||
|
import org.jetbrains.org.objectweb.asm.tree.analysis.BasicValue
|
||||||
|
|
||||||
val AbstractInsnNode.isMeaningful : Boolean get() =
|
val AbstractInsnNode.TEMP_isMeaningful: Boolean get() =
|
||||||
when (this.getType()) {
|
when (this.getType()) {
|
||||||
AbstractInsnNode.LABEL, AbstractInsnNode.LINE, AbstractInsnNode.FRAME -> false
|
AbstractInsnNode.LABEL, AbstractInsnNode.LINE, AbstractInsnNode.FRAME -> false
|
||||||
else -> true
|
else -> true
|
||||||
@@ -49,21 +46,21 @@ public class InsnSequence(val from: AbstractInsnNode, val to: AbstractInsnNode?)
|
|||||||
fun MethodNode.prepareForEmitting() {
|
fun MethodNode.prepareForEmitting() {
|
||||||
tryCatchBlocks = tryCatchBlocks.filter { tcb ->
|
tryCatchBlocks = tryCatchBlocks.filter { tcb ->
|
||||||
InsnSequence(tcb.start, tcb.end).any { insn ->
|
InsnSequence(tcb.start, tcb.end).any { insn ->
|
||||||
insn.isMeaningful
|
insn.TEMP_isMeaningful
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// local variables with live ranges starting after last meaningful instruction lead to VerifyError
|
// local variables with live ranges starting after last meaningful instruction lead to VerifyError
|
||||||
localVariables = localVariables.filter { lv ->
|
localVariables = localVariables.filter { lv ->
|
||||||
InsnSequence(lv.start, lv.end).any { insn ->
|
InsnSequence(lv.start, lv.end).any { insn ->
|
||||||
insn.isMeaningful
|
insn.TEMP_isMeaningful
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// We should remove linenumbers after last meaningful instruction
|
// We should remove linenumbers after last meaningful instruction
|
||||||
// because they point to index of non-existing instruction and it leads to VerifyError
|
// because they point to index of non-existing instruction and it leads to VerifyError
|
||||||
var current = instructions.getLast()
|
var current = instructions.getLast()
|
||||||
while (!current.isMeaningful) {
|
while (!current.TEMP_isMeaningful) {
|
||||||
val prev = current.getPrevious()
|
val prev = current.getPrevious()
|
||||||
|
|
||||||
if (current.getType() == AbstractInsnNode.LINE) {
|
if (current.getType() == AbstractInsnNode.LINE) {
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ public class ReplInterpreter {
|
|||||||
|
|
||||||
private void setReplScriptExecuting(boolean isExecuting) {
|
private void setReplScriptExecuting(boolean isExecuting) {
|
||||||
if (replReader != null) {
|
if (replReader != null) {
|
||||||
replReader.setIsReplScriptExecuting(isExecuting);
|
replReader.setTEMP_isReplScriptExecuting(isExecuting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,11 +33,11 @@ public class ReplSystemInWrapper(
|
|||||||
private val isAtBufferEnd: Boolean
|
private val isAtBufferEnd: Boolean
|
||||||
get() = curBytePos == inputByteArray.size()
|
get() = curBytePos == inputByteArray.size()
|
||||||
|
|
||||||
@Volatile var isReplScriptExecuting = false
|
@Volatile var TEMP_isReplScriptExecuting = false
|
||||||
|
|
||||||
override fun read(): Int {
|
override fun read(): Int {
|
||||||
if (isLastByteProcessed) {
|
if (isLastByteProcessed) {
|
||||||
if (isReplScriptExecuting) {
|
if (TEMP_isReplScriptExecuting) {
|
||||||
isReadLineStartSent = false
|
isReadLineStartSent = false
|
||||||
replWriter.printlnReadLineEnd()
|
replWriter.printlnReadLineEnd()
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ public class ReplSystemInWrapper(
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (isXmlIncomplete) {
|
while (isXmlIncomplete) {
|
||||||
if (!isReadLineStartSent && isReplScriptExecuting) {
|
if (!isReadLineStartSent && TEMP_isReplScriptExecuting) {
|
||||||
replWriter.printlnReadLineStart()
|
replWriter.printlnReadLineStart()
|
||||||
isReadLineStartSent = true
|
isReadLineStartSent = true
|
||||||
}
|
}
|
||||||
@@ -71,7 +71,7 @@ public class ReplSystemInWrapper(
|
|||||||
val xmlInput = byteBuilder.toString()
|
val xmlInput = byteBuilder.toString()
|
||||||
val unescapedXml = parseXml(xmlInput)
|
val unescapedXml = parseXml(xmlInput)
|
||||||
|
|
||||||
val resultLine = if (isReplScriptExecuting)
|
val resultLine = if (TEMP_isReplScriptExecuting)
|
||||||
unescapeLineBreaks(unescapedXml)
|
unescapeLineBreaks(unescapedXml)
|
||||||
else
|
else
|
||||||
unescapedXml
|
unescapedXml
|
||||||
|
|||||||
@@ -17,13 +17,12 @@
|
|||||||
package org.jetbrains.kotlin.fileClasses
|
package org.jetbrains.kotlin.fileClasses
|
||||||
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.psi.JetFile
|
|
||||||
|
|
||||||
public interface JvmFileClassInfo {
|
public interface JvmFileClassInfo {
|
||||||
public val fileClassFqName: FqName
|
public val fileClassFqName: FqName
|
||||||
public val facadeClassFqName: FqName
|
public val facadeClassFqName: FqName
|
||||||
public val isWithJvmName: Boolean
|
public val isWithJvmName: Boolean
|
||||||
public val isMultifileClass: Boolean
|
public val TEMP_isMultifileClass: Boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
public class JvmSimpleFileClassInfo(
|
public class JvmSimpleFileClassInfo(
|
||||||
@@ -31,7 +30,7 @@ public class JvmSimpleFileClassInfo(
|
|||||||
override val isWithJvmName: Boolean
|
override val isWithJvmName: Boolean
|
||||||
) : JvmFileClassInfo {
|
) : JvmFileClassInfo {
|
||||||
override val facadeClassFqName: FqName get() = fileClassFqName
|
override val facadeClassFqName: FqName get() = fileClassFqName
|
||||||
override val isMultifileClass: Boolean get() = false
|
override val TEMP_isMultifileClass: Boolean get() = false
|
||||||
}
|
}
|
||||||
|
|
||||||
public class JvmMultifileClassPartInfo(
|
public class JvmMultifileClassPartInfo(
|
||||||
@@ -39,6 +38,6 @@ public class JvmMultifileClassPartInfo(
|
|||||||
override val facadeClassFqName: FqName
|
override val facadeClassFqName: FqName
|
||||||
) : JvmFileClassInfo {
|
) : JvmFileClassInfo {
|
||||||
override val isWithJvmName: Boolean get() = true
|
override val isWithJvmName: Boolean get() = true
|
||||||
override val isMultifileClass: Boolean get() = true
|
override val TEMP_isMultifileClass: Boolean get() = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -273,7 +273,7 @@ public class OverloadsAnnotationChecker: DeclarationChecker {
|
|||||||
if (descriptor is FunctionDescriptor && descriptor.getModality() == Modality.ABSTRACT) {
|
if (descriptor is FunctionDescriptor && descriptor.getModality() == Modality.ABSTRACT) {
|
||||||
diagnosticHolder.report(ErrorsJvm.OVERLOADS_ABSTRACT.on(declaration))
|
diagnosticHolder.report(ErrorsJvm.OVERLOADS_ABSTRACT.on(declaration))
|
||||||
}
|
}
|
||||||
else if ((!descriptor.getVisibility().isPublicAPI && descriptor.getVisibility() != Visibilities.INTERNAL) ||
|
else if ((!descriptor.getVisibility().TEMP_isPublicAPI && descriptor.getVisibility() != Visibilities.INTERNAL) ||
|
||||||
DescriptorUtils.isLocal(descriptor)) {
|
DescriptorUtils.isLocal(descriptor)) {
|
||||||
diagnosticHolder.report(ErrorsJvm.OVERLOADS_PRIVATE.on(declaration))
|
diagnosticHolder.report(ErrorsJvm.OVERLOADS_PRIVATE.on(declaration))
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ fun syntheticExtensionVisibility(originalDescriptor: DeclarationDescriptorWithVi
|
|||||||
return when (originalVisibility) {
|
return when (originalVisibility) {
|
||||||
Visibilities.PUBLIC -> Visibilities.PUBLIC
|
Visibilities.PUBLIC -> Visibilities.PUBLIC
|
||||||
|
|
||||||
else -> object : Visibility(originalVisibility.name, originalVisibility.isPublicAPI) {
|
else -> object : Visibility(originalVisibility.name, originalVisibility.TEMP_isPublicAPI) {
|
||||||
override fun isVisible(receiver: ReceiverValue, what: DeclarationDescriptorWithVisibility, from: DeclarationDescriptor)
|
override fun isVisible(receiver: ReceiverValue, what: DeclarationDescriptorWithVisibility, from: DeclarationDescriptor)
|
||||||
= originalVisibility.isVisible(receiver, originalDescriptor, from)
|
= originalVisibility.isVisible(receiver, originalDescriptor, from)
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class TailRecursionDetector extends InstructionVisitorWithResult<Boolean>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean visitSubroutineExit(@NotNull SubroutineExitInstruction instruction) {
|
public Boolean visitSubroutineExit(@NotNull SubroutineExitInstruction instruction) {
|
||||||
return !instruction.getIsError() && instruction.getSubroutine() == subroutine;
|
return !instruction.getTEMP_isError() && instruction.getSubroutine() == subroutine;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+5
-9
@@ -16,18 +16,14 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.cfg.pseudocode.instructions.special
|
package org.jetbrains.kotlin.cfg.pseudocode.instructions.special
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.cfg.pseudocode.instructions.*
|
||||||
import org.jetbrains.kotlin.psi.JetElement
|
import org.jetbrains.kotlin.psi.JetElement
|
||||||
import java.util.Collections
|
import java.util.*
|
||||||
import org.jetbrains.kotlin.cfg.pseudocode.instructions.LexicalScope
|
|
||||||
import org.jetbrains.kotlin.cfg.pseudocode.instructions.InstructionImpl
|
|
||||||
import org.jetbrains.kotlin.cfg.pseudocode.instructions.Instruction
|
|
||||||
import org.jetbrains.kotlin.cfg.pseudocode.instructions.InstructionVisitor
|
|
||||||
import org.jetbrains.kotlin.cfg.pseudocode.instructions.InstructionVisitorWithResult
|
|
||||||
|
|
||||||
public class SubroutineExitInstruction(
|
public class SubroutineExitInstruction(
|
||||||
public val subroutine: JetElement,
|
public val subroutine: JetElement,
|
||||||
lexicalScope: LexicalScope,
|
lexicalScope: LexicalScope,
|
||||||
public val isError: Boolean
|
public val TEMP_isError: Boolean
|
||||||
) : InstructionImpl(lexicalScope) {
|
) : InstructionImpl(lexicalScope) {
|
||||||
private var _sink: SubroutineSinkInstruction? = null
|
private var _sink: SubroutineSinkInstruction? = null
|
||||||
|
|
||||||
@@ -48,8 +44,8 @@ public class SubroutineExitInstruction(
|
|||||||
return visitor.visitSubroutineExit(this)
|
return visitor.visitSubroutineExit(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun toString(): String = if (isError) "<ERROR>" else "<END>"
|
override fun toString(): String = if (TEMP_isError) "<ERROR>" else "<END>"
|
||||||
|
|
||||||
override fun createCopy(): InstructionImpl =
|
override fun createCopy(): InstructionImpl =
|
||||||
SubroutineExitInstruction(subroutine, lexicalScope, isError)
|
SubroutineExitInstruction(subroutine, lexicalScope, TEMP_isError)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public class BodyResolver {
|
|||||||
// SCRIPT: resolve script bodies
|
// SCRIPT: resolve script bodies
|
||||||
scriptBodyResolverResolver.resolveScriptBodies(c);
|
scriptBodyResolverResolver.resolveScriptBodies(c);
|
||||||
|
|
||||||
if (!c.getTopDownAnalysisMode().getIsLocalDeclarations()) {
|
if (!c.getTopDownAnalysisMode().getTEMP_isLocalDeclarations()) {
|
||||||
computeDeferredTypes();
|
computeDeferredTypes();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -732,7 +732,7 @@ public class BodyResolver {
|
|||||||
LexicalScope scope = c.getDeclaringScope(declaration);
|
LexicalScope scope = c.getDeclaringScope(declaration);
|
||||||
assert scope != null : "Scope is null: " + PsiUtilPackage.getElementTextWithContext(declaration);
|
assert scope != null : "Scope is null: " + PsiUtilPackage.getElementTextWithContext(declaration);
|
||||||
|
|
||||||
if (!c.getTopDownAnalysisMode().getIsLocalDeclarations() && !(bodyResolveCache instanceof BodyResolveCache.ThrowException) &&
|
if (!c.getTopDownAnalysisMode().getTEMP_isLocalDeclarations() && !(bodyResolveCache instanceof BodyResolveCache.ThrowException) &&
|
||||||
expressionTypingServices.getStatementFilter() != StatementFilter.NONE) {
|
expressionTypingServices.getStatementFilter() != StatementFilter.NONE) {
|
||||||
bodyResolveCache.resolveFunctionBody(declaration).addOwnDataTo(trace, true);
|
bodyResolveCache.resolveFunctionBody(declaration).addOwnDataTo(trace, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public class ControlFlowAnalyzer {
|
|||||||
// A pseudocode of class/object initialization corresponds to a class/object
|
// A pseudocode of class/object initialization corresponds to a class/object
|
||||||
// or initialization of properties corresponds to a package declared in a file
|
// or initialization of properties corresponds to a package declared in a file
|
||||||
JetFlowInformationProvider flowInformationProvider = new JetFlowInformationProvider((JetElement) declarationContainer, trace);
|
JetFlowInformationProvider flowInformationProvider = new JetFlowInformationProvider((JetElement) declarationContainer, trace);
|
||||||
if (c.getTopDownAnalysisMode().getIsLocalDeclarations()) {
|
if (c.getTopDownAnalysisMode().getTEMP_isLocalDeclarations()) {
|
||||||
flowInformationProvider.checkForLocalClassOrObjectMode();
|
flowInformationProvider.checkForLocalClassOrObjectMode();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -95,7 +95,7 @@ public class ControlFlowAnalyzer {
|
|||||||
private void checkFunction(@NotNull BodiesResolveContext c, @NotNull JetDeclarationWithBody function, @Nullable JetType expectedReturnType) {
|
private void checkFunction(@NotNull BodiesResolveContext c, @NotNull JetDeclarationWithBody function, @Nullable JetType expectedReturnType) {
|
||||||
if (!function.hasBody()) return;
|
if (!function.hasBody()) return;
|
||||||
JetFlowInformationProvider flowInformationProvider = new JetFlowInformationProvider(function, trace);
|
JetFlowInformationProvider flowInformationProvider = new JetFlowInformationProvider(function, trace);
|
||||||
if (c.getTopDownAnalysisMode().getIsLocalDeclarations()) {
|
if (c.getTopDownAnalysisMode().getTEMP_isLocalDeclarations()) {
|
||||||
flowInformationProvider.checkForLocalClassOrObjectMode();
|
flowInformationProvider.checkForLocalClassOrObjectMode();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.resolve
|
package org.jetbrains.kotlin.resolve
|
||||||
|
|
||||||
public enum class TopDownAnalysisMode(public val isLocalDeclarations: Boolean) {
|
public enum class TopDownAnalysisMode(public val TEMP_isLocalDeclarations: Boolean) {
|
||||||
LocalDeclarations(true),
|
LocalDeclarations(true),
|
||||||
TopLevelDeclarations(false)
|
TopLevelDeclarations(false)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -21,7 +21,6 @@ import com.intellij.psi.PsiElement;
|
|||||||
import com.intellij.psi.util.PsiTreeUtil;
|
import com.intellij.psi.util.PsiTreeUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
|
||||||
import org.jetbrains.kotlin.descriptors.*;
|
import org.jetbrains.kotlin.descriptors.*;
|
||||||
import org.jetbrains.kotlin.lexer.JetTokens;
|
import org.jetbrains.kotlin.lexer.JetTokens;
|
||||||
import org.jetbrains.kotlin.psi.*;
|
import org.jetbrains.kotlin.psi.*;
|
||||||
@@ -386,7 +385,7 @@ public class CallExpressionResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
CompileTimeConstant<?> value = constantExpressionEvaluator.evaluateExpression(expression, context.trace, context.expectedType);
|
CompileTimeConstant<?> value = constantExpressionEvaluator.evaluateExpression(expression, context.trace, context.expectedType);
|
||||||
if (value != null && value.getIsPure()) {
|
if (value != null && value.getTEMP_isPure()) {
|
||||||
return dataFlowAnalyzer.createCompileTimeConstantTypeInfo(value, expression, context);
|
return dataFlowAnalyzer.createCompileTimeConstantTypeInfo(value, expression, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-4
@@ -35,7 +35,6 @@ import org.jetbrains.kotlin.resolve.inline.InlineUtil;
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver;
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver;
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
|
||||||
import org.jetbrains.kotlin.types.JetType;
|
|
||||||
import org.jetbrains.kotlin.types.expressions.OperatorConventions;
|
import org.jetbrains.kotlin.types.expressions.OperatorConventions;
|
||||||
|
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
@@ -44,7 +43,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import static org.jetbrains.kotlin.diagnostics.Errors.NON_LOCAL_RETURN_NOT_ALLOWED;
|
import static org.jetbrains.kotlin.diagnostics.Errors.NON_LOCAL_RETURN_NOT_ALLOWED;
|
||||||
import static org.jetbrains.kotlin.diagnostics.Errors.USAGE_IS_NOT_INLINABLE;
|
import static org.jetbrains.kotlin.diagnostics.Errors.USAGE_IS_NOT_INLINABLE;
|
||||||
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getIsEffectivelyPublicApi;
|
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getTEMP_isEffectivelyPublicApi;
|
||||||
import static org.jetbrains.kotlin.resolve.inline.InlineUtil.allowsNonLocalReturns;
|
import static org.jetbrains.kotlin.resolve.inline.InlineUtil.allowsNonLocalReturns;
|
||||||
import static org.jetbrains.kotlin.resolve.inline.InlineUtil.checkNonLocalReturnUsage;
|
import static org.jetbrains.kotlin.resolve.inline.InlineUtil.checkNonLocalReturnUsage;
|
||||||
|
|
||||||
@@ -56,7 +55,7 @@ class InlineChecker implements CallChecker {
|
|||||||
public InlineChecker(@NotNull SimpleFunctionDescriptor descriptor) {
|
public InlineChecker(@NotNull SimpleFunctionDescriptor descriptor) {
|
||||||
assert InlineUtil.isInline(descriptor) : "This extension should be created only for inline functions: " + descriptor;
|
assert InlineUtil.isInline(descriptor) : "This extension should be created only for inline functions: " + descriptor;
|
||||||
this.descriptor = descriptor;
|
this.descriptor = descriptor;
|
||||||
this.isEffectivelyPublicApiFunction = getIsEffectivelyPublicApi(descriptor);
|
this.isEffectivelyPublicApiFunction = getTEMP_isEffectivelyPublicApi(descriptor);
|
||||||
|
|
||||||
for (ValueParameterDescriptor param : descriptor.getValueParameters()) {
|
for (ValueParameterDescriptor param : descriptor.getValueParameters()) {
|
||||||
if (isInlinableParameter(param)) {
|
if (isInlinableParameter(param)) {
|
||||||
@@ -237,7 +236,7 @@ class InlineChecker implements CallChecker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void checkVisibility(@NotNull CallableDescriptor declarationDescriptor, @NotNull JetElement expression, @NotNull BasicCallResolutionContext context){
|
private void checkVisibility(@NotNull CallableDescriptor declarationDescriptor, @NotNull JetElement expression, @NotNull BasicCallResolutionContext context){
|
||||||
boolean declarationDescriptorIsPublicApi = getIsEffectivelyPublicApi(declarationDescriptor) || isDefinedInInlineFunction(declarationDescriptor);
|
boolean declarationDescriptorIsPublicApi = getTEMP_isEffectivelyPublicApi(declarationDescriptor) || isDefinedInInlineFunction(declarationDescriptor);
|
||||||
if (isEffectivelyPublicApiFunction && !declarationDescriptorIsPublicApi && declarationDescriptor.getVisibility() != Visibilities.LOCAL) {
|
if (isEffectivelyPublicApiFunction && !declarationDescriptorIsPublicApi && declarationDescriptor.getVisibility() != Visibilities.LOCAL) {
|
||||||
context.trace.report(Errors.INVISIBLE_MEMBER_FROM_INLINE.on(expression, declarationDescriptor, descriptor));
|
context.trace.report(Errors.INVISIBLE_MEMBER_FROM_INLINE.on(expression, declarationDescriptor, descriptor));
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -443,7 +443,7 @@ private class ConstantExpressionEvaluatorVisitor(
|
|||||||
|
|
||||||
private fun canBeUsedInAnnotation(expression: JetExpression) = ConstantExpressionEvaluator.getConstant(expression, trace.getBindingContext())?.canBeUsedInAnnotations ?: false
|
private fun canBeUsedInAnnotation(expression: JetExpression) = ConstantExpressionEvaluator.getConstant(expression, trace.getBindingContext())?.canBeUsedInAnnotations ?: false
|
||||||
|
|
||||||
private fun isPureConstant(expression: JetExpression) = ConstantExpressionEvaluator.getConstant(expression, trace.getBindingContext())?.isPure ?: false
|
private fun isPureConstant(expression: JetExpression) = ConstantExpressionEvaluator.getConstant(expression, trace.getBindingContext())?.TEMP_isPure ?: false
|
||||||
|
|
||||||
private fun evaluateUnaryAndCheck(receiver: OperationArgument, name: String, callExpression: JetExpression): Any? {
|
private fun evaluateUnaryAndCheck(receiver: OperationArgument, name: String, callExpression: JetExpression): Any? {
|
||||||
val functions = unaryOperations[UnaryOperationKey(receiver.ctcType, name)]
|
val functions = unaryOperations[UnaryOperationKey(receiver.ctcType, name)]
|
||||||
|
|||||||
+1
-1
@@ -220,7 +220,7 @@ public class KotlinJavaFileStubProvider<T extends WithFileStubAndExtraDiagnostic
|
|||||||
if (!files.isEmpty()) {
|
if (!files.isEmpty()) {
|
||||||
JetFile representativeFile = files.iterator().next();
|
JetFile representativeFile = files.iterator().next();
|
||||||
JvmFileClassInfo fileClassInfo = NoResolveFileClassesProvider.INSTANCE$.getFileClassInfo(representativeFile);
|
JvmFileClassInfo fileClassInfo = NoResolveFileClassesProvider.INSTANCE$.getFileClassInfo(representativeFile);
|
||||||
if (!fileClassInfo.getIsMultifileClass()) {
|
if (!fileClassInfo.getTEMP_isMultifileClass()) {
|
||||||
PackageCodegen codegen = state.getFactory().forPackage(representativeFile.getPackageFqName(), files);
|
PackageCodegen codegen = state.getFactory().forPackage(representativeFile.getPackageFqName(), files);
|
||||||
codegen.generate(CompilationErrorHandler.THROW_EXCEPTION);
|
codegen.generate(CompilationErrorHandler.THROW_EXCEPTION);
|
||||||
state.getFactory().asList();
|
state.getFactory().asList();
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@ public abstract class AbstractEvaluateExpressionTest : AbstractAnnotationDescrip
|
|||||||
fun doIsPureTest(path: String) {
|
fun doIsPureTest(path: String) {
|
||||||
doTest(path) {
|
doTest(path) {
|
||||||
property, context ->
|
property, context ->
|
||||||
evaluateInitializer(context, property)?.isPure.toString()
|
evaluateInitializer(context, property)?.TEMP_isPure.toString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import javax.xml.bind.DatatypeConverter.parseBase64Binary
|
|||||||
import javax.xml.bind.DatatypeConverter.printBase64Binary
|
import javax.xml.bind.DatatypeConverter.printBase64Binary
|
||||||
|
|
||||||
public class KotlinJavascriptMetadata(public val abiVersion: Int, public val moduleName: String, public val body: ByteArray) {
|
public class KotlinJavascriptMetadata(public val abiVersion: Int, public val moduleName: String, public val body: ByteArray) {
|
||||||
public val isAbiVersionCompatible: Boolean = KotlinJavascriptMetadataUtils.isAbiVersionCompatible(abiVersion)
|
public val TEMP_isAbiVersionCompatible: Boolean = KotlinJavascriptMetadataUtils.isAbiVersionCompatible(abiVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
public object KotlinJavascriptMetadataUtils {
|
public object KotlinJavascriptMetadataUtils {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ fun LazyJavaResolverContext.resolveKotlinBinaryClass(kotlinClass: KotlinJvmBinar
|
|||||||
|
|
||||||
val header = kotlinClass.classHeader
|
val header = kotlinClass.classHeader
|
||||||
return when {
|
return when {
|
||||||
!header.isCompatibleAbiVersion -> {
|
!header.TEMP_isCompatibleAbiVersion -> {
|
||||||
components.errorReporter.reportIncompatibleAbiVersion(kotlinClass.classId, kotlinClass.location, header.version)
|
components.errorReporter.reportIncompatibleAbiVersion(kotlinClass.classId, kotlinClass.location, header.version)
|
||||||
KotlinClassLookupResult.NotFound
|
KotlinClassLookupResult.NotFound
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -112,7 +112,7 @@ public final class DeserializedDescriptorResolver {
|
|||||||
@Nullable
|
@Nullable
|
||||||
public String[] readData(@NotNull KotlinJvmBinaryClass kotlinClass, @NotNull Set<KotlinClassHeader.Kind> expectedKinds) {
|
public String[] readData(@NotNull KotlinJvmBinaryClass kotlinClass, @NotNull Set<KotlinClassHeader.Kind> expectedKinds) {
|
||||||
KotlinClassHeader header = kotlinClass.getClassHeader();
|
KotlinClassHeader header = kotlinClass.getClassHeader();
|
||||||
if (!header.getIsCompatibleAbiVersion()) {
|
if (!header.getTEMP_isCompatibleAbiVersion()) {
|
||||||
errorReporter.reportIncompatibleAbiVersion(kotlinClass.getClassId(), kotlinClass.getLocation(), header.getVersion());
|
errorReporter.reportIncompatibleAbiVersion(kotlinClass.getClassId(), kotlinClass.getLocation(), header.getVersion());
|
||||||
}
|
}
|
||||||
else if (expectedKinds.contains(header.getKind())) {
|
else if (expectedKinds.contains(header.getKind())) {
|
||||||
|
|||||||
+8
-8
@@ -16,10 +16,10 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.load.kotlin.header
|
package org.jetbrains.kotlin.load.kotlin.header
|
||||||
|
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.BinaryVersion
|
|
||||||
import org.jetbrains.kotlin.load.java.AbiVersionUtil
|
import org.jetbrains.kotlin.load.java.AbiVersionUtil
|
||||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames.KotlinClass
|
import org.jetbrains.kotlin.load.java.JvmAnnotationNames.KotlinClass
|
||||||
import org.jetbrains.kotlin.load.java.JvmAnnotationNames.KotlinSyntheticClass
|
import org.jetbrains.kotlin.load.java.JvmAnnotationNames.KotlinSyntheticClass
|
||||||
|
import org.jetbrains.kotlin.serialization.deserialization.BinaryVersion
|
||||||
|
|
||||||
public class KotlinClassHeader(
|
public class KotlinClassHeader(
|
||||||
public val kind: KotlinClassHeader.Kind,
|
public val kind: KotlinClassHeader.Kind,
|
||||||
@@ -31,7 +31,7 @@ public class KotlinClassHeader(
|
|||||||
public val filePartClassNames: Array<String>?,
|
public val filePartClassNames: Array<String>?,
|
||||||
public val multifileClassName: String?
|
public val multifileClassName: String?
|
||||||
) {
|
) {
|
||||||
public val isCompatibleAbiVersion: Boolean get() = AbiVersionUtil.isAbiVersionCompatible(version)
|
public val TEMP_isCompatibleAbiVersion: Boolean get() = AbiVersionUtil.isAbiVersionCompatible(version)
|
||||||
|
|
||||||
public enum class Kind {
|
public enum class Kind {
|
||||||
CLASS,
|
CLASS,
|
||||||
@@ -49,9 +49,9 @@ public class KotlinClassHeader(
|
|||||||
"version=$version"
|
"version=$version"
|
||||||
}
|
}
|
||||||
|
|
||||||
public fun KotlinClassHeader.isCompatibleClassKind(): Boolean = isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.CLASS
|
public fun KotlinClassHeader.isCompatibleClassKind(): Boolean = TEMP_isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.CLASS
|
||||||
public fun KotlinClassHeader.isCompatiblePackageFacadeKind(): Boolean = isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.PACKAGE_FACADE
|
public fun KotlinClassHeader.isCompatiblePackageFacadeKind(): Boolean = TEMP_isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.PACKAGE_FACADE
|
||||||
public fun KotlinClassHeader.isCompatibleFileFacadeKind(): Boolean = isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.FILE_FACADE
|
public fun KotlinClassHeader.isCompatibleFileFacadeKind(): Boolean = TEMP_isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.FILE_FACADE
|
||||||
public fun KotlinClassHeader.isCompatibleMultifileClassKind(): Boolean = isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.MULTIFILE_CLASS
|
public fun KotlinClassHeader.isCompatibleMultifileClassKind(): Boolean = TEMP_isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.MULTIFILE_CLASS
|
||||||
public fun KotlinClassHeader.isCompatibleMultifileClassPartKind(): Boolean = isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.MULTIFILE_CLASS_PART
|
public fun KotlinClassHeader.isCompatibleMultifileClassPartKind(): Boolean = TEMP_isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.MULTIFILE_CLASS_PART
|
||||||
public fun KotlinClassHeader.isCompatibleSyntheticClassKind(): Boolean = isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.SYNTHETIC_CLASS
|
public fun KotlinClassHeader.isCompatibleSyntheticClassKind(): Boolean = TEMP_isCompatibleAbiVersion && kind == KotlinClassHeader.Kind.SYNTHETIC_CLASS
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
|||||||
|
|
||||||
public abstract class Visibility protected constructor(
|
public abstract class Visibility protected constructor(
|
||||||
public val name: String,
|
public val name: String,
|
||||||
public val isPublicAPI: Boolean
|
public val TEMP_isPublicAPI: Boolean
|
||||||
) {
|
) {
|
||||||
public abstract fun isVisible(receiver: ReceiverValue, what: DeclarationDescriptorWithVisibility, from: DeclarationDescriptor): Boolean
|
public abstract fun isVisible(receiver: ReceiverValue, what: DeclarationDescriptorWithVisibility, from: DeclarationDescriptor): Boolean
|
||||||
|
|
||||||
|
|||||||
@@ -90,12 +90,12 @@ public val ClassDescriptor.classObjectType: JetType?
|
|||||||
return correspondingDescriptor?.getDefaultType()
|
return correspondingDescriptor?.getDefaultType()
|
||||||
}
|
}
|
||||||
|
|
||||||
public val DeclarationDescriptorWithVisibility.isEffectivelyPublicApi: Boolean
|
public val DeclarationDescriptorWithVisibility.TEMP_isEffectivelyPublicApi: Boolean
|
||||||
get() {
|
get() {
|
||||||
var parent: DeclarationDescriptorWithVisibility? = this
|
var parent: DeclarationDescriptorWithVisibility? = this
|
||||||
|
|
||||||
while (parent != null) {
|
while (parent != null) {
|
||||||
if (!parent.getVisibility().isPublicAPI) return false
|
if (!parent.getVisibility().TEMP_isPublicAPI) return false
|
||||||
|
|
||||||
parent = DescriptorUtils.getParentOfType(parent, javaClass<DeclarationDescriptorWithVisibility>())
|
parent = DescriptorUtils.getParentOfType(parent, javaClass<DeclarationDescriptorWithVisibility>())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public interface CompileTimeConstant<out T> {
|
|||||||
|
|
||||||
public val usesNonConstValAsConstant: Boolean get() = parameters.usesNonConstValAsConstant
|
public val usesNonConstValAsConstant: Boolean get() = parameters.usesNonConstValAsConstant
|
||||||
|
|
||||||
public val isPure: Boolean get() = parameters.isPure
|
public val TEMP_isPure: Boolean get() = parameters.isPure
|
||||||
|
|
||||||
public class Parameters(
|
public class Parameters(
|
||||||
public val canBeUsedInAnnotation: Boolean,
|
public val canBeUsedInAnnotation: Boolean,
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public object JsAnalyzerFacade : AnalyzerFacade<PlatformAnalysisParameters>() {
|
|||||||
if (moduleInfo is LibraryInfo && KotlinJavaScriptLibraryDetectionUtil.isKotlinJavaScriptLibrary(moduleInfo.library)) {
|
if (moduleInfo is LibraryInfo && KotlinJavaScriptLibraryDetectionUtil.isKotlinJavaScriptLibrary(moduleInfo.library)) {
|
||||||
val providers = moduleInfo.library.getFiles(OrderRootType.CLASSES)
|
val providers = moduleInfo.library.getFiles(OrderRootType.CLASSES)
|
||||||
.flatMap { KotlinJavascriptMetadataUtils.loadMetadata(PathUtil.getLocalPath(it)!!) }
|
.flatMap { KotlinJavascriptMetadataUtils.loadMetadata(PathUtil.getLocalPath(it)!!) }
|
||||||
.filter { it.isAbiVersionCompatible }
|
.filter { it.TEMP_isAbiVersionCompatible }
|
||||||
.map { KotlinJavascriptSerializationUtil.createPackageFragmentProvider(moduleDescriptor, it.body, moduleContext.storageManager) }
|
.map { KotlinJavascriptSerializationUtil.createPackageFragmentProvider(moduleDescriptor, it.body, moduleContext.storageManager) }
|
||||||
.filterNotNull()
|
.filterNotNull()
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public fun isKotlinWithCompatibleAbiVersion(file: VirtualFile): Boolean {
|
|||||||
if (!isKotlinJvmCompiledFile(file)) return false
|
if (!isKotlinJvmCompiledFile(file)) return false
|
||||||
|
|
||||||
val header = KotlinBinaryClassCache.getKotlinBinaryClass(file)?.getClassHeader()
|
val header = KotlinBinaryClassCache.getKotlinBinaryClass(file)?.getClassHeader()
|
||||||
return header != null && header.isCompatibleAbiVersion
|
return header != null && header.TEMP_isCompatibleAbiVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
-1
@@ -55,7 +55,7 @@ public open class KotlinClsStubBuilder : ClsStubBuilder() {
|
|||||||
val header = kotlinBinaryClass.getClassHeader()
|
val header = kotlinBinaryClass.getClassHeader()
|
||||||
val classId = kotlinBinaryClass.getClassId()
|
val classId = kotlinBinaryClass.getClassId()
|
||||||
val packageFqName = classId.getPackageFqName()
|
val packageFqName = classId.getPackageFqName()
|
||||||
if (!header.isCompatibleAbiVersion) {
|
if (!header.TEMP_isCompatibleAbiVersion) {
|
||||||
return createIncompatibleAbiVersionFileStub()
|
return createIncompatibleAbiVersionFileStub()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -60,7 +60,7 @@ public fun buildDecompiledText(
|
|||||||
val packageFqName = classId.getPackageFqName()
|
val packageFqName = classId.getPackageFqName()
|
||||||
|
|
||||||
return when {
|
return when {
|
||||||
!classHeader.isCompatibleAbiVersion -> {
|
!classHeader.TEMP_isCompatibleAbiVersion -> {
|
||||||
DecompiledText(
|
DecompiledText(
|
||||||
INCOMPATIBLE_ABI_VERSION_COMMENT
|
INCOMPATIBLE_ABI_VERSION_COMMENT
|
||||||
.replace(CURRENT_ABI_VERSION_MARKER, JvmAbi.VERSION.toString())
|
.replace(CURRENT_ABI_VERSION_MARKER, JvmAbi.VERSION.toString())
|
||||||
@@ -78,7 +78,7 @@ public fun buildDecompiledText(
|
|||||||
buildDecompiledText(packageFqName, partMembers)
|
buildDecompiledText(packageFqName, partMembers)
|
||||||
}
|
}
|
||||||
else ->
|
else ->
|
||||||
throw UnsupportedOperationException("Unknown header kind: ${classHeader.kind} ${classHeader.isCompatibleAbiVersion}")
|
throw UnsupportedOperationException("Unknown header kind: ${classHeader.kind} ${classHeader.TEMP_isCompatibleAbiVersion}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ public object KotlinClassFileIndex : KotlinFileIndexBase<KotlinClassFileIndex>(K
|
|||||||
|
|
||||||
private val INDEXER = indexer() { file ->
|
private val INDEXER = indexer() { file ->
|
||||||
val kotlinClass = KotlinBinaryClassCache.getKotlinBinaryClass(file)
|
val kotlinClass = KotlinBinaryClassCache.getKotlinBinaryClass(file)
|
||||||
if (kotlinClass != null && kotlinClass.classHeader.isCompatibleAbiVersion) kotlinClass.classId.asSingleFqName() else null
|
if (kotlinClass != null && kotlinClass.classHeader.TEMP_isCompatibleAbiVersion) kotlinClass.classId.asSingleFqName() else null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ public class KotlinJavaScriptLibraryManager private constructor(private var myPr
|
|||||||
assert(path != null) { "expected not-null path for ${clsRootFile.name}" }
|
assert(path != null) { "expected not-null path for ${clsRootFile.name}" }
|
||||||
|
|
||||||
val metadataList = KotlinJavascriptMetadataUtils.loadMetadata(path!!)
|
val metadataList = KotlinJavascriptMetadataUtils.loadMetadata(path!!)
|
||||||
if (metadataList.filter { !it.isAbiVersionCompatible }.isNotEmpty()) continue
|
if (metadataList.filter { !it.TEMP_isAbiVersionCompatible }.isNotEmpty()) continue
|
||||||
|
|
||||||
VfsUtil.findFileByIoFile(File(path), true)?.let { rootFiles.add(it) }
|
VfsUtil.findFileByIoFile(File(path), true)?.let { rootFiles.add(it) }
|
||||||
val classRoot = KotlinJavaScriptMetaFileSystem.getInstance().refreshAndFindFileByPath("$path!/")
|
val classRoot = KotlinJavaScriptMetaFileSystem.getInstance().refreshAndFindFileByPath("$path!/")
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ public open class JetChangeInfo(
|
|||||||
public fun getNewSignature(inheritedCallable: JetCallableDefinitionUsage<PsiElement>): String {
|
public fun getNewSignature(inheritedCallable: JetCallableDefinitionUsage<PsiElement>): String {
|
||||||
val buffer = StringBuilder()
|
val buffer = StringBuilder()
|
||||||
|
|
||||||
val defaultVisibility = if (kind.isConstructor) Visibilities.PUBLIC else Visibilities.DEFAULT_VISIBILITY
|
val defaultVisibility = if (kind.TEMP_isConstructor) Visibilities.PUBLIC else Visibilities.DEFAULT_VISIBILITY
|
||||||
|
|
||||||
if (kind == Kind.PRIMARY_CONSTRUCTOR) {
|
if (kind == Kind.PRIMARY_CONSTRUCTOR) {
|
||||||
buffer.append(name)
|
buffer.append(name)
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ public class JetChangeSignatureProcessor(project: Project,
|
|||||||
changeInfo: JetChangeInfo,
|
changeInfo: JetChangeInfo,
|
||||||
private val commandName: String) : ChangeSignatureProcessorBase(project, changeInfo) {
|
private val commandName: String) : ChangeSignatureProcessorBase(project, changeInfo) {
|
||||||
override fun createUsageViewDescriptor(usages: Array<UsageInfo>): UsageViewDescriptor {
|
override fun createUsageViewDescriptor(usages: Array<UsageInfo>): UsageViewDescriptor {
|
||||||
val subject = if (getChangeInfo().kind.isConstructor) "constructor" else "function"
|
val subject = if (getChangeInfo().kind.TEMP_isConstructor) "constructor" else "function"
|
||||||
return JetUsagesViewDescriptor(myChangeInfo.getMethod(), RefactoringBundle.message("0.to.change.signature", subject))
|
return JetUsagesViewDescriptor(myChangeInfo.getMethod(), RefactoringBundle.message("0.to.change.signature", subject))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -619,7 +619,7 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro
|
|||||||
JetScope callableScope = org.jetbrains.kotlin.idea.refactoring.RefactoringPackage.getContainingScope(oldDescriptor, bindingContext);
|
JetScope callableScope = org.jetbrains.kotlin.idea.refactoring.RefactoringPackage.getContainingScope(oldDescriptor, bindingContext);
|
||||||
|
|
||||||
JetMethodDescriptor.Kind kind = ChangeSignaturePackage.getKind(changeInfo);
|
JetMethodDescriptor.Kind kind = ChangeSignaturePackage.getKind(changeInfo);
|
||||||
if (!kind.getIsConstructor() && callableScope != null && !info.getNewName().isEmpty()) {
|
if (!kind.getTEMP_isConstructor() && callableScope != null && !info.getNewName().isEmpty()) {
|
||||||
Name newName = Name.identifier(info.getNewName());
|
Name newName = Name.identifier(info.getNewName());
|
||||||
Collection<? extends CallableDescriptor> conflicts = oldDescriptor instanceof FunctionDescriptor
|
Collection<? extends CallableDescriptor> conflicts = oldDescriptor instanceof FunctionDescriptor
|
||||||
? ScopeUtils.getAllAccessibleFunctions(callableScope, newName)
|
? ScopeUtils.getAllAccessibleFunctions(callableScope, newName)
|
||||||
@@ -703,7 +703,7 @@ public class JetChangeSignatureUsageProcessor implements ChangeSignatureUsagePro
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
for (JetParameterInfo parameterInfo : changeInfo.getNonReceiverParameters()) {
|
for (JetParameterInfo parameterInfo : changeInfo.getNonReceiverParameters()) {
|
||||||
if (!(parameterInfo.getIsNewParameter())) continue;
|
if (!(parameterInfo.getTEMP_isNewParameter())) continue;
|
||||||
|
|
||||||
String name = parameterInfo.getName();
|
String name = parameterInfo.getName();
|
||||||
JetParameter parameter = existingParameters.get(name);
|
JetParameter parameter = existingParameters.get(name);
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.idea.refactoring.changeSignature.usages.JetCallableD
|
|||||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||||
|
|
||||||
public interface JetMethodDescriptor : MethodDescriptor<JetParameterInfo, Visibility> {
|
public interface JetMethodDescriptor : MethodDescriptor<JetParameterInfo, Visibility> {
|
||||||
enum class Kind(val isConstructor: Boolean) {
|
enum class Kind(val TEMP_isConstructor: Boolean) {
|
||||||
FUNCTION(false),
|
FUNCTION(false),
|
||||||
PRIMARY_CONSTRUCTOR(true),
|
PRIMARY_CONSTRUCTOR(true),
|
||||||
SECONDARY_CONSTRUCTOR(true)
|
SECONDARY_CONSTRUCTOR(true)
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
|||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ThisReceiver
|
import org.jetbrains.kotlin.resolve.scopes.receivers.ThisReceiver
|
||||||
import org.jetbrains.kotlin.types.JetType
|
import org.jetbrains.kotlin.types.JetType
|
||||||
import java.util.LinkedHashMap
|
import java.util.*
|
||||||
|
|
||||||
public class JetParameterInfo(
|
public class JetParameterInfo(
|
||||||
val callableDescriptor: CallableDescriptor,
|
val callableDescriptor: CallableDescriptor,
|
||||||
@@ -130,7 +130,7 @@ public class JetParameterInfo(
|
|||||||
|
|
||||||
override fun getOldIndex(): Int = originalIndex
|
override fun getOldIndex(): Int = originalIndex
|
||||||
|
|
||||||
public val isNewParameter: Boolean
|
public val TEMP_isNewParameter: Boolean
|
||||||
get() = originalIndex == -1
|
get() = originalIndex == -1
|
||||||
|
|
||||||
override fun getDefaultValue(): String? = null
|
override fun getDefaultValue(): String? = null
|
||||||
@@ -143,7 +143,7 @@ public class JetParameterInfo(
|
|||||||
|
|
||||||
override fun getTypeText(): String = currentTypeText
|
override fun getTypeText(): String = currentTypeText
|
||||||
|
|
||||||
public val isTypeChanged: Boolean get() = getOldTypeText() != currentTypeText
|
public val TEMP_isTypeChanged: Boolean get() = getOldTypeText() != currentTypeText
|
||||||
|
|
||||||
override fun isUseAnySingleVariable(): Boolean = false
|
override fun isUseAnySingleVariable(): Boolean = false
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -156,7 +156,7 @@ public class JetChangeSignatureDialog(
|
|||||||
|
|
||||||
// Forbid receiver propagation
|
// Forbid receiver propagation
|
||||||
override fun mayPropagateParameters() =
|
override fun mayPropagateParameters() =
|
||||||
getParameters().any { it.isNewParameter && it != parametersTableModel.getReceiver() }
|
getParameters().any { it.TEMP_isNewParameter && it != parametersTableModel.getReceiver() }
|
||||||
|
|
||||||
override fun getTableEditor(table: JTable, item: ParameterTableModelItemBase<JetParameterInfo>): JBTableRowEditor? {
|
override fun getTableEditor(table: JTable, item: ParameterTableModelItemBase<JetParameterInfo>): JBTableRowEditor? {
|
||||||
return object : JBTableRowEditor() {
|
return object : JBTableRowEditor() {
|
||||||
@@ -168,7 +168,7 @@ public class JetChangeSignatureDialog(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun isDefaultColumnEnabled() =
|
private fun isDefaultColumnEnabled() =
|
||||||
item.parameter.isNewParameter && item.parameter != myMethod.receiver
|
item.parameter.TEMP_isNewParameter && item.parameter != myMethod.receiver
|
||||||
|
|
||||||
override fun prepareEditor(table: JTable, row: Int) {
|
override fun prepareEditor(table: JTable, row: Int) {
|
||||||
setLayout(BoxLayout(this, BoxLayout.X_AXIS))
|
setLayout(BoxLayout(this, BoxLayout.X_AXIS))
|
||||||
@@ -371,7 +371,7 @@ public class JetChangeSignatureDialog(
|
|||||||
public fun getMethodDescriptor(): JetMethodDescriptor = myMethod
|
public fun getMethodDescriptor(): JetMethodDescriptor = myMethod
|
||||||
|
|
||||||
override fun getSelectedIdx(): Int {
|
override fun getSelectedIdx(): Int {
|
||||||
return myMethod.getParameters().withIndex().firstOrNull { it.value.isNewParameter }?.index
|
return myMethod.getParameters().withIndex().firstOrNull { it.value.TEMP_isNewParameter }?.index
|
||||||
?: super.getSelectedIdx()
|
?: super.getSelectedIdx()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@ public class JetPrimaryConstructorParameterTableModel extends JetCallableParamet
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isCellEditable(ParameterTableModelItemBase<JetParameterInfo> item) {
|
public boolean isCellEditable(ParameterTableModelItemBase<JetParameterInfo> item) {
|
||||||
return !item.isEllipsisType() && item.parameter.getIsNewParameter();
|
return !item.isEllipsisType() && item.parameter.getTEMP_isNewParameter();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+1
-2
@@ -35,7 +35,6 @@ import org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils;
|
|||||||
import org.jetbrains.kotlin.idea.codeInsight.shorten.ShortenPackage;
|
import org.jetbrains.kotlin.idea.codeInsight.shorten.ShortenPackage;
|
||||||
import org.jetbrains.kotlin.idea.core.DescriptorUtilsKt;
|
import org.jetbrains.kotlin.idea.core.DescriptorUtilsKt;
|
||||||
import org.jetbrains.kotlin.idea.core.PsiModificationUtilsKt;
|
import org.jetbrains.kotlin.idea.core.PsiModificationUtilsKt;
|
||||||
import org.jetbrains.kotlin.idea.refactoring.JetRefactoringUtil;
|
|
||||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.ChangeSignaturePackage;
|
import org.jetbrains.kotlin.idea.refactoring.changeSignature.ChangeSignaturePackage;
|
||||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetChangeInfo;
|
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetChangeInfo;
|
||||||
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo;
|
import org.jetbrains.kotlin.idea.refactoring.changeSignature.JetParameterInfo;
|
||||||
@@ -377,7 +376,7 @@ public class JetCallableDefinitionUsage<T extends PsiElement> extends JetUsageIn
|
|||||||
parameter.addBefore(psiFactory.createWhiteSpace(), firstChild);
|
parameter.addBefore(psiFactory.createWhiteSpace(), firstChild);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parameterInfo.getIsTypeChanged() && parameter.getTypeReference() != null) {
|
if (parameterInfo.getTEMP_isTypeChanged() && parameter.getTypeReference() != null) {
|
||||||
String renderedType = parameterInfo.renderType(parameterIndex, this);
|
String renderedType = parameterInfo.renderType(parameterIndex, this);
|
||||||
parameter.setTypeReference(psiFactory.createType(renderedType));
|
parameter.setTypeReference(psiFactory.createType(renderedType));
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -38,7 +38,7 @@ public class KotlinCallerUsage(element: JetNamedDeclaration): JetUsageInfo<JetNa
|
|||||||
val psiFactory = JetPsiFactory(getProject())
|
val psiFactory = JetPsiFactory(getProject())
|
||||||
changeInfo.getNonReceiverParameters()
|
changeInfo.getNonReceiverParameters()
|
||||||
.withIndex()
|
.withIndex()
|
||||||
.filter { it.value.isNewParameter }
|
.filter { it.value.TEMP_isNewParameter }
|
||||||
.forEach {
|
.forEach {
|
||||||
val parameterText = it.value.getDeclarationSignature(it.index, changeInfo.methodDescriptor.originalPrimaryCallable)
|
val parameterText = it.value.getDeclarationSignature(it.index, changeInfo.methodDescriptor.originalPrimaryCallable)
|
||||||
parameterList
|
parameterList
|
||||||
@@ -56,7 +56,7 @@ public class KotlinCallerCallUsage(element: JetCallElement): JetUsageInfo<JetCal
|
|||||||
val psiFactory = JetPsiFactory(getProject())
|
val psiFactory = JetPsiFactory(getProject())
|
||||||
val isNamedCall = argumentList.getArguments().any { it.getArgumentName() != null }
|
val isNamedCall = argumentList.getArguments().any { it.getArgumentName() != null }
|
||||||
changeInfo.getNonReceiverParameters()
|
changeInfo.getNonReceiverParameters()
|
||||||
.filter { it.isNewParameter }
|
.filter { it.TEMP_isNewParameter }
|
||||||
.forEach {
|
.forEach {
|
||||||
val parameterName = it.getName()
|
val parameterName = it.getName()
|
||||||
val argumentExpression = if (element.isInsideOfCallerBody(allUsages)) {
|
val argumentExpression = if (element.isInsideOfCallerBody(allUsages)) {
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ public abstract class Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private ModuleDescriptorImpl createModuleDescriptor(KotlinJavascriptMetadata metadata) {
|
private ModuleDescriptorImpl createModuleDescriptor(KotlinJavascriptMetadata metadata) {
|
||||||
assert metadata.getIsAbiVersionCompatible() :
|
assert metadata.getTEMP_isAbiVersionCompatible() :
|
||||||
"expected abi version " + KotlinJavascriptMetadataUtils.ABI_VERSION + ", but metadata.abiVersion = " + metadata.getAbiVersion();
|
"expected abi version " + KotlinJavascriptMetadataUtils.ABI_VERSION + ", but metadata.abiVersion = " + metadata.getAbiVersion();
|
||||||
|
|
||||||
ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(
|
ModuleDescriptorImpl moduleDescriptor = new ModuleDescriptorImpl(
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ public class LibrarySourcesConfig extends Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (KotlinJavascriptMetadata metadata : metadataList) {
|
for (KotlinJavascriptMetadata metadata : metadataList) {
|
||||||
if (!metadata.getIsAbiVersionCompatible()) {
|
if (!metadata.getTEMP_isAbiVersionCompatible()) {
|
||||||
report.invoke("File '" + path + "' was compiled with an incompatible version of Kotlin. Its ABI version is " + metadata.getAbiVersion() + ", expected ABI version is " + KotlinJavascriptMetadataUtils.ABI_VERSION);
|
report.invoke("File '" + path + "' was compiled with an incompatible version of Kotlin. Its ABI version is " + metadata.getAbiVersion() + ", expected ABI version is " + KotlinJavascriptMetadataUtils.ABI_VERSION);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -42,7 +42,7 @@ import static org.jetbrains.kotlin.js.translate.utils.BindingUtils.getFunctionDe
|
|||||||
import static org.jetbrains.kotlin.js.translate.utils.ErrorReportingUtils.message;
|
import static org.jetbrains.kotlin.js.translate.utils.ErrorReportingUtils.message;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.FunctionBodyTranslator.translateFunctionBody;
|
import static org.jetbrains.kotlin.js.translate.utils.FunctionBodyTranslator.translateFunctionBody;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.setParameters;
|
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.setParameters;
|
||||||
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getIsEffectivelyPublicApi;
|
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getTEMP_isEffectivelyPublicApi;
|
||||||
|
|
||||||
public final class FunctionTranslator extends AbstractTranslator {
|
public final class FunctionTranslator extends AbstractTranslator {
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -100,7 +100,7 @@ public final class FunctionTranslator extends AbstractTranslator {
|
|||||||
JsName functionName = context().getNameForDescriptor(descriptor);
|
JsName functionName = context().getNameForDescriptor(descriptor);
|
||||||
generateFunctionObject();
|
generateFunctionObject();
|
||||||
|
|
||||||
if (shouldBeInlined(descriptor) && getIsEffectivelyPublicApi(descriptor)) {
|
if (shouldBeInlined(descriptor) && getTEMP_isEffectivelyPublicApi(descriptor)) {
|
||||||
InlineMetadata metadata = InlineMetadata.compose(functionObject, descriptor);
|
InlineMetadata metadata = InlineMetadata.compose(functionObject, descriptor);
|
||||||
return new JsPropertyInitializer(functionName.makeRef(), metadata.getFunctionWithMetadata());
|
return new JsPropertyInitializer(functionName.makeRef(), metadata.getFunctionWithMetadata());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ public class ManglingUtils {
|
|||||||
DeclarationDescriptor containingDeclaration = descriptor.getContainingDeclaration();
|
DeclarationDescriptor containingDeclaration = descriptor.getContainingDeclaration();
|
||||||
|
|
||||||
if (containingDeclaration instanceof PackageFragmentDescriptor) {
|
if (containingDeclaration instanceof PackageFragmentDescriptor) {
|
||||||
return descriptor.getVisibility().getIsPublicAPI();
|
return descriptor.getVisibility().getTEMP_isPublicAPI();
|
||||||
}
|
}
|
||||||
else if (containingDeclaration instanceof ClassDescriptor) {
|
else if (containingDeclaration instanceof ClassDescriptor) {
|
||||||
ClassDescriptor classDescriptor = (ClassDescriptor) containingDeclaration;
|
ClassDescriptor classDescriptor = (ClassDescriptor) containingDeclaration;
|
||||||
@@ -98,7 +98,7 @@ public class ManglingUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Don't use stable mangling when it inside a non-public API declaration.
|
// Don't use stable mangling when it inside a non-public API declaration.
|
||||||
if (!classDescriptor.getVisibility().getIsPublicAPI()) {
|
if (!classDescriptor.getVisibility().getTEMP_isPublicAPI()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user