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:
Valentin Kipyatkov
2015-09-23 18:52:20 +03:00
parent 1941827780
commit 98da621ab3
49 changed files with 87 additions and 98 deletions
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.psi.JetFile
public class CodegenFileClassesProvider(private val packageFacadesAsMultifileClasses: Boolean) : JvmFileClassesProvider {
override public fun getFileClassInfo(file: JetFile): JvmFileClassInfo {
val fileClassInfo = JvmFileClassUtil.getFileClassInfoNoResolve(file)
if (packageFacadesAsMultifileClasses && !fileClassInfo.isMultifileClass) {
if (packageFacadesAsMultifileClasses && !fileClassInfo.TEMP_isMultifileClass) {
return JvmFileClassUtil.getMultifilePackageFacadePartInfo(file)
}
else {
@@ -71,12 +71,12 @@ public class KotlinCodegenFacade {
JvmFileClassInfo fileClassInfo = state.getFileClassesProvider().getFileClassInfo(file);
if (fileClassInfo.getIsMultifileClass()) {
if (fileClassInfo.getTEMP_isMultifileClass()) {
filesInMultifileClasses.putValue(fileClassInfo.getFacadeClassFqName(), file);
}
if (state.getPackageFacadesAsMultifileClasses()) {
if (!fileClassInfo.getIsMultifileClass()) {
if (!fileClassInfo.getTEMP_isMultifileClass()) {
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) {
JvmFileClassInfo fileClassInfo = state.getFileClassesProvider().getFileClassInfo(file);
if (fileClassInfo.getIsMultifileClass()) {
if (fileClassInfo.getTEMP_isMultifileClass()) {
Type fileFacadeType = AsmUtil.asmTypeByFqNameWithoutInnerClasses(fileClassInfo.getFacadeClassFqName());
addDelegateToFileClassMemberTasks(file, generateCallableMemberTasks, fileFacadeType);
return null;
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.codegen.inline
import com.google.common.collect.LinkedListMultimap
import java.util.ArrayList
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.tree.*
import java.util.Comparator
@@ -157,7 +157,7 @@ class IntervalMetaInfo<T : SplittableInterval<T>> {
private fun Interval.isMeaningless(): Boolean {
val start = this.startLabel
var end: AbstractInsnNode = this.endLabel
while (end != start && !end.isMeaningful) {
while (end != start && !end.TEMP_isMeaningful) {
end = end.getPrevious()
}
return start == end
@@ -522,7 +522,7 @@ public class InternalFinallyBlockInliner extends CoveringTryCatchNodeProcessor {
@Nullable
private static AbstractInsnNode getNextMeaningful(@NotNull AbstractInsnNode node) {
AbstractInsnNode result = node.getNext();
while (result != null && !CommonPackage.getIsMeaningful(result)) {
while (result != null && !CommonPackage.getTEMP_isMeaningful(result)) {
result = result.getNext();
}
return result;
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.codegen.optimization
import org.jetbrains.org.objectweb.asm.tree.MethodNode
import org.jetbrains.kotlin.codegen.optimization.transformer.MethodTransformer
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() {
override fun transform(internalClassName: String, methodNode: MethodNode) {
@@ -31,7 +31,7 @@ public class DeadCodeEliminationMethodTransformer : MethodTransformer() {
// by try/catch blocks or local variables table
// We remove unneeded ones further after all optimizations by calling CommonPackage.prepareForEmitting(methodNode)
insnsArray.zip(frames).filter {
it.second == null && it.first.isMeaningful
it.second == null && it.first.TEMP_isMeaningful
}.forEach { insnList.remove(it.first) }
}
}
@@ -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.Opcodes
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() {
/**
@@ -34,7 +34,7 @@ public class RedundantGotoMethodTransformer : MethodTransformer() {
val currentLabels = hashSetOf<LabelNode>()
for (insn in insns.reverse()) {
if (insn.isMeaningful) {
if (insn.TEMP_isMeaningful) {
if (insn.getOpcode() == Opcodes.GOTO && (insn as JumpInsnNode).label in currentLabels) {
insnsToRemove.add(insn)
}
@@ -17,14 +17,11 @@
package org.jetbrains.kotlin.codegen.optimization.common
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.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.analysis.BasicValue
val AbstractInsnNode.isMeaningful : Boolean get() =
val AbstractInsnNode.TEMP_isMeaningful: Boolean get() =
when (this.getType()) {
AbstractInsnNode.LABEL, AbstractInsnNode.LINE, AbstractInsnNode.FRAME -> false
else -> true
@@ -49,21 +46,21 @@ public class InsnSequence(val from: AbstractInsnNode, val to: AbstractInsnNode?)
fun MethodNode.prepareForEmitting() {
tryCatchBlocks = tryCatchBlocks.filter { tcb ->
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
localVariables = localVariables.filter { lv ->
InsnSequence(lv.start, lv.end).any { insn ->
insn.isMeaningful
insn.TEMP_isMeaningful
}
}
// We should remove linenumbers after last meaningful instruction
// because they point to index of non-existing instruction and it leads to VerifyError
var current = instructions.getLast()
while (!current.isMeaningful) {
while (!current.TEMP_isMeaningful) {
val prev = current.getPrevious()
if (current.getType() == AbstractInsnNode.LINE) {
@@ -363,7 +363,7 @@ public class ReplInterpreter {
private void setReplScriptExecuting(boolean isExecuting) {
if (replReader != null) {
replReader.setIsReplScriptExecuting(isExecuting);
replReader.setTEMP_isReplScriptExecuting(isExecuting);
}
}
@@ -33,11 +33,11 @@ public class ReplSystemInWrapper(
private val isAtBufferEnd: Boolean
get() = curBytePos == inputByteArray.size()
@Volatile var isReplScriptExecuting = false
@Volatile var TEMP_isReplScriptExecuting = false
override fun read(): Int {
if (isLastByteProcessed) {
if (isReplScriptExecuting) {
if (TEMP_isReplScriptExecuting) {
isReadLineStartSent = false
replWriter.printlnReadLineEnd()
}
@@ -47,7 +47,7 @@ public class ReplSystemInWrapper(
}
while (isXmlIncomplete) {
if (!isReadLineStartSent && isReplScriptExecuting) {
if (!isReadLineStartSent && TEMP_isReplScriptExecuting) {
replWriter.printlnReadLineStart()
isReadLineStartSent = true
}
@@ -71,7 +71,7 @@ public class ReplSystemInWrapper(
val xmlInput = byteBuilder.toString()
val unescapedXml = parseXml(xmlInput)
val resultLine = if (isReplScriptExecuting)
val resultLine = if (TEMP_isReplScriptExecuting)
unescapeLineBreaks(unescapedXml)
else
unescapedXml
@@ -17,13 +17,12 @@
package org.jetbrains.kotlin.fileClasses
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.JetFile
public interface JvmFileClassInfo {
public val fileClassFqName: FqName
public val facadeClassFqName: FqName
public val isWithJvmName: Boolean
public val isMultifileClass: Boolean
public val TEMP_isMultifileClass: Boolean
}
public class JvmSimpleFileClassInfo(
@@ -31,7 +30,7 @@ public class JvmSimpleFileClassInfo(
override val isWithJvmName: Boolean
) : JvmFileClassInfo {
override val facadeClassFqName: FqName get() = fileClassFqName
override val isMultifileClass: Boolean get() = false
override val TEMP_isMultifileClass: Boolean get() = false
}
public class JvmMultifileClassPartInfo(
@@ -39,6 +38,6 @@ public class JvmMultifileClassPartInfo(
override val facadeClassFqName: FqName
) : JvmFileClassInfo {
override val isWithJvmName: Boolean get() = true
override val isMultifileClass: Boolean get() = true
override val TEMP_isMultifileClass: Boolean get() = true
}
@@ -273,7 +273,7 @@ public class OverloadsAnnotationChecker: DeclarationChecker {
if (descriptor is FunctionDescriptor && descriptor.getModality() == Modality.ABSTRACT) {
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)) {
diagnosticHolder.report(ErrorsJvm.OVERLOADS_PRIVATE.on(declaration))
}
@@ -34,7 +34,7 @@ fun syntheticExtensionVisibility(originalDescriptor: DeclarationDescriptorWithVi
return when (originalVisibility) {
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)
= originalVisibility.isVisible(receiver, originalDescriptor, from)
@@ -50,7 +50,7 @@ public class TailRecursionDetector extends InstructionVisitorWithResult<Boolean>
@Override
public Boolean visitSubroutineExit(@NotNull SubroutineExitInstruction instruction) {
return !instruction.getIsError() && instruction.getSubroutine() == subroutine;
return !instruction.getTEMP_isError() && instruction.getSubroutine() == subroutine;
}
@Override
@@ -16,18 +16,14 @@
package org.jetbrains.kotlin.cfg.pseudocode.instructions.special
import org.jetbrains.kotlin.cfg.pseudocode.instructions.*
import org.jetbrains.kotlin.psi.JetElement
import java.util.Collections
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
import java.util.*
public class SubroutineExitInstruction(
public val subroutine: JetElement,
lexicalScope: LexicalScope,
public val isError: Boolean
public val TEMP_isError: Boolean
) : InstructionImpl(lexicalScope) {
private var _sink: SubroutineSinkInstruction? = null
@@ -48,8 +44,8 @@ public class SubroutineExitInstruction(
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 =
SubroutineExitInstruction(subroutine, lexicalScope, isError)
SubroutineExitInstruction(subroutine, lexicalScope, TEMP_isError)
}
@@ -110,7 +110,7 @@ public class BodyResolver {
// SCRIPT: resolve script bodies
scriptBodyResolverResolver.resolveScriptBodies(c);
if (!c.getTopDownAnalysisMode().getIsLocalDeclarations()) {
if (!c.getTopDownAnalysisMode().getTEMP_isLocalDeclarations()) {
computeDeferredTypes();
}
}
@@ -732,7 +732,7 @@ public class BodyResolver {
LexicalScope scope = c.getDeclaringScope(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) {
bodyResolveCache.resolveFunctionBody(declaration).addOwnDataTo(trace, true);
}
@@ -74,7 +74,7 @@ public class ControlFlowAnalyzer {
// A pseudocode of class/object initialization corresponds to a class/object
// or initialization of properties corresponds to a package declared in a file
JetFlowInformationProvider flowInformationProvider = new JetFlowInformationProvider((JetElement) declarationContainer, trace);
if (c.getTopDownAnalysisMode().getIsLocalDeclarations()) {
if (c.getTopDownAnalysisMode().getTEMP_isLocalDeclarations()) {
flowInformationProvider.checkForLocalClassOrObjectMode();
return;
}
@@ -95,7 +95,7 @@ public class ControlFlowAnalyzer {
private void checkFunction(@NotNull BodiesResolveContext c, @NotNull JetDeclarationWithBody function, @Nullable JetType expectedReturnType) {
if (!function.hasBody()) return;
JetFlowInformationProvider flowInformationProvider = new JetFlowInformationProvider(function, trace);
if (c.getTopDownAnalysisMode().getIsLocalDeclarations()) {
if (c.getTopDownAnalysisMode().getTEMP_isLocalDeclarations()) {
flowInformationProvider.checkForLocalClassOrObjectMode();
return;
}
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.resolve
public enum class TopDownAnalysisMode(public val isLocalDeclarations: Boolean) {
public enum class TopDownAnalysisMode(public val TEMP_isLocalDeclarations: Boolean) {
LocalDeclarations(true),
TopLevelDeclarations(false)
}
@@ -21,7 +21,6 @@ import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.*;
@@ -386,7 +385,7 @@ public class CallExpressionResolver {
}
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);
}
@@ -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.ExtensionReceiver;
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
import org.jetbrains.kotlin.types.JetType;
import org.jetbrains.kotlin.types.expressions.OperatorConventions;
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.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.checkNonLocalReturnUsage;
@@ -56,7 +55,7 @@ class InlineChecker implements CallChecker {
public InlineChecker(@NotNull SimpleFunctionDescriptor descriptor) {
assert InlineUtil.isInline(descriptor) : "This extension should be created only for inline functions: " + descriptor;
this.descriptor = descriptor;
this.isEffectivelyPublicApiFunction = getIsEffectivelyPublicApi(descriptor);
this.isEffectivelyPublicApiFunction = getTEMP_isEffectivelyPublicApi(descriptor);
for (ValueParameterDescriptor param : descriptor.getValueParameters()) {
if (isInlinableParameter(param)) {
@@ -237,7 +236,7 @@ class InlineChecker implements CallChecker {
}
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) {
context.trace.report(Errors.INVISIBLE_MEMBER_FROM_INLINE.on(expression, declarationDescriptor, descriptor));
}
@@ -443,7 +443,7 @@ private class ConstantExpressionEvaluatorVisitor(
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? {
val functions = unaryOperations[UnaryOperationKey(receiver.ctcType, name)]
@@ -220,7 +220,7 @@ public class KotlinJavaFileStubProvider<T extends WithFileStubAndExtraDiagnostic
if (!files.isEmpty()) {
JetFile representativeFile = files.iterator().next();
JvmFileClassInfo fileClassInfo = NoResolveFileClassesProvider.INSTANCE$.getFileClassInfo(representativeFile);
if (!fileClassInfo.getIsMultifileClass()) {
if (!fileClassInfo.getTEMP_isMultifileClass()) {
PackageCodegen codegen = state.getFactory().forPackage(representativeFile.getPackageFqName(), files);
codegen.generate(CompilationErrorHandler.THROW_EXCEPTION);
state.getFactory().asList();
@@ -52,7 +52,7 @@ public abstract class AbstractEvaluateExpressionTest : AbstractAnnotationDescrip
fun doIsPureTest(path: String) {
doTest(path) {
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
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 {