Drop extra fields which covered by metadata: hasDefaultValue from JsParameter.
This commit is contained in:
@@ -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() }
|
||||||
|
|||||||
+3
-5
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user