Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
15a6a44e
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
15a6a44e
编写于
5月 31, 2013
作者:
A
attila
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8015684: FieldObjectCreator.putField ignores getValueType
Reviewed-by: jlaskey, lagergren
上级
2810bfa7
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
1 addition
and
28 deletion
+1
-28
nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java
nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java
+1
-12
nashorn/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java
.../src/jdk/nashorn/internal/codegen/FieldObjectCreator.java
+0
-16
未找到文件。
nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java
浏览文件 @
15a6a44e
...
...
@@ -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<CodeGeneratorLexicalContex
* bootstrap code for object
*/
final
FieldObjectCreator
<
Symbol
>
foc
=
new
FieldObjectCreator
<
Symbol
>(
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<CodeGeneratorLexicalContex
}
new
FieldObjectCreator
<
Node
>(
this
,
keys
,
symbols
,
values
)
{
@Override
protected
Type
getValueType
(
final
Node
node
)
{
return
node
.
getType
();
}
@Override
protected
void
loadValue
(
final
Node
node
)
{
load
(
node
);
...
...
nashorn/src/jdk/nashorn/internal/codegen/FieldObjectCreator.java
浏览文件 @
15a6a44e
...
...
@@ -144,15 +144,6 @@ public abstract class FieldObjectCreator<T> 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<T> 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
));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录