Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_langtools
提交
7153a133
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看板
提交
7153a133
编写于
7月 08, 2008
作者:
J
jjg
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6715757: javap does not print "extends java.lang.Object"
Reviewed-by: ksrini
上级
6cc1c39b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
16 addition
and
25 deletion
+16
-25
src/share/classes/com/sun/tools/classfile/Type.java
src/share/classes/com/sun/tools/classfile/Type.java
+2
-11
src/share/classes/com/sun/tools/javap/ClassWriter.java
src/share/classes/com/sun/tools/javap/ClassWriter.java
+5
-9
test/tools/javap/4870651/T4870651.java
test/tools/javap/4870651/T4870651.java
+6
-3
test/tools/javap/T4880663.java
test/tools/javap/T4880663.java
+3
-2
未找到文件。
src/share/classes/com/sun/tools/classfile/Type.java
浏览文件 @
7153a133
...
...
@@ -36,10 +36,6 @@ import java.util.List;
public
class
Type
{
protected
Type
()
{
}
public
boolean
isObject
()
{
return
false
;
}
protected
static
void
append
(
StringBuilder
sb
,
String
prefix
,
List
<?
extends
Type
>
types
,
String
suffix
)
{
sb
.
append
(
prefix
);
String
sep
=
""
;
...
...
@@ -66,11 +62,6 @@ public class Type {
return
name
;
}
@Override
public
boolean
isObject
()
{
return
name
.
equals
(
"java.lang.Object"
);
}
public
final
String
name
;
}
...
...
@@ -129,7 +120,7 @@ public class Type {
public
String
toString
()
{
StringBuilder
sb
=
new
StringBuilder
();
appendIfNotEmpty
(
sb
,
"<"
,
typeArgTypes
,
">"
);
if
(
superclassType
!=
null
&&
!
superclassType
.
isObject
()
)
{
if
(
superclassType
!=
null
)
{
sb
.
append
(
" extends "
);
sb
.
append
(
superclassType
);
}
...
...
@@ -188,7 +179,7 @@ public class Type {
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
name
);
String
sep
=
" extends "
;
if
(
classBound
!=
null
&&
!
classBound
.
isObject
()
)
{
if
(
classBound
!=
null
)
{
sb
.
append
(
sep
);
sb
.
append
(
classBound
);
sep
=
" & "
;
...
...
src/share/classes/com/sun/tools/javap/ClassWriter.java
浏览文件 @
7153a133
...
...
@@ -104,14 +104,10 @@ public class ClassWriter extends BasicWriter {
Signature_attribute
sigAttr
=
getSignature
(
cf
.
attributes
);
if
(
sigAttr
==
null
)
{
// use info from class file header
if
(
classFile
.
isClass
())
{
if
(
classFile
.
super_class
!=
0
)
{
String
sn
=
getJavaSuperclassName
(
cf
);
if
(!
sn
.
equals
(
"java.lang.Object"
)
||
options
.
compat
)
{
// BUG XXXXXXXX
print
(
" extends "
);
print
(
sn
);
}
}
if
(
classFile
.
isClass
()
&&
classFile
.
super_class
!=
0
)
{
String
sn
=
getJavaSuperclassName
(
cf
);
print
(
" extends "
);
print
(
sn
);
}
for
(
int
i
=
0
;
i
<
classFile
.
interfaces
.
length
;
i
++)
{
print
(
i
==
0
?
(
classFile
.
isClass
()
?
" implements "
:
" extends "
)
:
","
);
...
...
@@ -124,7 +120,7 @@ public class ClassWriter extends BasicWriter {
// FieldType and a ClassSignatureType that only contains a superclass type.
if
(
t
instanceof
Type
.
ClassSigType
)
print
(
t
);
else
if
(!
t
.
isObject
())
{
else
{
print
(
" extends "
);
print
(
t
);
}
...
...
test/tools/javap/4870651/T4870651.java
浏览文件 @
7153a133
...
...
@@ -23,8 +23,9 @@
/*
* @test
* @bug 4870651
* @summary javap should recognize generics, varargs, enum
* @bug 4870651 6715757
* @summary javap should recognize generics, varargs, enum;
* javap prints "extends java.lang.Object"
* @build T4870651 Test
* @run main T4870651
*/
...
...
@@ -38,7 +39,9 @@ public class T4870651 {
public
void
run
()
throws
IOException
{
verify
(
"Test"
,
"class Test<T, E extends java.lang.Exception & java.lang.Comparable<T>, U extends java.lang.Comparable>"
,
"class Test<T extends java.lang.Object, "
+
"E extends java.lang.Exception & java.lang.Comparable<T>, "
+
"U extends java.lang.Comparable>"
,
"v1(java.lang.String...)"
);
verify
(
"Test$Enum"
,
...
...
test/tools/javap/T4880663.java
浏览文件 @
7153a133
...
...
@@ -23,8 +23,9 @@
/*
* @test
* @bug 4880663
* @bug 4880663
6715757
* @summary javap could output whitespace between class name and opening brace
* javap prints "extends java.lang.Object"
*/
...
...
@@ -38,7 +39,7 @@ public class T4880663 {
public
void
run
()
throws
IOException
{
File
javaFile
=
writeTestFile
();
File
classFile
=
compileTestFile
(
javaFile
);
verify
(
classFile
,
"class Test {"
);
verify
(
classFile
,
"class Test
extends java.lang.Object
{"
);
if
(
errors
>
0
)
throw
new
Error
(
errors
+
" found."
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录