From 15a6a44e0d52192437e178997064f9f6a60b3fff Mon Sep 17 00:00:00 2001 From: attila Date: Fri, 31 May 2013 12:57:25 +0200 Subject: [PATCH] 8015684: FieldObjectCreator.putField ignores getValueType Reviewed-by: jlaskey, lagergren --- .../nashorn/internal/codegen/CodeGenerator.java | 13 +------------ .../internal/codegen/FieldObjectCreator.java | 16 ---------------- 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java index 21b61cd8ec..c291707301 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java @@ -60,7 +60,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.TreeMap; - import jdk.nashorn.internal.codegen.ClassEmitter.Flag; import jdk.nashorn.internal.codegen.CompilerConstants.Call; import jdk.nashorn.internal.codegen.RuntimeCallSite.SpecializedRuntimeNode; @@ -80,11 +79,11 @@ import jdk.nashorn.internal.ir.EmptyNode; import jdk.nashorn.internal.ir.ExecuteNode; import jdk.nashorn.internal.ir.ForNode; import jdk.nashorn.internal.ir.FunctionNode; -import jdk.nashorn.internal.ir.LexicalContext; import jdk.nashorn.internal.ir.FunctionNode.CompilationState; import jdk.nashorn.internal.ir.IdentNode; import jdk.nashorn.internal.ir.IfNode; import jdk.nashorn.internal.ir.IndexNode; +import jdk.nashorn.internal.ir.LexicalContext; import jdk.nashorn.internal.ir.LexicalContextNode; import jdk.nashorn.internal.ir.LiteralNode; import jdk.nashorn.internal.ir.LiteralNode.ArrayLiteralNode; @@ -941,11 +940,6 @@ final class CodeGenerator extends NodeOperatorVisitor foc = new FieldObjectCreator(this, nameList, newSymbols, values, true, hasArguments) { - @Override - protected Type getValueType(final Symbol value) { - return value.getSymbolType(); - } - @Override protected void loadValue(final Symbol value) { method.load(value); @@ -1356,11 +1350,6 @@ final class CodeGenerator extends NodeOperatorVisitor(this, keys, symbols, values) { - @Override - protected Type getValueType(final Node node) { - return node.getType(); - } - @Override protected void loadValue(final Node node) { load(node); diff --git a/nashorn/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java b/nashorn/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java index 57b8b38491..16ad270976 100644 --- a/nashorn/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java +++ b/nashorn/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java @@ -144,15 +144,6 @@ public abstract class FieldObjectCreator extends ObjectCreator { */ protected abstract void loadValue(T value); - /** - * Determine the type of a value. Defined by anonymous subclasses in code gen. - * - * @param value Value to inspect. - * - * @return Value type. - */ - protected abstract Type getValueType(T value); - /** * Store a value in a field of the generated class object. * @@ -165,13 +156,6 @@ public abstract class FieldObjectCreator extends ObjectCreator { method.dup(); loadValue(value); - - final Type valueType = getValueType(value); - // for example when we have a with scope - if (valueType.isObject() || valueType.isBoolean()) { - method.convert(OBJECT); - } - method.convert(OBJECT); method.putField(getClassName(), ObjectClassGenerator.getFieldName(fieldIndex, Type.OBJECT), typeDescriptor(Object.class)); } -- GitLab