8001229: refactor javac so that ct.sym is just used for javac, not all clients of JavacFileManager
Reviewed-by: mcimadamore
--- a/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Fri Oct 26 13:10:56 2012 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Fri Oct 26 16:40:57 2012 -0700
@@ -90,7 +90,7 @@
EnumSet.of(JavaFileObject.Kind.SOURCE, JavaFileObject.Kind.CLASS);
protected boolean mmappedIO;
- protected boolean ignoreSymbolFile;
+ protected boolean symbolFileEnabled;
protected enum SortFiles implements Comparator<File> {
FORWARD {
@@ -142,7 +142,7 @@
zipFileIndexCache = ZipFileIndexCache.getSharedInstance();
mmappedIO = options.isSet("mmappedIO");
- ignoreSymbolFile = options.isSet("ignore.symbol.file");
+ symbolFileEnabled = !options.isSet("ignore.symbol.file");
String sf = options.get("sortFiles");
if (sf != null) {
@@ -150,6 +150,13 @@
}
}
+ /**
+ * Set whether or not to use ct.sym as an alternate to rt.jar.
+ */
+ public void setSymbolFileEnabled(boolean b) {
+ symbolFileEnabled = b;
+ }
+
@Override
public boolean isDefaultBootClassPath() {
return locations.isDefaultBootClassPath();
@@ -466,7 +473,7 @@
*/
private Archive openArchive(File zipFileName, boolean useOptimizedZip) throws IOException {
File origZipFileName = zipFileName;
- if (!ignoreSymbolFile && locations.isDefaultBootClassPathRtJar(zipFileName)) {
+ if (symbolFileEnabled && locations.isDefaultBootClassPathRtJar(zipFileName)) {
File file = zipFileName.getParentFile().getParentFile(); // ${java.home}
if (new File(file.getName()).equals(new File("jre")))
file = file.getParentFile();
--- a/langtools/src/share/classes/com/sun/tools/javah/JavahFileManager.java Fri Oct 26 13:10:56 2012 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javah/JavahFileManager.java Fri Oct 26 16:40:57 2012 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2012, 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
@@ -44,7 +44,7 @@
class JavahFileManager extends JavacFileManager {
private JavahFileManager(Context context, Charset charset) {
super(context, true, charset);
- setIgnoreSymbolFile(true);
+ setSymbolFileEnabled(false);
}
static JavahFileManager create(final DiagnosticListener<? super JavaFileObject> dl, PrintWriter log) {
@@ -56,8 +56,4 @@
return new JavahFileManager(javac_context, null);
}
-
- void setIgnoreSymbolFile(boolean b) {
- ignoreSymbolFile = b;
- }
}
--- a/langtools/src/share/classes/com/sun/tools/javah/JavahTask.java Fri Oct 26 13:10:56 2012 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javah/JavahTask.java Fri Oct 26 16:40:57 2012 -0700
@@ -500,7 +500,7 @@
g.setForce(force);
if (fileManager instanceof JavahFileManager)
- ((JavahFileManager) fileManager).setIgnoreSymbolFile(true);
+ ((JavahFileManager) fileManager).setSymbolFileEnabled(false);
JavaCompiler c = ToolProvider.getSystemJavaCompiler();
List<String> opts = new ArrayList<String>();
--- a/langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java Fri Oct 26 13:10:56 2012 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java Fri Oct 26 16:40:57 2012 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2012, 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
@@ -44,7 +44,7 @@
public class JavapFileManager extends JavacFileManager {
private JavapFileManager(Context context, Charset charset) {
super(context, true, charset);
- setIgnoreSymbolFile(true);
+ setSymbolFileEnabled(false);
}
public static JavapFileManager create(final DiagnosticListener<? super JavaFileObject> dl, PrintWriter log) {
@@ -56,8 +56,4 @@
return new JavapFileManager(javac_context, null);
}
-
- void setIgnoreSymbolFile(boolean b) {
- ignoreSymbolFile = b;
- }
}