JS: minor code cleanup

This commit is contained in:
Alexey Andreev
2017-04-21 15:34:32 +03:00
parent feb968e66d
commit 0d7b39eb57
3 changed files with 11 additions and 29 deletions
@@ -10,14 +10,14 @@ import java.util.*;
public class JsProgramFragment { public class JsProgramFragment {
private final JsScope scope; private final JsScope scope;
private final List<JsImportedModule> importedModules = new ArrayList<JsImportedModule>(); private final List<JsImportedModule> importedModules = new ArrayList<>();
private final Map<String, JsExpression> imports = new LinkedHashMap<String, JsExpression>(); private final Map<String, JsExpression> imports = new LinkedHashMap<>();
private final JsGlobalBlock declarationBlock = new JsGlobalBlock(); private final JsGlobalBlock declarationBlock = new JsGlobalBlock();
private final JsGlobalBlock exportBlock = new JsGlobalBlock(); private final JsGlobalBlock exportBlock = new JsGlobalBlock();
private final JsGlobalBlock initializerBlock = new JsGlobalBlock(); private final JsGlobalBlock initializerBlock = new JsGlobalBlock();
private final List<JsNameBinding> nameBindings = new ArrayList<JsNameBinding>(); private final List<JsNameBinding> nameBindings = new ArrayList<>();
private final Map<JsName, JsClassModel> classes = new LinkedHashMap<JsName, JsClassModel>(); private final Map<JsName, JsClassModel> classes = new LinkedHashMap<>();
private final Map<String, JsExpression> inlineModuleMap = new LinkedHashMap<String, JsExpression>(); private final Map<String, JsExpression> inlineModuleMap = new LinkedHashMap<>();
public JsProgramFragment(@NotNull JsScope scope) { public JsProgramFragment(@NotNull JsScope scope) {
this.scope = scope; this.scope = scope;
@@ -268,11 +268,11 @@ public final class Translation {
JsName internalModuleName = program.getScope().declareName("_"); JsName internalModuleName = program.getScope().declareName("_");
Merger merger = new Merger(rootFunction, internalModuleName, moduleDescriptor); Merger merger = new Merger(rootFunction, internalModuleName, moduleDescriptor);
Map<KtFile, JsProgramFragment> fragmentMap = new HashMap<KtFile, JsProgramFragment>(); Map<KtFile, JsProgramFragment> fragmentMap = new HashMap<>();
List<JsProgramFragment> fragments = new ArrayList<JsProgramFragment>(); List<JsProgramFragment> fragments = new ArrayList<>();
List<JsProgramFragment> newFragments = new ArrayList<JsProgramFragment>(); List<JsProgramFragment> newFragments = new ArrayList<>();
Map<KtFile, List<DeclarationDescriptor>> fileMemberScopes = new HashMap<KtFile, List<DeclarationDescriptor>>(); Map<KtFile, List<DeclarationDescriptor>> fileMemberScopes = new HashMap<>();
JsAstDeserializer deserializer = new JsAstDeserializer(program); JsAstDeserializer deserializer = new JsAstDeserializer(program);
for (TranslationUnit unit : units) { for (TranslationUnit unit : units) {
@@ -280,7 +280,7 @@ public final class Translation {
KtFile file = ((TranslationUnit.SourceFile) unit).getFile(); KtFile file = ((TranslationUnit.SourceFile) unit).getFile();
StaticContext staticContext = new StaticContext(bindingTrace, config, moduleDescriptor); StaticContext staticContext = new StaticContext(bindingTrace, config, moduleDescriptor);
TranslationContext context = TranslationContext.rootContext(staticContext); TranslationContext context = TranslationContext.rootContext(staticContext);
List<DeclarationDescriptor> fileMemberScope = new ArrayList<DeclarationDescriptor>(); List<DeclarationDescriptor> fileMemberScope = new ArrayList<>();
translateFile(context, file, fileMemberScope); translateFile(context, file, fileMemberScope);
fragments.add(staticContext.getFragment()); fragments.add(staticContext.getFragment());
newFragments.add(staticContext.getFragment()); newFragments.add(staticContext.getFragment());
@@ -371,10 +371,7 @@ public final class Translation {
catch (TranslationRuntimeException e) { catch (TranslationRuntimeException e) {
throw e; throw e;
} }
catch (RuntimeException e) { catch (RuntimeException | AssertionError e) {
throw new TranslationRuntimeException(file, e);
}
catch (AssertionError e) {
throw new TranslationRuntimeException(file, e); throw new TranslationRuntimeException(file, e);
} }
} }
@@ -427,12 +427,6 @@ public final class JsAstUtils {
return new JsVars(new JsVars.JsVar(name, expr)); return new JsVars(new JsVars.JsVar(name, expr));
} }
public static void setParameters(@NotNull JsFunction function, @NotNull List<JsParameter> newParams) {
List<JsParameter> parameters = function.getParameters();
assert parameters.isEmpty() : "Arguments already set.";
parameters.addAll(newParams);
}
@NotNull @NotNull
public static JsExpression newSequence(@NotNull List<JsExpression> expressions) { public static JsExpression newSequence(@NotNull List<JsExpression> expressions) {
assert !expressions.isEmpty(); assert !expressions.isEmpty();
@@ -575,13 +569,4 @@ public final class JsAstUtils {
MetadataProperties.setCoroutineReceiver(result, true); MetadataProperties.setCoroutineReceiver(result, true);
return result; return result;
} }
@NotNull
public static JsExpression comma(JsExpression first, JsExpression... tail) {
JsExpression result = first;
for (JsExpression e : tail) {
result = new JsBinaryOperation(JsBinaryOperator.COMMA, result, e);
}
return result;
}
} }