Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
a850ca37
K
kotlin
项目概览
硅谷海盗
/
kotlin
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kotlin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a850ca37
编写于
6月 23, 2011
作者:
M
Maxim Shafirov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix tests
上级
763e41fc
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
3 deletion
+15
-3
idea/src/org/jetbrains/jet/codegen/ClosureCodegen.java
idea/src/org/jetbrains/jet/codegen/ClosureCodegen.java
+2
-1
idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java
idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java
+1
-1
idea/src/org/jetbrains/jet/codegen/StackValue.java
idea/src/org/jetbrains/jet/codegen/StackValue.java
+12
-1
未找到文件。
idea/src/org/jetbrains/jet/codegen/ClosureCodegen.java
浏览文件 @
a850ca37
...
...
@@ -116,7 +116,8 @@ public class ClosureCodegen {
final
List
<
ValueParameterDescriptor
>
params
=
funDescriptor
.
getUnsubstitutedValueParameters
();
int
count
=
1
;
for
(
ValueParameterDescriptor
param
:
params
)
{
StackValue
.
local
(
count
,
JetTypeMapper
.
TYPE_OBJECT
).
put
(
typeMapper
.
mapType
(
param
.
getOutType
()),
iv
);
StackValue
.
local
(
count
,
JetTypeMapper
.
TYPE_OBJECT
).
put
(
JetTypeMapper
.
TYPE_OBJECT
,
iv
);
StackValue
.
onStack
(
JetTypeMapper
.
TYPE_OBJECT
).
upcast
(
typeMapper
.
mapType
(
param
.
getOutType
()),
iv
);
count
++;
}
...
...
idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java
浏览文件 @
a850ca37
...
...
@@ -795,7 +795,7 @@ public class ExpressionCodegen extends JetVisitor {
if
(
methodDescriptor
.
getReturnType
()
!=
Type
.
VOID_TYPE
)
{
final
Type
retType
=
typeMapper
.
mapType
(
fd
.
getUnsubstitutedReturnType
());
StackValue
.
onStack
(
methodDescriptor
.
getReturnType
()).
pu
t
(
retType
,
v
);
StackValue
.
onStack
(
methodDescriptor
.
getReturnType
()).
upcas
t
(
retType
,
v
);
myStack
.
push
(
StackValue
.
onStack
(
retType
));
}
}
...
...
idea/src/org/jetbrains/jet/codegen/StackValue.java
浏览文件 @
a850ca37
...
...
@@ -130,12 +130,23 @@ public abstract class StackValue {
}
}
p
rotected
void
coerce
(
Type
type
,
InstructionAdapter
v
)
{
p
ublic
void
upcast
(
Type
type
,
InstructionAdapter
v
)
{
if
(
type
.
equals
(
this
.
type
))
return
;
if
(
type
.
getSort
()
==
Type
.
OBJECT
&&
this
.
type
.
getSort
()
==
Type
.
OBJECT
)
{
v
.
checkcast
(
type
);
}
else
{
coerce
(
type
,
v
);
}
}
protected
void
coerce
(
Type
type
,
InstructionAdapter
v
)
{
if
(
type
.
equals
(
this
.
type
))
return
;
if
(
type
.
getSort
()
==
Type
.
OBJECT
&&
this
.
type
.
getSort
()
==
Type
.
OBJECT
)
{
// v.checkcast(type);
}
else
if
(
type
.
getSort
()
==
Type
.
OBJECT
)
{
box
(
this
.
type
,
type
,
v
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录