Drop extra fields which covered by metadata: hasDefaultValue from JsParameter.

This commit is contained in:
Zalim Bashorov
2014-08-28 15:34:12 +04:00
parent aa6ab1ffee
commit 3b9232e8d4
3 changed files with 6 additions and 18 deletions
@@ -13,7 +13,6 @@ import org.jetbrains.annotations.NotNull;
public final class JsParameter extends SourceInfoAwareJsNode implements HasName { public final class JsParameter extends SourceInfoAwareJsNode implements HasName {
@NotNull @NotNull
private final JsName name; private final JsName name;
private boolean hasDefaultValue = false;
public JsParameter(@NotNull JsName name) { public JsParameter(@NotNull JsName name) {
this.name = name; this.name = name;
@@ -31,14 +30,6 @@ public final class JsParameter extends SourceInfoAwareJsNode implements HasName
return name; return name;
} }
public boolean hasDefaultValue() {
return hasDefaultValue;
}
public void setHasDefaultValue(boolean hasDefaultValue) {
this.hasDefaultValue = hasDefaultValue;
}
@Override @Override
public void accept(JsVisitor v) { public void accept(JsVisitor v) {
v.visitParameter(this); v.visitParameter(this);
@@ -53,8 +44,6 @@ public final class JsParameter extends SourceInfoAwareJsNode implements HasName
@NotNull @NotNull
@Override @Override
public JsParameter deepCopy() { public JsParameter deepCopy() {
JsParameter parameter = new JsParameter(name); return new JsParameter(name).withMetadataFrom(this);
parameter.setHasDefaultValue(hasDefaultValue);
return parameter.withMetadataFrom(this);
} }
} }
@@ -17,6 +17,7 @@
package org.jetbrains.k2js.inline.clean package org.jetbrains.k2js.inline.clean
import com.google.dart.compiler.backend.js.ast.* import com.google.dart.compiler.backend.js.ast.*
import com.google.dart.compiler.backend.js.ast.metadata.hasDefaultValue
import org.jetbrains.k2js.inline.util.toIdentitySet import org.jetbrains.k2js.inline.util.toIdentitySet
import org.jetbrains.k2js.inline.util.zipWithDefault import org.jetbrains.k2js.inline.util.zipWithDefault
@@ -117,7 +118,7 @@ private fun getDefaultParamsNames(
val argsParams = args.zipWithDefault(params, Namer.UNDEFINED_EXPRESSION) val argsParams = args.zipWithDefault(params, Namer.UNDEFINED_EXPRESSION)
val relevantParams = argsParams.stream() val relevantParams = argsParams.stream()
.filter { it.second.hasDefaultValue() } .filter { it.second.hasDefaultValue }
.filter { initialized == !isUndefined(it.first) } .filter { initialized == !isUndefined(it.first) }
val names = relevantParams.map { it.second.getName() } val names = relevantParams.map { it.second.getName() }
@@ -17,10 +17,8 @@
package org.jetbrains.k2js.translate.expression; package org.jetbrains.k2js.translate.expression;
import com.google.dart.compiler.backend.js.ast.JsFunction; import com.google.dart.compiler.backend.js.ast.*;
import com.google.dart.compiler.backend.js.ast.JsName; import com.google.dart.compiler.backend.js.ast.metadata.MetadataPackage;
import com.google.dart.compiler.backend.js.ast.JsParameter;
import com.google.dart.compiler.backend.js.ast.JsPropertyInitializer;
import com.intellij.util.SmartList; import com.intellij.util.SmartList;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -131,7 +129,7 @@ public final class FunctionTranslator extends AbstractTranslator {
public static void addParameters(List<JsParameter> list, FunctionDescriptor descriptor, TranslationContext context) { public static void addParameters(List<JsParameter> list, FunctionDescriptor descriptor, TranslationContext context) {
for (ValueParameterDescriptor valueParameter : descriptor.getValueParameters()) { for (ValueParameterDescriptor valueParameter : descriptor.getValueParameters()) {
JsParameter jsParameter = new JsParameter(context.getNameForDescriptor(valueParameter)); JsParameter jsParameter = new JsParameter(context.getNameForDescriptor(valueParameter));
jsParameter.setHasDefaultValue(valueParameter.hasDefaultValue()); MetadataPackage.setHasDefaultValue(jsParameter, valueParameter.hasDefaultValue());
list.add(jsParameter); list.add(jsParameter);
} }
} }