Drop package facades: code cleanup in Kotlin project.

This commit is contained in:
Dmitry Petrov
2015-10-13 14:50:49 +03:00
parent 57869d85e8
commit 8cd624a58a
301 changed files with 1285 additions and 1362 deletions
@@ -16,20 +16,17 @@
package org.jetbrains.kotlin.js.analyze;
import com.google.common.collect.ImmutableList;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.context.ContextPackage;
import org.jetbrains.kotlin.context.ContextKt;
import org.jetbrains.kotlin.context.ModuleContext;
import org.jetbrains.kotlin.context.MutableModuleContext;
import org.jetbrains.kotlin.descriptors.ModuleParameters;
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
import org.jetbrains.kotlin.frontend.js.di.DiPackage;
import org.jetbrains.kotlin.frontend.js.di.InjectionKt;
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
import org.jetbrains.kotlin.js.config.Config;
import org.jetbrains.kotlin.js.resolve.JsPlatform;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap;
import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.resolve.*;
import org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory;
@@ -50,7 +47,7 @@ public final class TopDownAnalyzerFacadeForJS {
) {
BindingTrace trace = new BindingTraceContext();
MutableModuleContext newModuleContext = ContextPackage.ContextForNewModule(
MutableModuleContext newModuleContext = ContextKt.ContextForNewModule(
config.getProject(), Name.special("<" + config.getModuleId() + ">"), JsPlatform.INSTANCE$
);
newModuleContext.setDependencies(computeDependencies(newModuleContext.getModule(), config));
@@ -75,7 +72,7 @@ public final class TopDownAnalyzerFacadeForJS {
) {
Collection<JetFile> allFiles = Config.withJsLibAdded(files, config);
LazyTopDownAnalyzerForTopLevel analyzerForJs = DiPackage.createTopDownAnalyzerForJs(
LazyTopDownAnalyzerForTopLevel analyzerForJs = InjectionKt.createTopDownAnalyzerForJs(
moduleContext, trace,
new FileBasedDeclarationProviderFactory(moduleContext.getStorageManager(), allFiles)
);
@@ -20,6 +20,7 @@ import com.google.common.collect.Lists;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.idea.KotlinLanguage;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
@@ -28,9 +29,6 @@ import org.jetbrains.kotlin.resolve.OverrideResolver;
import java.util.Arrays;
import java.util.List;
import static org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage.getNameIfStandardType;
import static org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage.getJetTypeFqName;
public final class PatternBuilder {
@NotNull
@@ -162,7 +160,7 @@ public final class PatternBuilder {
}
for (int i = 0; i < valueParameterDescriptors.size(); i++) {
ValueParameterDescriptor valueParameterDescriptor = valueParameterDescriptors.get(i);
Name name = getNameIfStandardType(valueParameterDescriptor.getType());
Name name = DescriptorUtilsKt.getNameIfStandardType(valueParameterDescriptor.getType());
NamePredicate namePredicate = argumentCheckers.get(i);
if (!namePredicate.apply(name)) return false;
}
@@ -242,7 +240,7 @@ public final class PatternBuilder {
if (actualReceiver != null) {
if (receiverFqName == null) return false;
String actualReceiverFqName = getJetTypeFqName(actualReceiver.getType(), false);
String actualReceiverFqName = DescriptorUtilsKt.getJetTypeFqName(actualReceiver.getType(), false);
if (!actualReceiverFqName.equals(receiverFqName)) return false;
}
@@ -25,10 +25,12 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.CallableDescriptor;
import org.jetbrains.kotlin.diagnostics.DiagnosticSink;
import org.jetbrains.kotlin.diagnostics.Errors;
import org.jetbrains.kotlin.js.inline.clean.RemoveUnusedFunctionDefinitionsKt;
import org.jetbrains.kotlin.js.inline.clean.RemoveUnusedLocalFunctionDeclarationsKt;
import org.jetbrains.kotlin.js.inline.context.FunctionContext;
import org.jetbrains.kotlin.js.inline.context.InliningContext;
import org.jetbrains.kotlin.js.inline.context.NamingContext;
import org.jetbrains.kotlin.js.inline.util.ExpressionDecomposer;
import org.jetbrains.kotlin.js.inline.util.*;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.resolve.inline.InlineStrategy;
@@ -36,17 +38,14 @@ import java.util.*;
import static org.jetbrains.kotlin.js.inline.FunctionInlineMutator.canBeExpression;
import static org.jetbrains.kotlin.js.inline.FunctionInlineMutator.getInlineableCallReplacement;
import static org.jetbrains.kotlin.js.inline.clean.CleanPackage.removeUnusedFunctionDefinitions;
import static org.jetbrains.kotlin.js.inline.clean.CleanPackage.removeUnusedLocalFunctionDeclarations;
import static org.jetbrains.kotlin.js.inline.util.UtilPackage.*;
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.flattenStatement;
public class JsInliner extends JsVisitorWithContextImpl {
private final IdentityHashMap<JsName, JsFunction> functions;
private final Stack<JsInliningContext> inliningContexts = new Stack<JsInliningContext>();
private final Set<JsFunction> processedFunctions = IdentitySet();
private final Set<JsFunction> inProcessFunctions = IdentitySet();
private final Set<JsFunction> processedFunctions = CollectionUtilsKt.IdentitySet();
private final Set<JsFunction> inProcessFunctions = CollectionUtilsKt.IdentitySet();
private final FunctionReader functionReader;
private final DiagnosticSink trace;
@@ -71,10 +70,10 @@ public class JsInliner extends JsVisitorWithContextImpl {
public static JsProgram process(@NotNull TranslationContext context) {
JsProgram program = context.program();
IdentityHashMap<JsName, JsFunction> functions = collectNamedFunctions(program);
IdentityHashMap<JsName, JsFunction> functions = CollectUtilsKt.collectNamedFunctions(program);
JsInliner inliner = new JsInliner(functions, new FunctionReader(context), context.bindingTrace());
inliner.accept(program);
removeUnusedFunctionDefinitions(program, functions);
RemoveUnusedFunctionDefinitionsKt.removeUnusedFunctionDefinitions(program, functions);
return program;
}
@@ -104,9 +103,9 @@ public class JsInliner extends JsVisitorWithContextImpl {
@Override
public void endVisit(@NotNull JsFunction function, @NotNull JsContext context) {
super.endVisit(function, context);
refreshLabelNames(getInliningContext().newNamingContext(), function);
NamingUtilsKt.refreshLabelNames(getInliningContext().newNamingContext(), function);
removeUnusedLocalFunctionDeclarations(function);
RemoveUnusedLocalFunctionDeclarationsKt.removeUnusedLocalFunctionDeclarations(function);
processedFunctions.add(function);
assert inProcessFunctions.contains(function);
@@ -206,7 +205,7 @@ public class JsInliner extends JsVisitorWithContextImpl {
if (currentStatement instanceof JsExpressionStatement &&
((JsExpressionStatement) currentStatement).getExpression() == call &&
(resultExpression == null || !canHaveSideEffect(resultExpression))
(resultExpression == null || !SideEffectUtilsKt.canHaveSideEffect(resultExpression))
) {
statementContext.removeMe();
}
@@ -29,7 +29,7 @@ import com.intellij.psi.PsiManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.backend.common.output.OutputFileCollection;
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsPackage;
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt;
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.config.CompilerConfiguration;
@@ -200,7 +200,7 @@ public abstract class BasicTest extends KotlinTestWithEnvironment {
OutputFileCollection outputFiles = successResult.getOutputFiles(outputFile, getOutputPrefixFile(), getOutputPostfixFile());
File outputDir = outputFile.getParentFile();
assert outputDir != null : "Parent file for output file should not be null, outputFilePath: " + outputFile.getPath();
OutputUtilsPackage.writeAllTo(outputFiles, outputDir);
OutputUtilsKt.writeAllTo(outputFiles, outputDir);
processJsProgram(successResult.getProgram(), jetFiles);
}
@@ -23,6 +23,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.js.config.EcmaVersion;
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
import org.mozilla.javascript.*;
import java.io.File;
@@ -35,7 +36,6 @@ import java.util.Set;
import static org.jetbrains.kotlin.js.config.LibrarySourcesConfig.*;
import static org.jetbrains.kotlin.js.test.BasicTest.DIST_DIR_PATH;
import static org.jetbrains.kotlin.js.test.BasicTest.TEST_DATA_DIR_PATH;
import static org.jetbrains.kotlin.utils.UtilsPackage.rethrow;
public final class RhinoUtils {
private static final String KOTLIN_JS_LIB_ECMA_5 = TEST_DATA_DIR_PATH + "kotlin_lib_ecma5.js";
@@ -204,7 +204,7 @@ public final class RhinoUtils {
}
}
catch (Exception e) {
throw rethrow(e);
throw ExceptionUtilsKt.rethrow(e);
}
//scope.sealObject();
return scope;
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils;
import org.jetbrains.kotlin.psi.JetClassOrObject;
import org.jetbrains.kotlin.psi.JetParameter;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import java.util.ArrayList;
import java.util.List;
@@ -64,7 +64,7 @@ class JsDataClassGenerator extends DataClassMethodGenerator {
JsExpression argumentValue;
JsExpression parameterValue = new JsNameRef(paramName);
if (!constructorParam.hasValOrVar()) {
assert !DescriptorUtilPackage.hasDefaultValue(function.getValueParameters().get(i));
assert !DescriptorUtilsKt.hasDefaultValue(function.getValueParameters().get(i));
// Caller cannot rely on default value and pass undefined here.
argumentValue = parameterValue;
}
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.js.translate.expression;
import com.google.dart.compiler.backend.js.ast.*;
import com.google.dart.compiler.backend.js.ast.metadata.MetadataProperties;
import com.google.dart.compiler.backend.js.ast.metadata.MetadataProperty;
import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -40,7 +39,7 @@ import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.BindingContextUtils;
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilPackage;
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt;
import org.jetbrains.kotlin.resolve.constants.CompileTimeConstant;
import org.jetbrains.kotlin.resolve.constants.ConstantValue;
import org.jetbrains.kotlin.resolve.constants.NullValue;
@@ -213,7 +212,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
return testExpression;
}
boolean isKotlinExpression = BindingContextUtilPackage.isUsedAsExpression(expression, context.bindingContext());
boolean isKotlinExpression = BindingContextUtilsKt.isUsedAsExpression(expression, context.bindingContext());
JetExpression thenExpression = expression.getThen();
JetExpression elseExpression = expression.getElse();
@@ -297,7 +296,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
JetExpression baseExpression = expression.getBaseExpression();
assert baseExpression != null;
if (BindingContextUtilPackage.isUsedAsExpression(expression, context.bindingContext())) {
if (BindingContextUtilsKt.isUsedAsExpression(expression, context.bindingContext())) {
return Translation.translateAsExpression(baseExpression, context).source(expression);
}
@@ -425,7 +424,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
MetadataProperties.setStaticRef(name, alias);
}
boolean isExpression = BindingContextUtilPackage.isUsedAsExpression(expression, context.bindingContext());
boolean isExpression = BindingContextUtilsKt.isUsedAsExpression(expression, context.bindingContext());
JsNode result = isExpression ? alias : JsAstUtils.newVar(name, alias);
return result.source(expression);
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.js.translate.utils.TranslationUtils;
import org.jetbrains.kotlin.psi.JetDeclarationWithBody;
import org.jetbrains.kotlin.psi.JetFunctionLiteralExpression;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import java.util.HashMap;
import java.util.List;
@@ -41,7 +41,6 @@ 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.FunctionBodyTranslator.translateFunctionBody;
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.setParameters;
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.isEffectivelyPublicApi;
public final class FunctionTranslator extends AbstractTranslator {
@NotNull
@@ -99,7 +98,7 @@ public final class FunctionTranslator extends AbstractTranslator {
JsName functionName = context().getNameForDescriptor(descriptor);
generateFunctionObject();
if (shouldBeInlined(descriptor) && isEffectivelyPublicApi(descriptor)) {
if (shouldBeInlined(descriptor) && DescriptorUtilsKt.isEffectivelyPublicApi(descriptor)) {
InlineMetadata metadata = InlineMetadata.compose(functionObject, descriptor);
return new JsPropertyInitializer(functionName.makeRef(), metadata.getFunctionWithMetadata());
}
@@ -148,7 +147,7 @@ public final class FunctionTranslator extends AbstractTranslator {
public static void addParameters(List<JsParameter> list, FunctionDescriptor descriptor, TranslationContext context) {
for (ValueParameterDescriptor valueParameter : descriptor.getValueParameters()) {
JsParameter jsParameter = new JsParameter(context.getNameForDescriptor(valueParameter));
MetadataProperties.setHasDefaultValue(jsParameter, DescriptorUtilPackage.hasDefaultValue(valueParameter));
MetadataProperties.setHasDefaultValue(jsParameter, DescriptorUtilsKt.hasDefaultValue(valueParameter));
list.add(jsParameter);
}
}
@@ -20,6 +20,7 @@ import com.google.dart.compiler.backend.js.ast.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt;
import org.jetbrains.kotlin.js.translate.context.Namer;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.js.translate.general.AbstractTranslator;
@@ -36,7 +37,6 @@ import org.jetbrains.kotlin.types.JetType;
import static org.jetbrains.kotlin.js.translate.utils.BindingUtils.getTypeByReference;
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.*;
import static org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage.getNameIfStandardType;
public final class PatternTranslator extends AbstractTranslator {
@@ -95,7 +95,7 @@ public final class PatternTranslator extends AbstractTranslator {
@Nullable
private JsExpression getIsTypeCheckCallableForBuiltin(@NotNull JetType type) {
Name typeName = getNameIfStandardType(type);
Name typeName = DescriptorUtilsKt.getNameIfStandardType(type);
if (NamePredicate.STRING.apply(typeName)) {
return namer().isTypeOf(program().getStringLiteral("string"));
@@ -22,6 +22,7 @@ import com.google.dart.compiler.backend.js.ast.JsNameRef;
import com.google.dart.compiler.backend.js.ast.JsNumberLiteral;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt;
import org.jetbrains.kotlin.js.patterns.NamePredicate;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.js.translate.general.AbstractTranslator;
@@ -29,14 +30,12 @@ import org.jetbrains.kotlin.js.translate.general.Translation;
import org.jetbrains.kotlin.js.translate.intrinsic.functions.factories.TopLevelFIF;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.types.JetType;
import java.util.Collections;
import static org.jetbrains.kotlin.js.translate.utils.ErrorReportingUtils.message;
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.sum;
import static org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage.getNameIfStandardType;
public final class StringTemplateTranslator extends AbstractTranslator {
private final JetStringTemplateEntry[] expressionEntries;
@@ -102,7 +101,7 @@ public final class StringTemplateTranslator extends AbstractTranslator {
}
private boolean mustCallToString(@NotNull JetType type) {
Name typeName = getNameIfStandardType(type);
Name typeName = DescriptorUtilsKt.getNameIfStandardType(type);
if (typeName != null) {
//TODO: this is a hacky optimization, should use some generic approach
if (NamePredicate.STRING.apply(typeName)) {
@@ -47,9 +47,8 @@ import org.jetbrains.kotlin.psi.JetDeclarationWithBody;
import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetNamedFunction;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.BindingTrace;
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilPackage;
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt;
import java.util.Collection;
import java.util.Collections;
@@ -97,7 +96,7 @@ public final class Translation {
context.moveVarsFrom(innerContext);
block.getStatements().addAll(innerContext.dynamicContext().jsBlock().getStatements());
if (BindingContextUtilPackage.isUnreachableCode(expression, context.bindingContext())) {
if (BindingContextUtilsKt.isUnreachableCode(expression, context.bindingContext())) {
return context.getEmptyExpression();
}
@@ -127,7 +126,7 @@ public final class Translation {
}
assert jsNode instanceof JsStatement : "Unexpected node of type: " + jsNode.getClass().toString();
if (BindingContextUtilPackage.isUsedAsExpression(expression, context.bindingContext())) {
if (BindingContextUtilsKt.isUsedAsExpression(expression, context.bindingContext())) {
TemporaryVariable result = context.declareTemporary(null);
AssignToExpressionMutator saveResultToTemporaryMutator = new AssignToExpressionMutator(result.reference());
block.getStatements().add(mutateLastExpression(jsNode, saveResultToTemporaryMutator));
@@ -27,9 +27,10 @@ import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.js.translate.declaration.DelegationTranslator;
import org.jetbrains.kotlin.js.translate.general.AbstractTranslator;
import org.jetbrains.kotlin.js.translate.reference.CallArgumentTranslator;
import org.jetbrains.kotlin.js.translate.utils.jsAstUtils.AstUtilsKt;
import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.types.JetType;
@@ -40,7 +41,6 @@ import java.util.List;
import static org.jetbrains.kotlin.js.translate.utils.BindingUtils.*;
import static org.jetbrains.kotlin.js.translate.utils.FunctionBodyTranslator.setDefaultValueForArguments;
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.getPrimaryConstructorParameters;
import static org.jetbrains.kotlin.js.translate.utils.jsAstUtils.JsAstUtilsPackage.toInvocationWith;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.getClassDescriptorForType;
public final class ClassInitializerTranslator extends AbstractTranslator {
@@ -137,7 +137,7 @@ public final class ClassInitializerTranslator extends AbstractTranslator {
if (classDeclaration instanceof JetEnumEntry) {
JsExpression expression = CallTranslator.translate(context(), superCall, null);
JsExpression fixedInvocation = toInvocationWith(expression, JsLiteral.THIS);
JsExpression fixedInvocation = AstUtilsKt.toInvocationWith(expression, JsLiteral.THIS);
initializerStatements.add(0, fixedInvocation.makeStmt());
}
else {
@@ -162,7 +162,7 @@ public final class ClassInitializerTranslator extends AbstractTranslator {
if (specifier instanceof JetDelegatorToSuperCall) {
JetDelegatorToSuperCall superCall = (JetDelegatorToSuperCall) specifier;
//noinspection unchecked
return (ResolvedCall<FunctionDescriptor>) CallUtilPackage.getResolvedCallWithAssert(superCall, bindingContext());
return (ResolvedCall<FunctionDescriptor>) CallUtilKt.getResolvedCallWithAssert(superCall, bindingContext());
}
}
return null;
@@ -22,6 +22,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.PrimitiveType;
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
import org.jetbrains.kotlin.descriptors.PropertyDescriptor;
import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt;
import org.jetbrains.kotlin.js.patterns.DescriptorPredicate;
import org.jetbrains.kotlin.js.patterns.NamePredicate;
import org.jetbrains.kotlin.js.resolve.JsPlatform;
@@ -42,7 +43,6 @@ import org.jetbrains.kotlin.types.JetType;
import java.util.List;
import static org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage.getNameIfStandardType;
import static org.jetbrains.kotlin.js.patterns.PatternBuilder.pattern;
import static org.jetbrains.kotlin.js.translate.intrinsic.functions.basic.FunctionIntrinsic.CallParametersAwareFunctionIntrinsic;
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getStableMangledNameForDescriptor;
@@ -221,7 +221,7 @@ public final class TopLevelFIF extends CompositeFIF {
@NotNull TranslationContext context
) {
JetType keyType = callInfo.getResolvedCall().getTypeArguments().values().iterator().next();
Name keyTypeName = getNameIfStandardType(keyType);
Name keyTypeName = DescriptorUtilsKt.getNameIfStandardType(keyType);
String collectionClassName = null;
if (keyTypeName != null) {
if (NamePredicate.PRIMITIVE_NUMBERS.apply(keyTypeName)) {
@@ -34,7 +34,8 @@ import org.jetbrains.kotlin.lexer.JetToken;
import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.JetBinaryExpression;
import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilPackage;
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.types.JetType;
import org.jetbrains.kotlin.types.TypeUtils;
@@ -47,7 +48,6 @@ import static org.jetbrains.kotlin.js.translate.operation.CompareToTranslator.is
import static org.jetbrains.kotlin.js.translate.utils.BindingUtils.getCallableDescriptorForOperationExpression;
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.not;
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.*;
import static org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage.getFunctionResolvedCallWithAssert;
public final class BinaryOperationTranslator extends AbstractTranslator {
@@ -137,7 +137,7 @@ public final class BinaryOperationTranslator extends AbstractTranslator {
JsExpression result;
JsIf ifStatement;
if (BindingContextUtilPackage.isUsedAsExpression(expression, context().bindingContext())) {
if (BindingContextUtilsKt.isUsedAsExpression(expression, context().bindingContext())) {
if (TranslationUtils.isCacheNeeded(leftExpression)) {
TemporaryVariable resultVar = context().declareTemporary(leftExpression);
result = resultVar.reference();
@@ -229,7 +229,7 @@ public final class BinaryOperationTranslator extends AbstractTranslator {
JsIf ifStatement;
JsExpression result;
if (BindingContextUtilPackage.isUsedAsExpression(expression, context().bindingContext())) {
if (BindingContextUtilsKt.isUsedAsExpression(expression, context().bindingContext())) {
if (!JsAstUtils.isEmptyExpression(rightExpression)) {
if (rightExpression instanceof JsNameRef) {
result = rightExpression; // Reuse tmp variable
@@ -279,7 +279,7 @@ public final class BinaryOperationTranslator extends AbstractTranslator {
@NotNull
private JsExpression translateAsOverloadedBinaryOperation() {
ResolvedCall<? extends FunctionDescriptor> resolvedCall = getFunctionResolvedCallWithAssert(expression, bindingContext());
ResolvedCall<? extends FunctionDescriptor> resolvedCall = CallUtilKt.getFunctionResolvedCallWithAssert(expression, bindingContext());
JsExpression result = CallTranslator.translate(context(), resolvedCall, getReceiver());
return mayBeWrapWithNegation(result);
}
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.js.translate.general.AbstractTranslator;
import org.jetbrains.kotlin.js.translate.reference.CachedAccessTranslator;
import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.psi.JetUnaryExpression;
import org.jetbrains.kotlin.resolve.calls.tasks.TasksPackage;
import org.jetbrains.kotlin.resolve.calls.tasks.DynamicCallsKt;
import org.jetbrains.kotlin.types.expressions.OperatorConventions;
import java.util.List;
@@ -128,6 +128,6 @@ public abstract class IncrementTranslator extends AbstractTranslator {
private static boolean isDynamic(TranslationContext context, JetUnaryExpression expression) {
CallableDescriptor operationDescriptor = getCallableDescriptorForOperationExpression(context.bindingContext(), expression);
return TasksPackage.isDynamic(operationDescriptor);
return DynamicCallsKt.isDynamic(operationDescriptor);
}
}
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
import org.jetbrains.kotlin.js.translate.callTranslator.CallTranslator;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.psi.JetBinaryExpression;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
public final class OverloadedAssignmentTranslator extends AssignmentTranslator {
@@ -39,7 +39,7 @@ public final class OverloadedAssignmentTranslator extends AssignmentTranslator {
private OverloadedAssignmentTranslator(@NotNull JetBinaryExpression expression,
@NotNull TranslationContext context) {
super(expression, context);
resolvedCall = CallUtilPackage.getFunctionResolvedCallWithAssert(expression, context.bindingContext());
resolvedCall = CallUtilKt.getFunctionResolvedCallWithAssert(expression, context.bindingContext());
}
@NotNull
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
import org.jetbrains.kotlin.js.translate.callTranslator.CallTranslator;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.psi.JetUnaryExpression;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
public final class OverloadedIncrementTranslator extends IncrementTranslator {
@@ -35,7 +35,7 @@ public final class OverloadedIncrementTranslator extends IncrementTranslator {
@NotNull TranslationContext context
) {
super(expression, context);
this.resolvedCall = CallUtilPackage.getFunctionResolvedCallWithAssert(expression, context.bindingContext());
this.resolvedCall = CallUtilKt.getFunctionResolvedCallWithAssert(expression, context.bindingContext());
}
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.psi.JetConstantExpression;
import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.psi.JetUnaryExpression;
import org.jetbrains.kotlin.resolve.BindingContextUtils;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.resolve.constants.CompileTimeConstant;
import org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator;
@@ -41,7 +42,6 @@ import static org.jetbrains.kotlin.js.translate.utils.ErrorReportingUtils.messag
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.getBaseExpression;
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.getOperationToken;
import static org.jetbrains.kotlin.js.translate.utils.TranslationUtils.*;
import static org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage.getFunctionResolvedCallWithAssert;
public final class UnaryOperationTranslator {
private UnaryOperationTranslator() {
@@ -81,7 +81,7 @@ public final class UnaryOperationTranslator {
return translateExclForBinaryEqualLikeExpr((JsBinaryOperation) baseExpression);
}
ResolvedCall<? extends FunctionDescriptor> resolvedCall = getFunctionResolvedCallWithAssert(expression, context.bindingContext());
ResolvedCall<? extends FunctionDescriptor> resolvedCall = CallUtilKt.getFunctionResolvedCallWithAssert(expression, context.bindingContext());
return CallTranslator.translate(context, resolvedCall, baseExpression);
}
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.js.translate.general.AbstractTranslator;
import org.jetbrains.kotlin.psi.JetCallExpression;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
public abstract class AbstractCallExpressionTranslator extends AbstractTranslator {
@@ -42,7 +42,7 @@ public abstract class AbstractCallExpressionTranslator extends AbstractTranslato
) {
super(context);
this.expression = expression;
this.resolvedCall = CallUtilPackage.getFunctionResolvedCallWithAssert(expression, bindingContext());
this.resolvedCall = CallUtilKt.getFunctionResolvedCallWithAssert(expression, bindingContext());
this.receiver = receiver;
}
@@ -21,13 +21,14 @@ import com.google.gwt.dev.js.ThrowExceptionOnErrorReporter;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.js.parser.ParserPackage;
import org.jetbrains.kotlin.js.parser.ParserUtilsKt;
import org.jetbrains.kotlin.js.resolve.diagnostics.JsCallChecker;
import org.jetbrains.kotlin.js.translate.callTranslator.CallTranslator;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.psi.JetCallExpression;
import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.psi.ValueArgument;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.resolve.inline.InlineUtil;
@@ -36,7 +37,6 @@ import java.util.List;
import static org.jetbrains.kotlin.js.resolve.diagnostics.JsCallChecker.isJsCall;
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.getFunctionDescriptor;
import static org.jetbrains.kotlin.js.translate.utils.InlineUtils.setInlineCallMetadata;
import static org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage.getFunctionResolvedCallWithAssert;
import static org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator.getConstant;
public final class CallExpressionTranslator extends AbstractCallExpressionTranslator {
@@ -47,7 +47,7 @@ public final class CallExpressionTranslator extends AbstractCallExpressionTransl
@Nullable JsExpression receiver,
@NotNull TranslationContext context
) {
ResolvedCall<? extends FunctionDescriptor> resolvedCall = getFunctionResolvedCallWithAssert(expression, context.bindingContext());
ResolvedCall<? extends FunctionDescriptor> resolvedCall = CallUtilKt.getFunctionResolvedCallWithAssert(expression, context.bindingContext());
if (isJsCall(resolvedCall)) {
return (new CallExpressionTranslator(expression, receiver, context)).translateJsCode();
@@ -131,6 +131,6 @@ public final class CallExpressionTranslator extends AbstractCallExpressionTransl
assert currentScope instanceof JsFunctionScope : "Usage of js outside of function is unexpected";
JsScope temporaryRootScope = new JsRootScope(new JsProgram("<js code>"));
JsScope scope = new DelegatingJsFunctionScopeWithTemporaryParent((JsFunctionScope) currentScope, temporaryRootScope);
return ParserPackage.parse(jsCode, ThrowExceptionOnErrorReporter.INSTANCE$, scope);
return ParserUtilsKt.parse(jsCode, ThrowExceptionOnErrorReporter.INSTANCE$, scope);
}
}
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.js.translate.context.TemporaryVariable;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.js.translate.general.AbstractTranslator;
import org.jetbrains.kotlin.psi.JetReferenceExpression;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.resolve.calls.model.VariableAsFunctionResolvedCall;
@@ -38,7 +38,7 @@ public class VariableAccessTranslator extends AbstractTranslator implements Acce
@NotNull JetReferenceExpression referenceExpression,
@Nullable JsExpression receiver
) {
ResolvedCall<?> resolvedCall = CallUtilPackage.getResolvedCallWithAssert(referenceExpression, context.bindingContext());
ResolvedCall<?> resolvedCall = CallUtilKt.getResolvedCallWithAssert(referenceExpression, context.bindingContext());
if (resolvedCall instanceof VariableAsFunctionResolvedCall) {
resolvedCall = ((VariableAsFunctionResolvedCall) resolvedCall).getVariableCall();
}
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.resolve.constants.CompileTimeConstant;
import org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.types.JetType;
import org.jetbrains.kotlin.types.TypeUtils;
@@ -177,7 +177,7 @@ public final class BindingUtils {
@NotNull ValueParameterDescriptor parameterDescriptor
) {
ValueParameterDescriptor result = parameterDescriptor;
assert DescriptorUtilPackage.hasDefaultValue(result) : message(parameterDescriptor, "Unsupplied parameter must have default value");
assert DescriptorUtilsKt.hasDefaultValue(result) : message(parameterDescriptor, "Unsupplied parameter must have default value");
// TODO: this seems incorrect, as the default value may come from _not the first_ overridden parameter
while (!result.declaresDefaultValue()) {
result = result.getOverriddenDescriptors().iterator().next();
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.js.translate.general.Translation;
import org.jetbrains.kotlin.js.translate.utils.mutator.Mutator;
import org.jetbrains.kotlin.psi.JetDeclarationWithBody;
import org.jetbrains.kotlin.psi.JetExpression;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage;
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
import org.jetbrains.kotlin.types.JetType;
import java.util.ArrayList;
@@ -53,7 +53,7 @@ public final class FunctionBodyTranslator extends AbstractTranslator {
List<JsStatement> result = new ArrayList<JsStatement>(valueParameters.size());
for (ValueParameterDescriptor valueParameter : valueParameters) {
if (!DescriptorUtilPackage.hasDefaultValue(valueParameter)) continue;
if (!DescriptorUtilsKt.hasDefaultValue(valueParameter)) continue;
JsNameRef jsNameRef = functionBodyContext.getNameForDescriptor(valueParameter).makeRef();
JetExpression defaultArgument = getDefaultArgument(valueParameter);
@@ -24,7 +24,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.js.config.LibrarySourcesConfig;
import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage;
import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt;
import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.psi.JetExpression;
@@ -42,7 +42,6 @@ import static org.jetbrains.kotlin.js.config.LibrarySourcesConfig.BUILTINS_JS_MO
import static org.jetbrains.kotlin.js.translate.utils.AnnotationsUtils.isNativeObject;
import static org.jetbrains.kotlin.resolve.DescriptorToSourceUtils.descriptorToDeclaration;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.*;
import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getBuiltIns;
public final class JsDescriptorUtils {
// TODO: maybe we should use external annotations or something else.
@@ -157,13 +156,13 @@ public final class JsDescriptorUtils {
public static boolean isBuiltin(@NotNull DeclarationDescriptor descriptor) {
PackageFragmentDescriptor containingPackageFragment = DescriptorUtils.getParentOfType(descriptor, PackageFragmentDescriptor.class);
return containingPackageFragment == getBuiltIns(descriptor).getBuiltInsPackageFragment();
return containingPackageFragment == org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt.getBuiltIns(descriptor).getBuiltInsPackageFragment();
}
@Nullable
public static Name getNameIfStandardType(@NotNull JetExpression expression, @NotNull TranslationContext context) {
JetType type = context.bindingContext().getType(expression);
return type != null ? DescriptorUtilsPackage.getNameIfStandardType(type) : null;
return type != null ? DescriptorUtilsKt.getNameIfStandardType(type) : null;
}
@NotNull
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.descriptors.impl.ConstructorDescriptorImpl;
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt;
import org.jetbrains.kotlin.name.FqNameUnsafe;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
@@ -35,8 +36,6 @@ import org.jetbrains.kotlin.resolve.scopes.JetScope;
import java.util.*;
import static org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage.getJetTypeFqName;
import static org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsPackage.hasPrimaryConstructor;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.getFqName;
public class ManglingUtils {
@@ -185,7 +184,7 @@ public class ManglingUtils {
ClassDescriptor classDescriptor = (ClassDescriptor) declarationDescriptor;
Collection<ConstructorDescriptor> constructors = classDescriptor.getConstructors();
if (!hasPrimaryConstructor(classDescriptor)) {
if (!DescriptorUtilsKt.hasPrimaryConstructor(classDescriptor)) {
ConstructorDescriptorImpl fakePrimaryConstructor =
ConstructorDescriptorImpl.create(classDescriptor, Annotations.Companion.getEMPTY(), true, SourceElement.NO_SOURCE);
return CollectionsKt.plus(constructors, fakePrimaryConstructor);
@@ -231,13 +230,13 @@ public class ManglingUtils {
ReceiverParameterDescriptor receiverParameter = descriptor.getExtensionReceiverParameter();
if (receiverParameter != null) {
argTypes.append(getJetTypeFqName(receiverParameter.getType(), true)).append(".");
argTypes.append(DescriptorUtilsKt.getJetTypeFqName(receiverParameter.getType(), true)).append(".");
}
argTypes.append(StringUtil.join(descriptor.getValueParameters(), new Function<ValueParameterDescriptor, String>() {
@Override
public String fun(ValueParameterDescriptor descriptor) {
return getJetTypeFqName(descriptor.getType(), true);
return DescriptorUtilsKt.getJetTypeFqName(descriptor.getType(), true);
}
}, ","));
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.js.translate.context.TranslationContext;
import org.jetbrains.kotlin.lexer.JetToken;
import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.*;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilPackage;
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
import org.jetbrains.kotlin.resolve.calls.model.VariableAsFunctionResolvedCall;
@@ -136,7 +136,7 @@ public final class PsiUtils {
@NotNull JetCallExpression expression,
@NotNull TranslationContext context
) {
ResolvedCall<?> resolvedCall = CallUtilPackage.getResolvedCall(expression, context.bindingContext());
ResolvedCall<?> resolvedCall = CallUtilKt.getResolvedCall(expression, context.bindingContext());
assert resolvedCall != null;
return getFunctionDescriptor(resolvedCall);