Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_langtools
提交
ee677356
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看板
提交
ee677356
编写于
12月 06, 2010
作者:
L
lana
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
d7291d7b
27431d0b
变更
59
隐藏空白更改
内联
并排
Showing
59 changed file
with
415 addition
and
392 deletion
+415
-392
src/share/classes/com/sun/tools/javac/code/Lint.java
src/share/classes/com/sun/tools/javac/code/Lint.java
+17
-12
src/share/classes/com/sun/tools/javac/code/Scope.java
src/share/classes/com/sun/tools/javac/code/Scope.java
+1
-1
src/share/classes/com/sun/tools/javac/code/Source.java
src/share/classes/com/sun/tools/javac/code/Source.java
+0
-3
src/share/classes/com/sun/tools/javac/code/Types.java
src/share/classes/com/sun/tools/javac/code/Types.java
+11
-0
src/share/classes/com/sun/tools/javac/comp/Infer.java
src/share/classes/com/sun/tools/javac/comp/Infer.java
+2
-1
src/share/classes/com/sun/tools/javac/file/JavacFileManager.java
...re/classes/com/sun/tools/javac/file/JavacFileManager.java
+28
-0
src/share/classes/com/sun/tools/javac/file/Paths.java
src/share/classes/com/sun/tools/javac/file/Paths.java
+34
-11
src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
+0
-1
src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
+13
-2
src/share/classes/com/sun/tools/javac/main/Main.java
src/share/classes/com/sun/tools/javac/main/Main.java
+3
-2
src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java
...classes/com/sun/tools/javac/nio/JavacPathFileManager.java
+5
-0
src/share/classes/com/sun/tools/javac/parser/Scanner.java
src/share/classes/com/sun/tools/javac/parser/Scanner.java
+1
-60
src/share/classes/com/sun/tools/javac/resources/compiler.properties
...classes/com/sun/tools/javac/resources/compiler.properties
+3
-10
src/share/classes/com/sun/tools/javac/util/BaseFileManager.java
...are/classes/com/sun/tools/javac/util/BaseFileManager.java
+4
-1
src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java
...are/classes/com/sun/tools/javadoc/JavadocClassReader.java
+1
-0
test/tools/javac/6341866/T6341866.java
test/tools/javac/6341866/T6341866.java
+1
-1
test/tools/javac/ClassFileModifiers/MemberModifiers.java
test/tools/javac/ClassFileModifiers/MemberModifiers.java
+1
-1
test/tools/javac/T6900037.java
test/tools/javac/T6900037.java
+10
-7
test/tools/javac/T6900037.out
test/tools/javac/T6900037.out
+4
-0
test/tools/javac/TryWithResources/PlainTry.java
test/tools/javac/TryWithResources/PlainTry.java
+2
-2
test/tools/javac/annotations/neg/Dep.java
test/tools/javac/annotations/neg/Dep.java
+3
-3
test/tools/javac/diags/examples/AnnotationsNotSupported.java
test/tools/javac/diags/examples/AnnotationsNotSupported.java
+1
-1
test/tools/javac/diags/examples/AssertAsIdentifier.java
test/tools/javac/diags/examples/AssertAsIdentifier.java
+1
-1
test/tools/javac/diags/examples/DiamondNotSupported.java
test/tools/javac/diags/examples/DiamondNotSupported.java
+1
-1
test/tools/javac/diags/examples/EnumAsIdentifier.java
test/tools/javac/diags/examples/EnumAsIdentifier.java
+1
-1
test/tools/javac/diags/examples/EnumsNotSupported.java
test/tools/javac/diags/examples/EnumsNotSupported.java
+1
-1
test/tools/javac/diags/examples/Expected2.java
test/tools/javac/diags/examples/Expected2.java
+1
-1
test/tools/javac/diags/examples/ForeachNotSupported.java
test/tools/javac/diags/examples/ForeachNotSupported.java
+1
-1
test/tools/javac/diags/examples/GenericsNotSupported.java
test/tools/javac/diags/examples/GenericsNotSupported.java
+1
-1
test/tools/javac/diags/examples/MulticatchNotSupported.java
test/tools/javac/diags/examples/MulticatchNotSupported.java
+1
-1
test/tools/javac/diags/examples/NeitherConditionalSubtype.java
...tools/javac/diags/examples/NeitherConditionalSubtype.java
+1
-1
test/tools/javac/diags/examples/SourceNoBootclasspath.java
test/tools/javac/diags/examples/SourceNoBootclasspath.java
+3
-4
test/tools/javac/diags/examples/StaticImportNotSupported.java
.../tools/javac/diags/examples/StaticImportNotSupported.java
+1
-1
test/tools/javac/diags/examples/StringSwitchNotSupported.java
.../tools/javac/diags/examples/StringSwitchNotSupported.java
+1
-1
test/tools/javac/diags/examples/TryResourceNotSupported.java
test/tools/javac/diags/examples/TryResourceNotSupported.java
+1
-1
test/tools/javac/diags/examples/TryWithoutCatchOrFinally.java
.../tools/javac/diags/examples/TryWithoutCatchOrFinally.java
+1
-1
test/tools/javac/diags/examples/UnsupportedBinaryLiteral.java
.../tools/javac/diags/examples/UnsupportedBinaryLiteral.java
+1
-1
test/tools/javac/diags/examples/UnsupportedFpLit.java
test/tools/javac/diags/examples/UnsupportedFpLit.java
+1
-1
test/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java
...ls/javac/diags/examples/UnsupportedUnderscoreLiteral.java
+1
-1
test/tools/javac/diags/examples/VarargsNotSupported.java
test/tools/javac/diags/examples/VarargsNotSupported.java
+1
-1
test/tools/javac/enum/6384542/T6384542.java
test/tools/javac/enum/6384542/T6384542.java
+2
-2
test/tools/javac/enum/6384542/T6384542a.java
test/tools/javac/enum/6384542/T6384542a.java
+2
-2
test/tools/javac/generics/inference/6638712/T6638712a.java
test/tools/javac/generics/inference/6638712/T6638712a.java
+1
-1
test/tools/javac/generics/inference/6995200/T6995200.java
test/tools/javac/generics/inference/6995200/T6995200.java
+67
-0
test/tools/javac/literals/BadBinaryLiterals.java
test/tools/javac/literals/BadBinaryLiterals.java
+1
-1
test/tools/javac/literals/BadUnderscoreLiterals.java
test/tools/javac/literals/BadUnderscoreLiterals.java
+1
-1
test/tools/javac/meth/InvokeDyn.java
test/tools/javac/meth/InvokeDyn.java
+1
-1
test/tools/javac/meth/InvokeDynTrans.java
test/tools/javac/meth/InvokeDynTrans.java
+2
-2
test/tools/javac/meth/InvokeDynTrans.out
test/tools/javac/meth/InvokeDynTrans.out
+1
-2
test/tools/javac/processing/warnings/TestSourceVersionWarnings.java
.../javac/processing/warnings/TestSourceVersionWarnings.java
+9
-9
test/tools/javac/quid/QuotedIdent.java
test/tools/javac/quid/QuotedIdent.java
+0
-136
test/tools/javac/quid/QuotedIdent2.java
test/tools/javac/quid/QuotedIdent2.java
+0
-85
test/tools/javac/quid/T6999438.java
test/tools/javac/quid/T6999438.java
+9
-0
test/tools/javac/quid/T6999438.out
test/tools/javac/quid/T6999438.out
+6
-0
test/tools/javac/varargs/warning/Warn1.java
test/tools/javac/varargs/warning/Warn1.java
+1
-1
test/tools/javadoc/6942366/T6942366.java
test/tools/javadoc/6942366/T6942366.java
+134
-0
test/tools/javadoc/6942366/Test.java
test/tools/javadoc/6942366/Test.java
+4
-4
test/tools/javadoc/6942366/p/Base.java
test/tools/javadoc/6942366/p/Base.java
+5
-3
test/tools/javap/T6729471.java
test/tools/javap/T6729471.java
+4
-2
未找到文件。
src/share/classes/com/sun/tools/javac/code/Lint.java
浏览文件 @
ee677356
...
...
@@ -164,6 +164,11 @@ public class Lint
*/
FINALLY
(
"finally"
),
/**
* Warn about issues relating to use of command line options
*/
OPTIONS
(
"options"
),
/**
* Warn about issues regarding method overrides.
*/
...
...
@@ -182,19 +187,19 @@ public class Lint
PROCESSING
(
"processing"
),
/**
* Warn about
Serializable classes that do not provide a serial version ID
.
* Warn about
unchecked operations on raw types
.
*/
SERIAL
(
"serial
"
),
RAW
(
"rawtypes
"
),
/**
* Warn about
unchecked operations on raw types
.
* Warn about
Serializable classes that do not provide a serial version ID
.
*/
UNCHECKED
(
"unchecked
"
),
SERIAL
(
"serial
"
),
/**
* Warn about
unchecked operations on raw types.
* Warn about
issues relating to use of statics
*/
RAW
(
"rawtypes
"
),
STATIC
(
"static
"
),
/**
* Warn about proprietary API that may be removed in a future release.
...
...
@@ -202,19 +207,19 @@ public class Lint
SUNAPI
(
"sunapi"
,
true
),
/**
* Warn about issues relating to use of
statics
* Warn about issues relating to use of
try blocks (i.e. try-with-resources)
*/
STATIC
(
"static
"
),
TRY
(
"try
"
),
/**
* Warn about
potentially unsafe vararg methods
* Warn about
unchecked operations on raw types.
*/
VARARGS
(
"varargs
"
),
UNCHECKED
(
"unchecked
"
),
/**
* Warn about
issues relating to use of try blocks (i.e. try-with-resources)
* Warn about
potentially unsafe vararg methods
*/
TRY
(
"try
"
);
VARARGS
(
"varargs
"
);
LintCategory
(
String
option
)
{
this
(
option
,
false
);
...
...
src/share/classes/com/sun/tools/javac/code/Scope.java
浏览文件 @
ee677356
...
...
@@ -528,7 +528,7 @@ public class Scope {
}
public
Entry
next
()
{
Entry
e
=
super
.
shadowed
;
while
(
isBogus
())
while
(
e
.
isBogus
())
e
=
e
.
shadowed
;
return
e
;
}
...
...
src/share/classes/com/sun/tools/javac/code/Source.java
浏览文件 @
ee677356
...
...
@@ -174,9 +174,6 @@ public enum Source {
public
boolean
allowUnderscoresInLiterals
()
{
return
compareTo
(
JDK1_7
)
>=
0
;
}
public
boolean
allowExoticIdentifiers
()
{
return
compareTo
(
JDK1_7
)
>=
0
;
}
public
boolean
allowStringsInSwitch
()
{
return
compareTo
(
JDK1_7
)
>=
0
;
}
...
...
src/share/classes/com/sun/tools/javac/code/Types.java
浏览文件 @
ee677356
...
...
@@ -2772,6 +2772,8 @@ public class Types {
public
Type
glb
(
Type
t
,
Type
s
)
{
if
(
s
==
null
)
return
t
;
else
if
(
t
.
isPrimitive
()
||
s
.
isPrimitive
())
return
syms
.
errType
;
else
if
(
isSubtypeNoCapture
(
t
,
s
))
return
t
;
else
if
(
isSubtypeNoCapture
(
s
,
t
))
...
...
@@ -2927,6 +2929,15 @@ public class Types {
return
reader
.
enterClass
(
syms
.
boxedName
[
t
.
tag
]);
}
/**
* Return the boxed type if 't' is primitive, otherwise return 't' itself.
*/
public
Type
boxedTypeOrType
(
Type
t
)
{
return
t
.
isPrimitive
()
?
boxedClass
(
t
).
type
:
t
;
}
/**
* Return the primitive type corresponding to a boxed type.
*/
...
...
src/share/classes/com/sun/tools/javac/comp/Infer.java
浏览文件 @
ee677356
...
...
@@ -305,7 +305,8 @@ public class Infer {
uv
.
hibounds
=
hibounds
.
toList
();
}
Type
qtype1
=
types
.
subst
(
that
.
qtype
,
that
.
tvars
,
undetvars
);
if
(!
types
.
isSubtype
(
qtype1
,
to
))
{
if
(!
types
.
isSubtype
(
qtype1
,
qtype1
.
tag
==
UNDETVAR
?
types
.
boxedTypeOrType
(
to
)
:
to
))
{
throw
unambiguousNoInstanceException
.
setMessage
(
"infer.no.conforming.instance.exists"
,
that
.
tvars
,
that
.
qtype
,
to
);
...
...
src/share/classes/com/sun/tools/javac/file/JavacFileManager.java
浏览文件 @
ee677356
...
...
@@ -25,6 +25,7 @@
package
com.sun.tools.javac.file
;
import
java.util.Comparator
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
...
...
@@ -110,6 +111,20 @@ public class JavacFileManager extends BaseFileManager implements StandardJavaFil
protected
boolean
mmappedIO
;
protected
boolean
ignoreSymbolFile
;
protected
enum
SortFiles
implements
Comparator
<
File
>
{
FORWARD
{
public
int
compare
(
File
f1
,
File
f2
)
{
return
f1
.
getName
().
compareTo
(
f2
.
getName
());
}
},
REVERSE
{
public
int
compare
(
File
f1
,
File
f2
)
{
return
-
f1
.
getName
().
compareTo
(
f2
.
getName
());
}
};
};
protected
SortFiles
sortFiles
;
/**
* Register a Context.Factory to create a JavacFileManager.
*/
...
...
@@ -152,6 +167,16 @@ public class JavacFileManager extends BaseFileManager implements StandardJavaFil
mmappedIO
=
options
.
isSet
(
"mmappedIO"
);
ignoreSymbolFile
=
options
.
isSet
(
"ignore.symbol.file"
);
String
sf
=
options
.
get
(
"sortFiles"
);
if
(
sf
!=
null
)
{
sortFiles
=
(
sf
.
equals
(
"reverse"
)
?
SortFiles
.
REVERSE
:
SortFiles
.
FORWARD
);
}
}
@Override
public
boolean
isDefaultBootClassPath
()
{
return
paths
.
isDefaultBootClassPath
();
}
public
JavaFileObject
getFileForInput
(
String
name
)
{
...
...
@@ -293,6 +318,9 @@ public class JavacFileManager extends BaseFileManager implements StandardJavaFil
if
(
files
==
null
)
return
;
if
(
sortFiles
!=
null
)
Arrays
.
sort
(
files
,
sortFiles
);
for
(
File
f:
files
)
{
String
fname
=
f
.
getName
();
if
(
f
.
isDirectory
())
{
...
...
src/share/classes/com/sun/tools/javac/file/Paths.java
浏览文件 @
ee677356
...
...
@@ -114,6 +114,11 @@ public class Paths {
*/
private
File
bootClassPathRtJar
=
null
;
/**
* Is bootclasspath the default?
*/
private
boolean
isDefaultBootClassPath
;
Path
getPathForLocation
(
Location
location
)
{
Path
path
=
pathsForLocation
.
get
(
location
);
if
(
path
==
null
)
...
...
@@ -129,7 +134,7 @@ public class Paths {
if
(
location
==
CLASS_PATH
)
p
=
computeUserClassPath
();
else
if
(
location
==
PLATFORM_CLASS_PATH
)
p
=
computeBootClassPath
();
p
=
computeBootClassPath
();
// sets isDefaultBootClassPath
else
if
(
location
==
ANNOTATION_PROCESSOR_PATH
)
p
=
computeAnnotationProcessorPath
();
else
if
(
location
==
SOURCE_PATH
)
...
...
@@ -138,6 +143,8 @@ public class Paths {
// no defaults for other paths
p
=
null
;
}
else
{
if
(
location
==
PLATFORM_CLASS_PATH
)
isDefaultBootClassPath
=
false
;
p
=
new
Path
();
for
(
File
f:
path
)
p
.
addFile
(
f
,
warn
);
// TODO: is use of warn appropriate?
...
...
@@ -145,6 +152,11 @@ public class Paths {
pathsForLocation
.
put
(
location
,
p
);
}
public
boolean
isDefaultBootClassPath
()
{
lazy
();
return
isDefaultBootClassPath
;
}
protected
void
lazy
()
{
if
(!
inited
)
{
warn
=
lint
.
isEnabled
(
Lint
.
LintCategory
.
PATH
);
...
...
@@ -262,9 +274,10 @@ public class Paths {
}
public
Path
addFiles
(
String
files
,
boolean
warn
)
{
if
(
files
!=
null
)
if
(
files
!=
null
)
{
for
(
File
file
:
getPathEntries
(
files
,
emptyPathDefault
))
addFile
(
file
,
warn
);
}
return
this
;
}
...
...
@@ -334,18 +347,23 @@ public class Paths {
private
Path
computeBootClassPath
()
{
bootClassPathRtJar
=
null
;
String
optionValue
;
Path
path
=
new
Path
();
path
.
addFiles
(
options
.
get
(
XBOOTCLASSPATH_PREPEND
));
String
bootclasspathOpt
=
options
.
get
(
BOOTCLASSPATH
);
String
endorseddirsOpt
=
options
.
get
(
ENDORSEDDIRS
);
String
extdirsOpt
=
options
.
get
(
EXTDIRS
);
String
xbootclasspathPrependOpt
=
options
.
get
(
XBOOTCLASSPATH_PREPEND
);
String
xbootclasspathAppendOpt
=
options
.
get
(
XBOOTCLASSPATH_APPEND
);
if
((
optionValue
=
options
.
get
(
ENDORSEDDIRS
))
!=
null
)
path
.
addDirectories
(
optionValue
);
path
.
addFiles
(
xbootclasspathPrependOpt
);
if
(
endorseddirsOpt
!=
null
)
path
.
addDirectories
(
endorseddirsOpt
);
else
path
.
addDirectories
(
System
.
getProperty
(
"java.endorsed.dirs"
),
false
);
if
(
(
optionValue
=
options
.
get
(
BOOTCLASSPATH
))
!=
null
)
{
path
.
addFiles
(
optionValue
);
if
(
bootclasspathOpt
!=
null
)
{
path
.
addFiles
(
bootclasspathOpt
);
}
else
{
// Standard system classes for this compiler's release.
String
files
=
System
.
getProperty
(
"sun.boot.class.path"
);
...
...
@@ -357,16 +375,21 @@ public class Paths {
}
}
path
.
addFiles
(
options
.
get
(
XBOOTCLASSPATH_APPEND
)
);
path
.
addFiles
(
xbootclasspathAppendOpt
);
// Strictly speaking, standard extensions are not bootstrap
// classes, but we treat them identically, so we'll pretend
// that they are.
if
(
(
optionValue
=
options
.
get
(
EXTDIRS
))
!=
null
)
path
.
addDirectories
(
optionValue
);
if
(
extdirsOpt
!=
null
)
path
.
addDirectories
(
extdirsOpt
);
else
path
.
addDirectories
(
System
.
getProperty
(
"java.ext.dirs"
),
false
);
isDefaultBootClassPath
=
(
xbootclasspathPrependOpt
==
null
)
&&
(
bootclasspathOpt
==
null
)
&&
(
xbootclasspathAppendOpt
==
null
);
return
path
;
}
...
...
src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
浏览文件 @
ee677356
...
...
@@ -2615,7 +2615,6 @@ public class ClassReader implements Completer {
String
binaryName
=
fileManager
.
inferBinaryName
(
currentLoc
,
fo
);
String
simpleName
=
binaryName
.
substring
(
binaryName
.
lastIndexOf
(
"."
)
+
1
);
if
(
SourceVersion
.
isIdentifier
(
simpleName
)
||
fo
.
getKind
()
==
JavaFileObject
.
Kind
.
CLASS
||
simpleName
.
equals
(
"package-info"
))
includeClassFile
(
p
,
fo
);
break
;
...
...
src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
浏览文件 @
ee677356
...
...
@@ -51,6 +51,7 @@ import com.sun.source.util.TaskListener;
import
com.sun.tools.javac.file.JavacFileManager
;
import
com.sun.tools.javac.util.*
;
import
com.sun.tools.javac.code.*
;
import
com.sun.tools.javac.code.Lint.LintCategory
;
import
com.sun.tools.javac.code.Symbol.*
;
import
com.sun.tools.javac.tree.*
;
import
com.sun.tools.javac.tree.JCTree.*
;
...
...
@@ -370,6 +371,15 @@ public class JavaCompiler implements ClassReader.SourceCompleter {
processPcks
=
options
.
isSet
(
"process.packages"
);
werror
=
options
.
isSet
(
WERROR
);
if
(
source
.
compareTo
(
Source
.
DEFAULT
)
<
0
)
{
if
(
options
.
isUnset
(
XLINT_CUSTOM
,
"-"
+
LintCategory
.
OPTIONS
.
option
))
{
if
(
fileManager
instanceof
BaseFileManager
)
{
if
(((
BaseFileManager
)
fileManager
).
isDefaultBootClassPath
())
log
.
warning
(
LintCategory
.
OPTIONS
,
"source.no.bootclasspath"
,
source
.
name
);
}
}
}
verboseCompilePolicy
=
options
.
isSet
(
"verboseCompilePolicy"
);
if
(
attrParseOnly
)
...
...
@@ -783,6 +793,7 @@ public class JavaCompiler implements ClassReader.SourceCompleter {
hasBeenUsed
=
true
;
start_msec
=
now
();
try
{
initProcessAnnotations
(
processors
);
...
...
@@ -797,7 +808,7 @@ public class JavaCompiler implements ClassReader.SourceCompleter {
elapsed_msec
=
delegateCompiler
.
elapsed_msec
;
}
catch
(
Abort
ex
)
{
if
(
devVerbose
)
ex
.
printStackTrace
();
ex
.
printStackTrace
(
System
.
err
);
}
finally
{
if
(
procEnvImpl
!=
null
)
procEnvImpl
.
close
();
...
...
@@ -841,7 +852,7 @@ public class JavaCompiler implements ClassReader.SourceCompleter {
}
}
catch
(
Abort
ex
)
{
if
(
devVerbose
)
ex
.
printStackTrace
();
ex
.
printStackTrace
(
System
.
err
);
}
if
(
verbose
)
{
...
...
src/share/classes/com/sun/tools/javac/main/Main.java
浏览文件 @
ee677356
...
...
@@ -420,7 +420,7 @@ public class Main {
processors
);
if
(
log
.
expectDiagKeys
!=
null
)
{
if
(
log
.
expectDiagKeys
.
size
()
==
0
)
{
if
(
log
.
expectDiagKeys
.
isEmpty
()
)
{
Log
.
printLines
(
log
.
noticeWriter
,
"all expected diagnostics found"
);
return
EXIT_OK
;
}
else
{
...
...
@@ -506,7 +506,7 @@ public class Main {
void
apMessage
(
AnnotationProcessingError
ex
)
{
Log
.
printLines
(
out
,
getLocalizedString
(
"msg.proc.annotation.uncaught.exception"
));
ex
.
getCause
().
printStackTrace
();
ex
.
getCause
().
printStackTrace
(
out
);
}
/** Display the location and checksum of a class. */
...
...
@@ -563,6 +563,7 @@ public class Main {
public
static
void
useRawMessages
(
boolean
enable
)
{
if
(
enable
)
{
messages
=
new
JavacMessages
(
javacBundleName
)
{
@Override
public
String
getLocalizedString
(
String
key
,
Object
...
args
)
{
return
key
;
}
...
...
src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java
浏览文件 @
ee677356
...
...
@@ -172,6 +172,11 @@ public class JavacPathFileManager extends BaseFileManager implements PathFileMan
return
getClassLoader
(
lb
.
toArray
(
new
URL
[
lb
.
size
()]));
}
@Override
public
boolean
isDefaultBootClassPath
()
{
return
searchPaths
.
isDefaultBootClassPath
();
}
// <editor-fold defaultstate="collapsed" desc="Location handling">
public
boolean
hasLocation
(
Location
location
)
{
...
...
src/share/classes/com/sun/tools/javac/parser/Scanner.java
浏览文件 @
ee677356
...
...
@@ -66,10 +66,6 @@ public class Scanner implements Lexer {
*/
private
boolean
allowUnderscoresInLiterals
;
/** Allow exotic identifiers.
*/
private
boolean
allowExoticIdentifiers
;
/** The source language setting.
*/
private
Source
source
;
...
...
@@ -143,7 +139,6 @@ public class Scanner implements Lexer {
allowBinaryLiterals
=
source
.
allowBinaryLiterals
();
allowHexFloats
=
source
.
allowHexFloats
();
allowUnderscoresInLiterals
=
source
.
allowBinaryLiterals
();
allowExoticIdentifiers
=
source
.
allowExoticIdentifiers
();
// for invokedynamic
}
private
static
final
boolean
hexFloatsWork
=
hexFloatsWork
();
...
...
@@ -295,7 +290,7 @@ public class Scanner implements Lexer {
/** Read next character in character or string literal and copy into sbuf.
*/
private
void
scanLitChar
(
boolean
forBytecodeName
)
{
private
void
scanLitChar
()
{
if
(
ch
==
'\\'
)
{
if
(
buf
[
bp
+
1
]
==
'\\'
&&
unicodeConversionBp
!=
bp
)
{
bp
++;
...
...
@@ -335,18 +330,6 @@ public class Scanner implements Lexer {
putChar
(
'\"'
);
scanChar
();
break
;
case
'\\'
:
putChar
(
'\\'
);
scanChar
();
break
;
case
'|'
:
case
','
:
case
'?'
:
case
'%'
:
case
'^'
:
case
'_'
:
case
'{'
:
case
'}'
:
case
'!'
:
case
'-'
:
case
'='
:
if
(
forBytecodeName
)
{
// Accept escape sequences for dangerous bytecode chars.
// This is illegal in normal Java string or character literals.
// Note that the escape sequence itself is passed through.
putChar
(
'\\'
);
putChar
(
ch
);
scanChar
();
}
else
{
lexError
(
bp
,
"illegal.esc.char"
);
}
break
;
default
:
lexError
(
bp
,
"illegal.esc.char"
);
}
...
...
@@ -355,24 +338,6 @@ public class Scanner implements Lexer {
putChar
(
ch
);
scanChar
();
}
}
private
void
scanLitChar
()
{
scanLitChar
(
false
);
}
/** Read next character in an exotic name #"foo"
*/
private
void
scanBytecodeNameChar
()
{
switch
(
ch
)
{
// reject any "dangerous" char which is illegal somewhere in the JVM spec
// cf. http://blogs.sun.com/jrose/entry/symbolic_freedom_in_the_vm
case
'/'
:
case
'.'
:
case
';'
:
// illegal everywhere
case
'<'
:
case
'>'
:
// illegal in methods, dangerous in classes
case
'['
:
// illegal in classes
lexError
(
bp
,
"illegal.bytecode.ident.char"
,
String
.
valueOf
((
int
)
ch
));
break
;
}
scanLitChar
(
true
);
}
private
void
scanDigits
(
int
digitRadix
)
{
char
saveCh
;
...
...
@@ -970,30 +935,6 @@ public class Scanner implements Lexer {
lexError
(
pos
,
"unclosed.str.lit"
);
}
return
;
case
'#'
:
scanChar
();
if
(
ch
==
'\"'
)
{
if
(!
allowExoticIdentifiers
)
{
lexError
(
"unsupported.exotic.id"
,
source
.
name
);
allowExoticIdentifiers
=
true
;
}
scanChar
();
if
(
ch
==
'\"'
)
lexError
(
pos
,
"empty.bytecode.ident"
);
while
(
ch
!=
'\"'
&&
ch
!=
CR
&&
ch
!=
LF
&&
bp
<
buflen
)
{
scanBytecodeNameChar
();
}
if
(
ch
==
'\"'
)
{
name
=
names
.
fromChars
(
sbuf
,
0
,
sp
);
token
=
IDENTIFIER
;
// even if #"int" or #"do"
scanChar
();
}
else
{
lexError
(
pos
,
"unclosed.bytecode.ident"
);
}
}
else
{
lexError
(
"illegal.char"
,
String
.
valueOf
((
int
)
'#'
));
}
return
;
default
:
if
(
isSpecial
(
ch
))
{
scanOperator
();
...
...
src/share/classes/com/sun/tools/javac/resources/compiler.properties
浏览文件 @
ee677356
...
...
@@ -153,8 +153,6 @@ compiler.err.duplicate.default.label=\
compiler.err.else.without.if
=
\
''else'' without ''if''
compiler.err.empty.bytecode.ident
=
\
empty bytecode identifier
compiler.err.empty.char.lit
=
\
empty character literal
compiler.err.encl.class.required
=
\
...
...
@@ -201,8 +199,6 @@ compiler.err.generic.throwable=\
compiler.err.icls.cant.have.static.decl
=
\
inner classes cannot have static declarations
compiler.err.illegal.bytecode.ident.char
=
\
illegal bytecode identifier character:
\\
{0}
compiler.err.illegal.char
=
\
illegal character:
\\
{0}
compiler.err.illegal.char.for.encoding
=
\
...
...
@@ -472,8 +468,6 @@ compiler.err.type.var.more.than.once.in.result=\
compiler.err.types.incompatible.diff.ret
=
\
types {0} and {1} are incompatible; both define {2}, but with unrelated return types
compiler.err.unclosed.bytecode.ident
=
\
unclosed bytecode identifier
compiler.err.unclosed.char.lit
=
\
unclosed character literal
compiler.err.unclosed.comment
=
\
...
...
@@ -770,6 +764,9 @@ compiler.warn.big.major.version=\
compiler.warn.static.not.qualified.by.type
=
\
static {0} should be qualified by type name, {1}, instead of by an expression
compiler.warn.source.no.bootclasspath
=
\
bootstrap class path not set in conjunction with -source {0}
# Warnings related to annotation processing
compiler.warn.proc.package.does.not.exist
=
\
package {0} does not exist
...
...
@@ -1269,10 +1266,6 @@ compiler.err.unsupported.underscore.lit=\
underscores in literals are not supported in -source {0}
\n\
(use -source 7 or higher to enable underscores in literals)
compiler.err.unsupported.exotic.id
=
\
exotic identifiers #"___" are not supported in -source {0}
\n\
(use -source 7 or higher to enable exotic identifiers)
compiler.err.try.with.resources.not.supported.in.source
=
\
try-with-resources is not supported in -source {0}
\n\
(use -source 7 or higher to enable try-with-resources)
...
...
src/share/classes/com/sun/tools/javac/util/BaseFileManager.java
浏览文件 @
ee677356
...
...
@@ -59,7 +59,7 @@ import javax.tools.JavaFileObject.Kind;
* There are no references here to file-system specific objects such as
* java.io.File or java.nio.file.Path.
*/
public
class
BaseFileManager
{
public
abstract
class
BaseFileManager
{
protected
BaseFileManager
(
Charset
charset
)
{
this
.
charset
=
charset
;
byteBufferCache
=
new
ByteBufferCache
();
...
...
@@ -163,6 +163,9 @@ public class BaseFileManager {
}
return
-
1
;
}
public
abstract
boolean
isDefaultBootClassPath
();
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Encoding">
...
...
src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java
浏览文件 @
ee677356
...
...
@@ -62,6 +62,7 @@ class JavadocClassReader extends ClassReader {
private
JavadocClassReader
(
Context
context
)
{
super
(
context
,
true
);
docenv
=
DocEnv
.
instance
(
context
);
preferSource
=
true
;
}
/**
...
...
test/tools/javac/6341866/T6341866.java
浏览文件 @
ee677356
...
...
@@ -97,7 +97,7 @@ public class T6341866 {
processorServices
.
delete
();
List
<
String
>
opts
=
new
ArrayList
<
String
>();
opts
.
addAll
(
Arrays
.
asList
(
"-d"
,
"."
,
"-sourcepath"
,
testSrc
,
"-classpath"
,
testClasses
,
"-source"
,
"1.6"
));
opts
.
addAll
(
Arrays
.
asList
(
"-d"
,
"."
,
"-sourcepath"
,
testSrc
,
"-classpath"
,
testClasses
,
"-source"
,
"1.6"
,
"-Xlint:-options"
));
if
(
implicitType
.
opt
!=
null
)
opts
.
add
(
implicitType
.
opt
);
...
...
test/tools/javac/ClassFileModifiers/MemberModifiers.java
浏览文件 @
ee677356
...
...
@@ -26,7 +26,7 @@
* @bug 4249112 4785453
* @summary Verify that implicit member modifiers are set correctly.
*
* @compile/ref=MemberModifiers.out -source 1.4 -target 1.4.2 -XDdumpmodifiers=cfm MemberModifiers.java
* @compile/ref=MemberModifiers.out -source 1.4 -target 1.4.2 -X
lint:-options -X
Ddumpmodifiers=cfm MemberModifiers.java
*/
// Currently, we check only that members of final classes are not final.
...
...
test/tools/javac/
diags/examples/UnsupportedExoticID
.java
→
test/tools/javac/
T6900037
.java
浏览文件 @
ee677356
...
...
@@ -21,11 +21,14 @@
* questions.
*/
// key: compiler.err.unsupported.exotic.id
// options: -source 6
/*
* @test
* @bug 6900037
* @summary javac should warn if earlier -source is used and bootclasspath not set
* @compile T6900037.java
* @compile -source 1.6 T6900037.java
* @compile/fail/ref=T6900037.out -XDrawDiagnostics -Werror -source 1.6 T6900037.java
* @compile -Werror -source 1.6 -Xlint:-options T6900037.java
*/
class
UnsupportedExoticID
{
void
m
()
{
Object
#
"Hello!"
=
null
;
}
}
class
T6900037
{
}
test/tools/javac/T6900037.out
0 → 100644
浏览文件 @
ee677356
- compiler.warn.source.no.bootclasspath: 1.6
- compiler.err.warnings.and.werror
1 error
1 warning
test/tools/javac/TryWithResources/PlainTry.java
浏览文件 @
ee677356
...
...
@@ -3,8 +3,8 @@
* @bug 6911256 6964740
* @author Joseph D. Darcy
* @summary Test error messages for an unadorned try
* @compile/fail/ref=PlainTry6.out -XDrawDiagnostics -source 6 PlainTry.java
* @compile/fail/ref=PlainTry.out -XDrawDiagnostics PlainTry.java
* @compile/fail/ref=PlainTry6.out -XDrawDiagnostics -source 6
-Xlint:-options
PlainTry.java
* @compile/fail/ref=PlainTry.out -XDrawDiagnostics
PlainTry.java
*/
public
class
PlainTry
{
public
static
void
main
(
String
...
args
)
{
...
...
test/tools/javac/annotations/neg/Dep.java
浏览文件 @
ee677356
...
...
@@ -27,9 +27,9 @@
* @summary Please add annotation <at>Deprecated to supplant the javadoc tag
* @author gafter
*
* @compile -source 1.4 -Xlint:dep-ann -Werror Dep.java
* @compile/fail -Xlint:dep-ann -Werror Dep.java
* @compile -Xlint:dep-ann Dep.java
* @compile -source 1.4 -Xlint:
-options -Xlint:
dep-ann -Werror Dep.java
* @compile/fail
-Xlint:dep-ann -Werror Dep.java
* @compile
-Xlint:dep-ann Dep.java
*/
/** @deprecated */
...
...
test/tools/javac/diags/examples/AnnotationsNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.annotations.not.supported.in.source
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
@Deprecated
class
AnnotationsNotSupported
{
}
test/tools/javac/diags/examples/AssertAsIdentifier.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.warn.assert.as.identifier
// options: -source 1.3
// options: -source 1.3
-Xlint:-options
class
AssertAsIdentifier
{
int
assert
;
...
...
test/tools/javac/diags/examples/DiamondNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.diamond.not.supported.in.source
// options: -source 6
// options: -source 6
-Xlint:-options
import
java.util.*
;
...
...
test/tools/javac/diags/examples/EnumAsIdentifier.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.warn.enum.as.identifier
// options: -source 1.3
// options: -source 1.3
-Xlint:-options
class
EnumAsIdentifier
{
int
enum
;
...
...
test/tools/javac/diags/examples/EnumsNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,6 +22,6 @@
*/
// key: compiler.err.enums.not.supported.in.source
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
enum
EnumsNotSupported
{
A
,
B
,
C
}
test/tools/javac/diags/examples/Expected2.java
浏览文件 @
ee677356
...
...
@@ -22,6 +22,6 @@
*/
// key: compiler.err.expected2
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
int
Expected2
;
test/tools/javac/diags/examples/ForeachNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.foreach.not.supported.in.source
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
class
ForeachNotSupported
{
void
m
(
String
[]
args
)
{
...
...
test/tools/javac/diags/examples/GenericsNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,6 +22,6 @@
*/
// key: compiler.err.generics.not.supported.in.source
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
class
GenericsNotSupported
<
T
>
{
}
test/tools/javac/diags/examples/MulticatchNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.multicatch.not.supported.in.source
// options: -source 1.6
// options: -source 1.6
-Xlint:-options
class
MulticatchNotSupported
{
class
E1
extends
Exception
{
}
...
...
test/tools/javac/diags/examples/NeitherConditionalSubtype.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.neither.conditional.subtype
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
class
X
{
Object
m
(
boolean
b
)
{
...
...
test/tools/javac/diags/examples/
IllegalBytecodeIdentChar
.java
→
test/tools/javac/diags/examples/
SourceNoBootclasspath
.java
浏览文件 @
ee677356
...
...
@@ -21,8 +21,7 @@
* questions.
*/
// key: compiler.err.illegal.bytecode.ident.char
// key: compiler.warn.source.no.bootclasspath
// options: -source 6
class
IllegalBytecodeIdentChar
{
int
#
"abc/def"
=
3
;
}
class
SourceNoBootclasspath
{
}
test/tools/javac/diags/examples/StaticImportNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.static.import.not.supported.in.source
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
import
static
java
.
util
.
regex
.
Pattern
.*;
...
...
test/tools/javac/diags/examples/StringSwitchNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.string.switch.not.supported.in.source
// options: -source 6
// options: -source 6
-Xlint:-options
class
StringSwitchNotSupported
{
int
m
(
String
s
)
{
...
...
test/tools/javac/diags/examples/TryResourceNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.try.with.resources.not.supported.in.source
// options: -source 1.6
// options: -source 1.6
-Xlint:-options
import
java.io.*
;
...
...
test/tools/javac/diags/examples/TryWithoutCatchOrFinally.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.try.without.catch.or.finally
// options: -source 1.6
// options: -source 1.6
-Xlint:-options
class
TryWithoutCatchOrFinally
{
void
m
()
{
...
...
test/tools/javac/diags/examples/UnsupportedBinaryLiteral.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.unsupported.binary.lit
// options: -source 6
// options: -source 6
-Xlint:-options
class
UnsupportedBinaryLiteral
{
int
i
=
0b01000010
;
...
...
test/tools/javac/diags/examples/UnsupportedFpLit.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.unsupported.fp.lit
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
class
UnsupportedFpLit
{
float
f
=
0xCafe
.
BabeP1
;
...
...
test/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.unsupported.underscore.lit
// options: -source 6
// options: -source 6
-Xlint:-options
class
UnsupportedUnderscoreLiteral
{
int
i
=
123_456_789
;
...
...
test/tools/javac/diags/examples/VarargsNotSupported.java
浏览文件 @
ee677356
...
...
@@ -22,7 +22,7 @@
*/
// key: compiler.err.varargs.not.supported.in.source
// options: -source 1.4
// options: -source 1.4
-Xlint:-options
class
VarargsNotSupported
{
void
m
(
String
...
args
)
{
}
...
...
test/tools/javac/enum/6384542/T6384542.java
浏览文件 @
ee677356
...
...
@@ -3,8 +3,8 @@
* @bug 6384542
* @summary crash: test/tools/javac/versions/check.sh
* @author Peter von der Ah\u00e9
* @compile/fail -source 1.4 T6384542.java
* @compile/fail/ref=T6384542.out -source 1.4 -XDrawDiagnostics T6384542.java
* @compile/fail -source 1.4
-Xlint:-options
T6384542.java
* @compile/fail/ref=T6384542.out -source 1.4 -X
lint:-options -X
DrawDiagnostics T6384542.java
*/
import
static
java
.
lang
.
Math
.
sin
;
...
...
test/tools/javac/enum/6384542/T6384542a.java
浏览文件 @
ee677356
...
...
@@ -5,8 +5,8 @@
* @author Peter von der Ah\u00e9
* @compile/fail -source 5 T6384542a.java
* @compile -source 1.4 T6384542a.java
* @compile/fail/ref=T6384542a_5.out -source 5 -XDrawDiagnostics T6384542a.java
* @compile/ref=T6384542a_1_4.out -source 1.4 -XDrawDiagnostics T6384542a.java
* @compile/fail/ref=T6384542a_5.out -source 5 -X
lint:-options -X
DrawDiagnostics T6384542a.java
* @compile/ref=T6384542a_1_4.out -source 1.4 -X
lint:-options -X
DrawDiagnostics T6384542a.java
*/
public
class
T6384542a
{
...
...
test/tools/javac/generics/inference/6638712/T6638712a.java
浏览文件 @
ee677356
...
...
@@ -10,7 +10,7 @@ import java.util.*;
class
T6638712a
{
<
T
>
Comparator
<
T
>
compound
(
Iterable
<?
extends
Comparator
<?
super
T
>>
it
)
{}
<
T
>
Comparator
<
T
>
compound
(
Iterable
<?
extends
Comparator
<?
super
T
>>
it
)
{
return
null
;
}
public
void
test
(
List
<
Comparator
<?>>
x
)
{
Comparator
<
String
>
c3
=
compound
(
x
);
...
...
test/tools/javac/generics/inference/6995200/T6995200.java
0 → 100644
浏览文件 @
ee677356
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 6995200
*
* @summary JDK 7 compiler crashes when type-variable is inferred from expected primitive type
* @author mcimadamore
* @compile T6995200.java
*
*/
import
java.util.List
;
class
T6995200
{
static
<
T
>
T
getValue
()
{
return
null
;
}
<
X
>
void
test
()
{
byte
v1
=
getValue
();
short
v2
=
getValue
();
int
v3
=
getValue
();
long
v4
=
getValue
();
float
v5
=
getValue
();
double
v6
=
getValue
();
String
v7
=
getValue
();
String
[]
v8
=
getValue
();
List
<
String
>
v9
=
getValue
();
List
<
String
>[]
v10
=
getValue
();
List
<?
extends
String
>
v11
=
getValue
();
List
<?
extends
String
>[]
v12
=
getValue
();
List
<?
super
String
>
v13
=
getValue
();
List
<?
super
String
>[]
v14
=
getValue
();
List
<?>
v15
=
getValue
();
List
<?>[]
v16
=
getValue
();
X
v17
=
getValue
();
X
[]
v18
=
getValue
();
List
<
X
>
v19
=
getValue
();
List
<
X
>[]
v20
=
getValue
();
List
<?
extends
X
>
v21
=
getValue
();
List
<?
extends
X
>[]
v22
=
getValue
();
List
<?
super
X
>
v23
=
getValue
();
List
<?
super
X
>[]
v24
=
getValue
();
}
}
test/tools/javac/literals/BadBinaryLiterals.java
浏览文件 @
ee677356
...
...
@@ -2,7 +2,7 @@
* @test /nodynamiccopyright/
* @bug 6860965
* @summary Project Coin: binary literals
* @compile/fail/ref=BadBinaryLiterals.6.out -XDrawDiagnostics -source 6 BadBinaryLiterals.java
* @compile/fail/ref=BadBinaryLiterals.6.out -XDrawDiagnostics -source 6
-Xlint:-options
BadBinaryLiterals.java
* @compile/fail/ref=BadBinaryLiterals.7.out -XDrawDiagnostics BadBinaryLiterals.java
*/
...
...
test/tools/javac/literals/BadUnderscoreLiterals.java
浏览文件 @
ee677356
...
...
@@ -7,7 +7,7 @@
* @compile/fail/ref=BadUnderscoreLiterals.7.out -XDrawDiagnostics BadUnderscoreLiterals.java
*
* @compile/fail -source 6 BadUnderscoreLiterals.java
* @compile/fail/ref=BadUnderscoreLiterals.6.out -XDrawDiagnostics -source 6 BadUnderscoreLiterals.java
* @compile/fail/ref=BadUnderscoreLiterals.6.out -XDrawDiagnostics -source 6
-Xlint:-options
BadUnderscoreLiterals.java
*/
public
class
BadUnderscoreLiterals
{
...
...
test/tools/javac/meth/InvokeDyn.java
浏览文件 @
ee677356
...
...
@@ -58,7 +58,7 @@ public class InvokeDyn {
ojunk
=
InvokeDynamic
.
greet
(
x
,
"mundus"
,
456
);
ojunk
=
InvokeDynamic
.
greet
(
x
,
"kosmos"
,
789
);
ojunk
=
(
String
)
InvokeDynamic
.
cogitate
(
10.11121
,
3.14
);
InvokeDynamic
.
#
"yow: what I mean to say is, please treat this one specially"
(
null
);
//
InvokeDynamic.#"yow: what I mean to say is, please treat this one specially"(null);
ijunk
=
(
int
)
InvokeDynamic
.
invoke
(
"goodbye"
);
}
}
test/tools/javac/meth/InvokeDynTrans.java
浏览文件 @
ee677356
/*
* Copyright (c) 2008
-
2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008
,
2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -53,7 +53,7 @@ public class InvokeDynTrans {
InvokeDynamic
.
greet
(
x
,
"mundus"
,
456
);
InvokeDynamic
.
greet
(
x
,
"kosmos"
,
789
);
InvokeDynamic
.<
String
>
cogitate
(
10.11121
,
3.14
);
InvokeDynamic
.<
void
>
#
"yow: what I mean to say is, please treat this one specially"
(
null
);
//
InvokeDynamic.<void>#"yow: what I mean to say is, please treat this one specially"(null);
InvokeDynamic
.<
int
>
invoke
(
"goodbye"
);
}
}
test/tools/javac/meth/InvokeDynTrans.out
浏览文件 @
ee677356
InvokeDynTrans.java:55:39: compiler.warn.type.parameter.on.polymorphic.signature
InvokeDynTrans.java:56:91: compiler.warn.type.parameter.on.polymorphic.signature
InvokeDynTrans.java:57:34: compiler.warn.type.parameter.on.polymorphic.signature
- compiler.err.warnings.and.werror
1 error
3
warnings
2
warnings
test/tools/javac/processing/warnings/TestSourceVersionWarnings.java
浏览文件 @
ee677356
...
...
@@ -27,15 +27,15 @@
* @summary Test that warnings about source versions are output as expected.
* @author Joseph D. Darcy
* @compile TestSourceVersionWarnings.java
* @compile/ref=gold_0.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -source 1.5 HelloWorld.java
* @compile/ref=gold_sv_warn_0_2.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_0 -source 1.2 HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.2 HelloWorld.java
* @compile/ref=gold_sv_warn_2_3.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.3 HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.5 HelloWorld.java
* @compile/ref=gold_sv_warn_5_6.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.6 HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6 HelloWorld.java
* @compile/ref=gold_unsp_warn.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6 -Aunsupported HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_7 -source 1.7 HelloWorld.java
* @compile/ref=gold_0.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -source 1.5
-Xlint:-options
HelloWorld.java
* @compile/ref=gold_sv_warn_0_2.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_0 -source 1.2
-Xlint:-options
HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.2
-Xlint:-options
HelloWorld.java
* @compile/ref=gold_sv_warn_2_3.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_2 -source 1.3
-Xlint:-options
HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.5
-Xlint:-options
HelloWorld.java
* @compile/ref=gold_sv_warn_5_6.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_5 -source 1.6
-Xlint:-options
HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6
-Xlint:-options
HelloWorld.java
* @compile/ref=gold_unsp_warn.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_6 -source 1.6 -
Xlint:-options -
Aunsupported HelloWorld.java
* @compile/ref=gold_sv_none.out -XDrawDiagnostics -processor TestSourceVersionWarnings -proc:only -ASourceVersion=RELEASE_7 -source 1.7
HelloWorld.java
*/
import
java.util.Set
;
...
...
test/tools/javac/quid/QuotedIdent.java
已删除
100644 → 0
浏览文件 @
d7291d7b
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 6746458
* @summary Verify correct lexing of quoted identifiers.
* @author jrose
* @ignore 6877225 test fails on Windows:
* QuotedIdent.java:81: error while writing QuotedIdent.*86: PATH\QuotedIdent$*86.class
* (The filename, directory name, or volume label syntax is incorrect)
*
* @library ..
* @compile -source 7 -target 7 -XDinvokedynamic QuotedIdent.java
* @run main quid.QuotedIdent
*/
/*
* Standalone testing:
* <code>
* $ cd $MY_REPO_DIR/langtools
* $ (cd make; make)
* $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/quid/QuotedIdent.java
* $ java -version # should print 1.6 or later
* $ java -cp dist quid.QuotedIdent
* </code>
*/
package
quid
;
public
class
QuotedIdent
{
static
void
check
(
int
testid
,
String
have
,
String
expect
)
throws
RuntimeException
{
if
((
have
==
null
&&
have
!=
expect
)
||
(
have
!=
null
&&
!
have
.
equals
(
expect
)))
{
String
msg
=
"TEST "
+
testid
+
": HAVE \""
+
have
+
"\" EXPECT \""
+
expect
+
"\""
;
System
.
out
.
println
(
"StringConversion: "
+
msg
);
throw
new
RuntimeException
(
msg
);
}
}
// negative tests:
//static class #"" { } //BAD empty ident name
//static class #"<foo>" { } //BAD bad char in ident name
/*static class /*(//BAD ident name interrupted by newline) #"jump:
" { } /* uncomment previous line to attempt class w/ bad name */
static
class
#"
int
" extends Number {
final int #"
int
";
#"
int
"(int #"
int
") {
this.#"
int
" = #"
int
";
}
static #"
int
" valueOf(int #"
int
") {
return new #"
int
"(#"
int
");
}
public int intValue() { return #"
int
"; }
public long longValue() { return #"
int
"; }
public float floatValue() { return #"
int
"; }
public double doubleValue() { return #"
int
"; }
public String toString() { return String.valueOf(#"
int
"); }
}
class #"
*
86
" {
String #"
555
-
1212
"() { return "
[*
86.555
-
1212
]
"; }
}
static#"
*
86
"#"
MAKE
-*
86
"() { // note close spacing
return new QuotedIdent().new#"
*
86
"();
}
static String bar() { return "
[
bar
]
"; }
public static void main(String[] args) throws Exception {
String s;
String #"
sticky
\'
wicket
" = "
wicked
'
stick
";
s = #"
sticky
'
wicket
";
check(11, s, "
wicked
\'
stick
");
check(12, #"
s
", s);
check(13, #"
\
163
", s);
s = #"
QuotedIdent
".bar();
check(21, s, "
[
bar
]
");
s = #"
int
".valueOf(123).toString();
check(22, s, "
123
");
s = #"
MAKE
-*
86
"().#"
555
-
1212
"();
check(23, s, "
[*
86.555
-
1212
]
");
class#"
{{{
inmost
}}}
" { }
s = new#"
{{{
inmost
}}}
"().getClass().getName();
if (!s.endsWith("
{{{
inmost
}}}
"))
check(24, s, "
should
end
with
\
"{{{inmost}}}\""
);
s
=
#
"Yog-Shoggoth"
.
#
"(nameless ululation)"
;
check
(
25
,
s
,
"Tekeli-li!"
);
s
=
#
"int"
.
class
.
getName
();
check
(
31
,
s
,
QuotedIdent
.
class
.
getName
()+
"$int"
);
Class
<?>
x86
=
Class
.
forName
(
QuotedIdent
.
class
.
getName
()+
"$*86"
);
if
(
x86
!=
#
"*86"
.
class
)
check
(
32
,
"reflected "
+
x86
,
"static "
+
#
"*86"
.
class
);
s
=
(
String
)
x86
.
getDeclaredMethod
(
"555-1212"
).
invoke
(
#
"MAKE-*86"
());
check
(
31
,
s
,
"[*86.555-1212]"
);
System
.
out
.
println
(
"OK"
);
}
}
interface
#"
Yog
-
Shoggoth
" {
final String #"
(
nameless
ululation
)
" = "
Tekeli
-
li
!
"
;
}
test/tools/javac/quid/QuotedIdent2.java
已删除
100644 → 0
浏览文件 @
d7291d7b
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 6746458
* @summary Verify correct separate compilation of classes with extended identifiers.
* @author jrose
* @ignore 6877225 test fails on Windows:
* QuotedIdent.java:81: error while writing QuotedIdent.*86: PATH\QuotedIdent$*86.class
* (The filename, directory name, or volume label syntax is incorrect)
*
* @library ..
* @compile -source 7 -target 7 -XDinvokedynamic QuotedIdent.java
* @run main quid.QuotedIdent2
*/
/*
* Standalone testing:
* <code>
* $ cd $MY_REPO_DIR/langtools
* $ (cd make; make)
* $ ./dist/bootstrap/bin/javac -d dist test/tools/javac/quid/QuotedIdent.java
* $ ./dist/bootstrap/bin/javac -d dist -cp dist test/tools/javac/quid/QuotedIdent2.java
* $ java -version # should print 1.6 or later
* $ java -cp dist QuotedIdent2
* </code>
*/
package
quid
;
import
quid.QuotedIdent.*
;
import
quid.QuotedIdent.
#
"*86"
;
import
static
quid
.
QuotedIdent
.
#
"MAKE-*86"
;
public
class
QuotedIdent2
{
static
void
check
(
int
testid
,
String
have
,
String
expect
)
throws
RuntimeException
{
QuotedIdent
.
check
(
testid
,
have
,
expect
);
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
String
s
;
s
=
#
"int"
.
valueOf
(
123
).
toString
();
check
(
22
,
s
,
"123"
);
s
=
#
"MAKE-*86"
().
#
"555-1212"
();
check
(
23
,
s
,
"[*86.555-1212]"
);
s
=
#
"Yog-Shoggoth"
.
#
"(nameless ululation)"
;
check
(
25
,
s
,
"Tekeli-li!"
);
s
=
QuotedIdent
.
#
"int"
.
class
.
getName
();
check
(
31
,
s
,
QuotedIdent
.
class
.
getName
()+
"$int"
);
Class
<?>
x86
=
Class
.
forName
(
QuotedIdent
.
class
.
getName
()+
"$*86"
);
if
(
x86
!=
#
"*86"
.
class
)
check
(
32
,
"reflected "
+
x86
,
"static "
+
#
"*86"
.
class
);
s
=
(
String
)
x86
.
getDeclaredMethod
(
"555-1212"
).
invoke
(
QuotedIdent
.
#
"MAKE-*86"
());
check
(
31
,
s
,
"[*86.555-1212]"
);
System
.
out
.
println
(
"OK"
);
}
}
test/tools/javac/quid/T6999438.java
0 → 100644
浏览文件 @
ee677356
/* @test /nodynamiccopyright/
* @bug 6999438
* @summary remove support for exotic identifiers from JDK 7
* @compile/fail/ref=T6999438.out -XDrawDiagnostics -source 7 T6999438.java
*/
class
Test
{
int
#
"not supported"
;
}
test/tools/javac/quid/T6999438.out
0 → 100644
浏览文件 @
ee677356
T6999438.java:8:9: compiler.err.illegal.char: 35
T6999438.java:8:10: compiler.err.illegal.start.of.type
T6999438.java:8:25: compiler.err.expected: token.identifier
T6999438.java:8:26: compiler.err.expected: ';'
T6999438.java:9:2: compiler.err.premature.eof
5 errors
test/tools/javac/varargs/warning/Warn1.java
浏览文件 @
ee677356
...
...
@@ -27,7 +27,7 @@
* @summary fixed-arity warning given too often
* @author gafter
*
* @compile -Werror -source 1.4 Warn1.java
* @compile -Werror -source 1.4
-Xlint:-options
Warn1.java
*/
package
varargs.warning.warn1
;
...
...
test/tools/javadoc/6942366/T6942366.java
0 → 100644
浏览文件 @
ee677356
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 6942366
* @summary javadoc no longer inherits doc from sourcepath
* @build p.Base Test
* @run main T6942366
*/
import
java.io.*
;
import
java.util.*
;
public
class
T6942366
{
public
static
void
main
(
String
...
args
)
throws
Exception
{
new
T6942366
().
run
();
}
File
testSrc
;
File
testClasses
;
int
count
;
int
errors
;
void
run
()
throws
Exception
{
testSrc
=
new
File
(
System
.
getProperty
(
"test.src"
));
testClasses
=
new
File
(
System
.
getProperty
(
"test.classes"
));
test
(
true
,
false
);
test
(
false
,
true
);
test
(
true
,
true
);
if
(
errors
>
0
)
throw
new
Exception
(
errors
+
" errors found"
);
}
void
test
(
boolean
useSourcePath
,
boolean
useClassPath
)
throws
Exception
{
System
.
out
.
println
(
"test "
+
(++
count
)
+
" sp:"
+
useSourcePath
+
" cp:"
+
useClassPath
);
File
testDir
=
new
File
(
"test"
+
count
);
testDir
.
mkdirs
();
List
<
String
>
args
=
new
ArrayList
<
String
>();
//args.add("-verbose");
args
.
add
(
"-d"
);
args
.
add
(
testDir
.
getPath
());
if
(
useSourcePath
)
{
args
.
add
(
"-sourcepath"
);
args
.
add
(
testSrc
.
getPath
());
}
if
(
useClassPath
)
{
args
.
add
(
"-classpath"
);
args
.
add
(
testClasses
.
getPath
());
}
else
{
// override classpath to avoid stuff jtreg might have put on papth
args
.
add
(
"-classpath"
);
args
.
add
(
"."
);
}
// use a very simple bootclasspath to avoid stuff jtreg might have put on path
File
javaHome
=
new
File
(
System
.
getProperty
(
"java.home"
));
File
rt_jar
=
new
File
(
javaHome
,
"lib/rt.jar"
);
if
(!
rt_jar
.
exists
())
throw
new
Exception
(
"rt.jar not found"
);
args
.
add
(
"-bootclasspath"
);
args
.
add
(
rt_jar
.
getPath
());
args
.
add
(
new
File
(
testSrc
,
"Test.java"
).
getPath
());
System
.
out
.
println
(
"javadoc: "
+
args
);
int
rc
=
com
.
sun
.
tools
.
javadoc
.
Main
.
execute
(
args
.
toArray
(
new
String
[
args
.
size
()]));
if
(
rc
!=
0
)
throw
new
Exception
(
"unexpected exit from javadoc, rc="
+
rc
);
if
(
useSourcePath
&&
useClassPath
)
{
long
srcLastMod
=
new
File
(
testSrc
,
"Test.java"
).
lastModified
();
long
classLastMod
=
new
File
(
testClasses
,
"Test.class"
).
lastModified
();
System
.
out
.
println
(
"Test.java last modified: "
+
new
Date
(
srcLastMod
));
System
.
out
.
println
(
"Test.class last modified: "
+
new
Date
(
classLastMod
));
System
.
out
.
println
((
srcLastMod
>
classLastMod
?
"source"
:
"class"
)
+
" is newer"
);
}
String
s
=
"javadoc-for-Base.m"
;
boolean
expect
=
useSourcePath
;
boolean
found
=
contains
(
new
File
(
testDir
,
"Test.html"
),
s
);
if
(
found
)
{
if
(
expect
)
System
.
out
.
println
(
"javadoc content \""
+
s
+
"\" found, as expected"
);
else
error
(
"javadoc content \""
+
s
+
"\" found unexpectedly"
);
}
else
{
if
(
expect
)
error
(
"javadoc content \""
+
s
+
"\" not found"
);
else
System
.
out
.
println
(
"javadoc content \""
+
s
+
"\" not found, as expected"
);
}
System
.
out
.
println
();
}
boolean
contains
(
File
f
,
String
s
)
throws
Exception
{
byte
[]
buf
=
new
byte
[(
int
)
f
.
length
()];
try
(
DataInputStream
in
=
new
DataInputStream
(
new
FileInputStream
(
f
)))
{
in
.
readFully
(
buf
);
}
return
new
String
(
buf
).
contains
(
s
);
}
void
error
(
String
msg
)
{
System
.
out
.
println
(
"Error: "
+
msg
);
errors
++;
}
}
test/tools/java
c/diags/examples/EmptyBytecodeIden
t.java
→
test/tools/java
doc/6942366/Tes
t.java
浏览文件 @
ee677356
...
...
@@ -21,8 +21,8 @@
* questions.
*/
// key: compiler.err.empty.bytecode.ident
class
EmptyBytecodeIdent
{
int
#
""
=
3
;
public
class
Test
extends
p
.
Base
{
// overrides Base.m
public
void
m
()
{
}
}
test/tools/java
c/diags/examples/UnclosedBytecodeIdent
.java
→
test/tools/java
doc/6942366/p/Base
.java
浏览文件 @
ee677356
...
...
@@ -21,8 +21,10 @@
* questions.
*/
// key: compiler.err.unclosed.bytecode.ident
package
p
;
class
UnclosedBytecodeIdent
{
int
#"
abc
public
class
Base
{
/** javadoc-for-Base.m. */
public
void
m
()
{
}
}
test/tools/javap/T6729471.java
浏览文件 @
ee677356
...
...
@@ -39,6 +39,8 @@ public class T6729471
}
void
run
()
{
File
testClasses
=
new
File
(
System
.
getProperty
(
"test.classes"
));
// simple class
verify
(
"java.util.Map"
,
"public abstract boolean containsKey(java.lang.Object)"
);
...
...
@@ -48,11 +50,11 @@ public class T6729471
"public abstract K getKey()"
);
// file name
verify
(
"../classes/tools/javap/T6729471.class"
,
verify
(
new
File
(
testClasses
,
"T6729471.class"
).
getPath
()
,
"public static void main(java.lang.String...)"
);
// file url
verify
(
"file:../classes/tools/javap/T6729471.class"
,
verify
(
new
File
(
testClasses
,
"T6729471.class"
).
toURI
().
toString
()
,
"public static void main(java.lang.String...)"
);
// jar url: rt.jar
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录