Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_langtools
提交
1939638f
D
dragonwell8_langtools
项目概览
openanolis
/
dragonwell8_langtools
通知
0
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_langtools
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1939638f
编写于
3月 06, 2012
作者:
M
mcimadamore
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7151070: NullPointerException in Resolve.isAccessible
Summary: Spurious accessibility check in TransTypes Reviewed-by: jjg
上级
535a7b99
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
32 addition
and
4 deletion
+32
-4
src/share/classes/com/sun/tools/javac/comp/Resolve.java
src/share/classes/com/sun/tools/javac/comp/Resolve.java
+4
-3
src/share/classes/com/sun/tools/javac/comp/TransTypes.java
src/share/classes/com/sun/tools/javac/comp/TransTypes.java
+1
-1
test/tools/javac/generics/7151070/T7151070.java
test/tools/javac/generics/7151070/T7151070.java
+25
-0
test/tools/javac/generics/7151070/T7151070.out
test/tools/javac/generics/7151070/T7151070.out
+2
-0
未找到文件。
src/share/classes/com/sun/tools/javac/comp/Resolve.java
浏览文件 @
1939638f
...
...
@@ -2097,9 +2097,10 @@ public class Resolve {
* ResolveError classes, indicating error situations when accessing symbols
****************************************************************************/
public
void
logAccessError
(
Env
<
AttrContext
>
env
,
JCTree
tree
,
Type
type
)
{
AccessError
error
=
new
AccessError
(
env
,
type
.
getEnclosingType
(),
type
.
tsym
);
logResolveError
(
error
,
tree
.
pos
(),
type
.
getEnclosingType
().
tsym
,
type
.
getEnclosingType
(),
null
,
null
,
null
);
//used by TransTypes when checking target type of synthetic cast
public
void
logAccessErrorInternal
(
Env
<
AttrContext
>
env
,
JCTree
tree
,
Type
type
)
{
AccessError
error
=
new
AccessError
(
env
,
env
.
enclClass
.
type
,
type
.
tsym
);
logResolveError
(
error
,
tree
.
pos
(),
env
.
enclClass
.
sym
,
env
.
enclClass
.
type
,
null
,
null
,
null
);
}
//where
private
void
logResolveError
(
ResolveError
error
,
...
...
src/share/classes/com/sun/tools/javac/comp/TransTypes.java
浏览文件 @
1939638f
...
...
@@ -107,7 +107,7 @@ public class TransTypes extends TreeTranslator {
make
.
at
(
tree
.
pos
);
if
(!
types
.
isSameType
(
tree
.
type
,
target
))
{
if
(!
resolve
.
isAccessible
(
env
,
target
.
tsym
))
resolve
.
logAccessError
(
env
,
tree
,
target
);
resolve
.
logAccessError
Internal
(
env
,
tree
,
target
);
tree
=
make
.
TypeCast
(
make
.
Type
(
target
),
tree
).
setType
(
target
);
}
make
.
pos
=
oldpos
;
...
...
test/tools/javac/generics/7151070/T7151070.java
0 → 100644
浏览文件 @
1939638f
/*
* @test /nodynamiccopyright/
* @bug 7151070
* @summary NullPointerException in Resolve.isAccessible
* @compile/fail/ref=T7151070.out -XDrawDiagnostics T7151070.java
*/
class
T7151070a
{
private
static
class
PrivateCls
{
}
public
static
class
PublicCls
extends
PrivateCls
{
}
public
void
m
(
PrivateCls
p
)
{
}
}
class
T7151070b
{
public
void
test
(
Test
<
T7151070a
.
PublicCls
>
obj
,
T7151070a
outer
)
{
outer
.
m
(
obj
.
get
());
}
public
static
class
Test
<
T
>
{
public
T
get
()
{
return
null
;
}
}
}
test/tools/javac/generics/7151070/T7151070.out
0 → 100644
浏览文件 @
1939638f
T7151070.java:17:24: compiler.err.report.access: T7151070a.PrivateCls, private, T7151070a
1 error
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录