--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Thu Aug 27 13:22:04 2015 -0700
@@ -138,7 +138,7 @@
/** The bootstrap methods to be written in the corresponding class attribute
* (one for each invokedynamic)
*/
- Map<DynamicMethod, MethodHandle> bootstrapMethods;
+ Map<DynamicMethod.BootstrapMethodsKey, DynamicMethod.BootstrapMethodsValue> bootstrapMethods;
/** The log to use for verbose output.
*/
@@ -401,8 +401,16 @@
//invokedynamic
DynamicMethodSymbol dynSym = (DynamicMethodSymbol)m;
MethodHandle handle = new MethodHandle(dynSym.bsmKind, dynSym.bsm, types);
- DynamicMethod dynMeth = new DynamicMethod(dynSym, types);
- bootstrapMethods.put(dynMeth, handle);
+ DynamicMethod.BootstrapMethodsKey key = new DynamicMethod.BootstrapMethodsKey(dynSym, types);
+
+ // Figure out the index for existing BSM; create a new BSM if no key
+ DynamicMethod.BootstrapMethodsValue val = bootstrapMethods.get(key);
+ if (val == null) {
+ int index = bootstrapMethods.size();
+ val = new DynamicMethod.BootstrapMethodsValue(handle, index);
+ bootstrapMethods.put(key, val);
+ }
+
//init cp entries
pool.put(names.BootstrapMethods);
pool.put(handle);
@@ -410,7 +418,7 @@
pool.put(staticArg);
}
poolbuf.appendByte(CONSTANT_InvokeDynamic);
- poolbuf.appendChar(bootstrapMethods.size() - 1);
+ poolbuf.appendChar(val.index);
poolbuf.appendChar(pool.put(nameType(dynSym)));
}
} else if (value instanceof VarSymbol) {
@@ -1024,15 +1032,14 @@
void writeBootstrapMethods() {
int alenIdx = writeAttr(names.BootstrapMethods);
databuf.appendChar(bootstrapMethods.size());
- for (Map.Entry<DynamicMethod, MethodHandle> entry : bootstrapMethods.entrySet()) {
- DynamicMethod dmeth = entry.getKey();
- DynamicMethodSymbol dsym = (DynamicMethodSymbol)dmeth.baseSymbol();
+ for (Map.Entry<DynamicMethod.BootstrapMethodsKey, DynamicMethod.BootstrapMethodsValue> entry : bootstrapMethods.entrySet()) {
+ DynamicMethod.BootstrapMethodsKey bsmKey = entry.getKey();
//write BSM handle
- databuf.appendChar(pool.get(entry.getValue()));
+ databuf.appendChar(pool.get(entry.getValue().mh));
+ Object[] uniqueArgs = bsmKey.getUniqueArgs();
//write static args length
- databuf.appendChar(dsym.staticArgs.length);
+ databuf.appendChar(uniqueArgs.length);
//write static args array
- Object[] uniqueArgs = dmeth.uniqueStaticArgs;
for (Object o : uniqueArgs) {
databuf.appendChar(pool.get(o));
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java Thu Aug 27 13:22:04 2015 -0700
@@ -190,7 +190,11 @@
@Override @DefinedBy(Api.LANGUAGE_MODEL)
public boolean equals(Object any) {
- if (!super.equals(any)) return false;
+ return equalsImpl(any, true);
+ }
+
+ protected boolean equalsImpl(Object any, boolean includeDynamicArgs) {
+ if (includeDynamicArgs && !super.equals(any)) return false;
if (!(any instanceof DynamicMethod)) return false;
DynamicMethodSymbol dm1 = (DynamicMethodSymbol)other;
DynamicMethodSymbol dm2 = (DynamicMethodSymbol)((DynamicMethod)any).other;
@@ -202,7 +206,11 @@
@Override @DefinedBy(Api.LANGUAGE_MODEL)
public int hashCode() {
- int hash = super.hashCode();
+ return hashCodeImpl(true);
+ }
+
+ protected int hashCodeImpl(boolean includeDynamicArgs) {
+ int hash = includeDynamicArgs ? super.hashCode() : 0;
DynamicMethodSymbol dm = (DynamicMethodSymbol)other;
hash += dm.bsmKind * 7 +
dm.bsm.hashCode() * 11;
@@ -223,6 +231,36 @@
}
return result;
}
+
+ static class BootstrapMethodsKey extends DynamicMethod {
+ BootstrapMethodsKey(DynamicMethodSymbol m, Types types) {
+ super(m, types);
+ }
+
+ @Override @DefinedBy(Api.LANGUAGE_MODEL)
+ public boolean equals(Object any) {
+ return equalsImpl(any, false);
+ }
+
+ @Override @DefinedBy(Api.LANGUAGE_MODEL)
+ public int hashCode() {
+ return hashCodeImpl(false);
+ }
+
+ Object[] getUniqueArgs() {
+ return uniqueStaticArgs;
+ }
+ }
+
+ static class BootstrapMethodsValue {
+ final MethodHandle mh;
+ final int index;
+
+ public BootstrapMethodsValue(MethodHandle mh, int index) {
+ this.mh = mh;
+ this.index = index;
+ }
+ }
}
static class Variable extends DelegatedSymbol<VarSymbol> {
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java Thu Aug 27 13:22:04 2015 -0700
@@ -42,9 +42,9 @@
import java.util.Properties;
import java.util.Set;
+import com.sun.tools.sjavac.comp.CompilationService;
import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.pubapi.PubApi;
-import com.sun.tools.sjavac.server.Sjavac;
/**
* The clean properties transform should not be necessary.
@@ -64,7 +64,7 @@
// Any extra information is ignored for clean properties.
}
- public boolean transform(Sjavac sjavac,
+ public boolean transform(CompilationService sjavac,
Map<String,Set<URI>> pkgSrcs,
Set<URI> visibleSrcs,
Map<URI,Set<String>> visibleClasses,
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Thu Aug 27 13:22:04 2015 -0700
@@ -32,12 +32,13 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import java.util.Random;
import java.util.Set;
+import com.sun.tools.sjavac.comp.CompilationService;
import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.pubapi.PubApi;
-import com.sun.tools.sjavac.server.CompilationResult;
-import com.sun.tools.sjavac.server.Sjavac;
+import com.sun.tools.sjavac.server.CompilationSubResult;
import com.sun.tools.sjavac.server.SysInfo;
/**
@@ -68,7 +69,7 @@
args = a;
}
- public boolean transform(final Sjavac sjavac,
+ public boolean transform(final CompilationService sjavac,
Map<String,Set<URI>> pkgSrcs,
final Set<URI> visibleSources,
final Map<URI,Set<String>> visibleClasses,
@@ -91,16 +92,11 @@
boolean concurrentCompiles = true;
// Fetch the id.
- final String id = Util.extractStringOption("id", sjavac.serverSettings());
+ final String id = String.valueOf(new Random().nextInt());
// Only keep portfile and sjavac settings..
//String psServerSettings = Util.cleanSubOptions(Util.set("portfile","sjavac","background","keepalive"), sjavac.serverSettings());
- // Get maximum heap size from the server!
SysInfo sysinfo = sjavac.getSysInfo();
- if (sysinfo == null) {
- Log.error("Could not query server for sysinfo!");
- return false;
- }
int numMBytes = (int)(sysinfo.maxMemory / ((long)(1024*1024)));
Log.debug("Server reports "+numMBytes+"MiB of memory and "+sysinfo.numCores+" cores");
@@ -205,7 +201,7 @@
}
// The return values for each chunked compile.
- final CompilationResult[] rn = new CompilationResult[numCompiles];
+ final CompilationSubResult[] rn = new CompilationSubResult[numCompiles];
// The requets, might or might not run as a background thread.
final Thread[] requests = new Thread[numCompiles];
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java Thu Aug 27 13:22:04 2015 -0700
@@ -44,9 +44,9 @@
import java.util.Properties;
import java.util.Set;
+import com.sun.tools.sjavac.comp.CompilationService;
import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.pubapi.PubApi;
-import com.sun.tools.sjavac.server.Sjavac;
/**
* Compile properties transform a properties file into a Java source file.
@@ -71,7 +71,7 @@
public void setExtra(Options a) {
}
- public boolean transform(Sjavac sjavac,
+ public boolean transform(CompilationService compilationService,
Map<String,Set<URI>> pkgSrcs,
Set<URI> visibleSrcs,
Map<URI,Set<String>> visibleClasses,
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java Thu Aug 27 13:22:04 2015 -0700
@@ -37,9 +37,9 @@
import java.util.Map;
import java.util.Set;
+import com.sun.tools.sjavac.comp.CompilationService;
import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.pubapi.PubApi;
-import com.sun.tools.sjavac.server.Sjavac;
/**
* The copy file transform simply copies a matching file from -src to -d .
@@ -58,7 +58,7 @@
public void setExtra(Options a) {
}
- public boolean transform(Sjavac sjavac,
+ public boolean transform(CompilationService compilationService,
Map<String,Set<URI>> pkgSrcs,
Set<URI> visibleSrcs,
Map<URI,Set<String>> visibleClasses,
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java Thu Aug 27 13:22:04 2015 -0700
@@ -45,9 +45,9 @@
import java.util.Set;
import java.util.stream.Collectors;
+import com.sun.tools.sjavac.comp.CompilationService;
import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.pubapi.PubApi;
-import com.sun.tools.sjavac.server.Sjavac;
/**
* The javac state class maintains the previous (prev) and the current (now)
@@ -748,7 +748,7 @@
/**
* Compile all the java sources. Return true, if it needs to be called again!
*/
- public boolean performJavaCompilations(Sjavac sjavac,
+ public boolean performJavaCompilations(CompilationService sjavac,
Options args,
Set<String> recentlyCompiled,
boolean[] rcValue) {
@@ -790,7 +790,7 @@
* For all packages, find all sources belonging to the package, group the sources
* based on their transformers and apply the transformers on each source code group.
*/
- private boolean perform(Sjavac sjavac,
+ private boolean perform(CompilationService sjavac,
File outputDir,
Map<String,Transformer> suffixRules) {
boolean rc = true;
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java Thu Aug 27 13:22:04 2015 -0700
@@ -30,9 +30,9 @@
import java.util.Map;
import java.util.Set;
+import com.sun.tools.sjavac.comp.CompilationService;
import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.pubapi.PubApi;
-import com.sun.tools.sjavac.server.Sjavac;
/**
* The transform interface is used to transform content inside a package, from one form to another.
@@ -83,7 +83,7 @@
* If num_cores is set to a non-zero value. The transform should attempt to use no more than these
* number of threads for heavy work.
*/
- boolean transform(Sjavac sjavac,
+ boolean transform(CompilationService sjavac,
Map<String,Set<URI>> pkgSrcs,
Set<URI> visibleSources,
Map<URI,Set<String>> visibleClasses,
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/ClientMain.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/ClientMain.java Thu Aug 27 13:22:04 2015 -0700
@@ -25,29 +25,13 @@
package com.sun.tools.sjavac.client;
-import java.io.IOException;
import java.io.PrintStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import com.sun.tools.sjavac.JavacState;
import com.sun.tools.sjavac.Log;
-import com.sun.tools.sjavac.Module;
-import com.sun.tools.sjavac.ProblemException;
-import com.sun.tools.sjavac.Source;
-import com.sun.tools.sjavac.Transformer;
import com.sun.tools.sjavac.Util;
-import com.sun.tools.sjavac.comp.PooledSjavac;
import com.sun.tools.sjavac.comp.SjavacImpl;
import com.sun.tools.sjavac.options.Options;
-import com.sun.tools.sjavac.options.SourceLocation;
+import com.sun.tools.sjavac.server.CompilationResult;
import com.sun.tools.sjavac.server.Sjavac;
/**
@@ -74,282 +58,34 @@
return -1;
}
- Log.setLogLevel(options.getLogLevel());
-
- if (!validateOptions(options))
- return -1;
-
- if (!createIfMissing(options.getDestDir()))
- return -1;
-
- if (!createIfMissing(options.getStateDir()))
- return -1;
-
- Path gensrc = options.getGenSrcDir();
- if (gensrc != null && !createIfMissing(gensrc))
- return -1;
-
- Path hdrdir = options.getHeaderDir();
- if (hdrdir != null && !createIfMissing(hdrdir))
- return -1;
-
Log.debug("==========================================================");
Log.debug("Launching sjavac client with the following parameters:");
Log.debug(" " + options.getStateArgsString());
Log.debug("==========================================================");
- // Load the prev build state database.
- JavacState javac_state = JavacState.load(options, out, err);
-
- // Setup the suffix rules from the command line.
- Map<String, Transformer> suffixRules = new HashMap<>();
-
- // Handling of .java-compilation
- suffixRules.putAll(javac_state.getJavaSuffixRule());
-
- // Handling of -copy and -tr
- suffixRules.putAll(options.getTranslationRules());
-
- // All found modules are put here.
- Map<String,Module> modules = new HashMap<>();
- // We start out in the legacy empty no-name module.
- // As soon as we stumble on a module-info.java file we change to that module.
- Module current_module = new Module("", "");
- modules.put("", current_module);
-
- // Find all sources, use the suffix rules to know which files are sources.
- Map<String,Source> sources = new HashMap<>();
-
- // Find the files, this will automatically populate the found modules
- // with found packages where the sources are found!
- findSourceFiles(options.getSources(),
- suffixRules.keySet(),
- sources,
- modules,
- current_module,
- options.isDefaultPackagePermitted(),
- false);
-
- if (sources.isEmpty()) {
- Log.error("Found nothing to compile!");
- return -1;
+ // Prepare sjavac object
+ boolean background = Util.extractBooleanOption("background", options.getServerConf(), true);
+ Sjavac sjavac;
+ // Create an sjavac implementation to be used for compilation
+ if (background) {
+ try {
+ sjavac = new SjavacClient(options);
+ } catch (PortFileInaccessibleException e) {
+ Log.error("Port file inaccessible.");
+ return -1;
+ }
+ } else {
+ sjavac = new SjavacImpl();
}
- // Create a map of all source files that are available for linking. Both -src and
- // -sourcepath point to such files. It is possible to specify multiple
- // -sourcepath options to enable different filtering rules. If the
- // filters are the same for multiple sourcepaths, they may be concatenated
- // using :(;). Before sending the list of sourcepaths to javac, they are
- // all concatenated. The list created here is used by the SmartFileWrapper to
- // make sure only the correct sources are actually available.
- // We might find more modules here as well.
- Map<String,Source> sources_to_link_to = new HashMap<>();
-
- List<SourceLocation> sourceResolutionLocations = new ArrayList<>();
- sourceResolutionLocations.addAll(options.getSources());
- sourceResolutionLocations.addAll(options.getSourceSearchPaths());
- findSourceFiles(sourceResolutionLocations,
- Collections.singleton(".java"),
- sources_to_link_to,
- modules,
- current_module,
- options.isDefaultPackagePermitted(),
- true);
-
- // Find all class files allowable for linking.
- // And pickup knowledge of all modules found here.
- // This cannot currently filter classes inside jar files.
-// Map<String,Source> classes_to_link_to = new HashMap<String,Source>();
-// findFiles(args, "-classpath", Util.set(".class"), classes_to_link_to, modules, current_module, true);
-
- // Find all module sources allowable for linking.
-// Map<String,Source> modules_to_link_to = new HashMap<String,Source>();
-// findFiles(args, "-modulepath", Util.set(".class"), modules_to_link_to, modules, current_module, true);
-
- // Add the set of sources to the build database.
- javac_state.now().flattenPackagesSourcesAndArtifacts(modules);
- javac_state.now().checkInternalState("checking sources", false, sources);
- javac_state.now().checkInternalState("checking linked sources", true, sources_to_link_to);
- javac_state.setVisibleSources(sources_to_link_to);
-
- int round = 0;
- printRound(round);
-
- // If there is any change in the source files, taint packages
- // and mark the database in need of saving.
- javac_state.checkSourceStatus(false);
-
- // Find all existing artifacts. Their timestamp will match the last modified timestamps stored
- // in javac_state, simply because loading of the JavacState will clean out all artifacts
- // that do not match the javac_state database.
- javac_state.findAllArtifacts();
+ CompilationResult cr = sjavac.compile(args);
- // Remove unidentified artifacts from the bin, gensrc and header dirs.
- // (Unless we allow them to be there.)
- // I.e. artifacts that are not known according to the build database (javac_state).
- // For examples, files that have been manually copied into these dirs.
- // Artifacts with bad timestamps (ie the on disk timestamp does not match the timestamp
- // in javac_state) have already been removed when the javac_state was loaded.
- if (!options.areUnidentifiedArtifactsPermitted()) {
- javac_state.removeUnidentifiedArtifacts();
- }
- // Go through all sources and taint all packages that miss artifacts.
- javac_state.taintPackagesThatMissArtifacts();
-
- // Check recorded classpath public apis. Taint packages that depend on
- // classpath classes whose public apis have changed.
- javac_state.taintPackagesDependingOnChangedClasspathPackages();
-
- // Now clean out all known artifacts belonging to tainted packages.
- javac_state.deleteClassArtifactsInTaintedPackages();
- // Copy files, for example property files, images files, xml files etc etc.
- javac_state.performCopying(Util.pathToFile(options.getDestDir()), suffixRules);
- // Translate files, for example compile properties or compile idls.
- javac_state.performTranslation(Util.pathToFile(gensrc), suffixRules);
- // Add any potentially generated java sources to the tobe compiled list.
- // (Generated sources must always have a package.)
- Map<String,Source> generated_sources = new HashMap<>();
-
- try {
-
- Source.scanRoot(Util.pathToFile(options.getGenSrcDir()), Util.set(".java"), null, null, null, null,
- generated_sources, modules, current_module, false, true, false);
- javac_state.now().flattenPackagesSourcesAndArtifacts(modules);
- // Recheck the the source files and their timestamps again.
- javac_state.checkSourceStatus(true);
-
- // Now do a safety check that the list of source files is identical
- // to the list Make believes we are compiling. If we do not get this
- // right, then incremental builds will fail with subtility.
- // If any difference is detected, then we will fail hard here.
- // This is an important safety net.
- javac_state.compareWithMakefileList(Util.pathToFile(options.getSourceReferenceList()));
-
- // Do the compilations, repeatedly until no tainted packages exist.
- boolean again;
- // Collect the name of all compiled packages.
- Set<String> recently_compiled = new HashSet<>();
- boolean[] rc = new boolean[1];
- boolean background = Util.extractBooleanOption("background", options.getServerConf(), true);
- Sjavac sjavac;
- // Create an sjavac implementation to be used for compilation
- if (background) {
- sjavac = new SjavacClient(options);
- } else {
- int poolsize = Util.extractIntOption("poolsize", options.getServerConf());
- if (poolsize <= 0)
- poolsize = Runtime.getRuntime().availableProcessors();
- sjavac = new PooledSjavac(new SjavacImpl(), poolsize);
- }
+ out.print(cr.stdout);
+ err.print(cr.stderr);
- do {
- if (round > 0)
- printRound(round);
- // Clean out artifacts in tainted packages.
- javac_state.deleteClassArtifactsInTaintedPackages();
- again = javac_state.performJavaCompilations(sjavac, options, recently_compiled, rc);
- if (!rc[0]) {
- Log.debug("Compilation failed.");
- break;
- }
- if (!again) {
- Log.debug("Nothing left to do.");
- }
- round++;
- } while (again);
- Log.debug("No need to do another round.");
-
- // Only update the state if the compile went well.
- if (rc[0]) {
- javac_state.save();
- // Reflatten only the artifacts.
- javac_state.now().flattenArtifacts(modules);
- // Remove artifacts that were generated during the last compile, but not this one.
- javac_state.removeSuperfluousArtifacts(recently_compiled);
- }
- if (!background)
- sjavac.shutdown();
-
- return rc[0] ? 0 : -1;
- } catch (ProblemException e) {
- Log.error(e.getMessage());
- return -1;
- } catch (Exception e) {
- e.printStackTrace(err);
- return -1;
- }
- }
-
- private static boolean validateOptions(Options options) {
-
- String err = null;
+ if (!background)
+ sjavac.shutdown();
- if (options.getDestDir() == null) {
- err = "Please specify output directory.";
- } else if (options.isJavaFilesAmongJavacArgs()) {
- err = "Sjavac does not handle explicit compilation of single .java files.";
- } else if (options.getServerConf() == null) {
- err = "No server configuration provided.";
- } else if (!options.getImplicitPolicy().equals("none")) {
- err = "The only allowed setting for sjavac is -implicit:none";
- } else if (options.getSources().isEmpty()) {
- err = "You have to specify -src.";
- } else if (options.getTranslationRules().size() > 1
- && options.getGenSrcDir() == null) {
- err = "You have translators but no gensrc dir (-s) specified!";
- }
-
- if (err != null)
- Log.error(err);
-
- return err == null;
-
+ return cr.returnCode;
}
-
- private static boolean createIfMissing(Path dir) {
-
- if (Files.isDirectory(dir))
- return true;
-
- if (Files.exists(dir)) {
- Log.error(dir + " is not a directory.");
- return false;
- }
-
- try {
- Files.createDirectories(dir);
- } catch (IOException e) {
- Log.error("Could not create directory: " + e.getMessage());
- return false;
- }
-
- return true;
- }
-
-
- /** Find source files in the given source locations. */
- public static void findSourceFiles(List<SourceLocation> sourceLocations,
- Set<String> sourceTypes,
- Map<String,Source> foundFiles,
- Map<String, Module> foundModules,
- Module currentModule,
- boolean permitSourcesInDefaultPackage,
- boolean inLinksrc) {
-
- for (SourceLocation source : sourceLocations) {
- source.findSourceFiles(sourceTypes,
- foundFiles,
- foundModules,
- currentModule,
- permitSourcesInDefaultPackage,
- inLinksrc);
- }
- }
-
- private static void printRound(int round) {
- Log.debug("****************************************");
- Log.debug("* Round " + round + " *");
- Log.debug("****************************************");
- }
-
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/PortFileInaccessibleException.java Thu Aug 27 13:22:04 2015 -0700
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2015, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+package com.sun.tools.sjavac.client;
+
+import java.io.IOException;
+
+public class PortFileInaccessibleException extends IOException {
+
+ private static final long serialVersionUID = -4755261881545398973L;
+
+ public PortFileInaccessibleException(Throwable cause) {
+ super(cause);
+ }
+}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/SjavacClient.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/SjavacClient.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -26,32 +26,27 @@
package com.sun.tools.sjavac.client;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
-import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
-import java.util.Set;
import com.sun.tools.sjavac.Log;
import com.sun.tools.sjavac.Util;
import com.sun.tools.sjavac.options.OptionHelper;
import com.sun.tools.sjavac.options.Options;
+import com.sun.tools.sjavac.server.CompilationSubResult;
import com.sun.tools.sjavac.server.CompilationResult;
import com.sun.tools.sjavac.server.PortFile;
import com.sun.tools.sjavac.server.Sjavac;
import com.sun.tools.sjavac.server.SjavacServer;
-import com.sun.tools.sjavac.server.SysInfo;
/**
* Sjavac implementation that delegates requests to a SjavacServer.
@@ -89,9 +84,7 @@
// Store the server conf settings here.
private final String settings;
- // This constructor should not throw FileNotFoundException (to be resolved
- // in JDK-8060030)
- public SjavacClient(Options options) throws FileNotFoundException {
+ public SjavacClient(Options options) throws PortFileInaccessibleException {
String tmpServerConf = options.getServerConf();
String serverConf = (tmpServerConf!=null)? tmpServerConf : "";
String tmpId = Util.extractStringOption("id", serverConf);
@@ -103,8 +96,7 @@
String portfileName = Util.extractStringOption("portfile", serverConf, defaultPortfile);
try {
portFile = SjavacServer.getPortFile(portfileName);
- } catch (FileNotFoundException e) {
- // Reached for instance if directory of port file does not exist
+ } catch (PortFileInaccessibleException e) {
Log.error("Port file inaccessable: " + e);
throw e;
}
@@ -126,40 +118,8 @@
return settings;
}
- /**
- * Make a request to the server only to get the maximum possible heap size to use for compilations.
- */
@Override
- public SysInfo getSysInfo() {
- try (Socket socket = tryConnect()) {
- // The ObjectInputStream constructor will block until the
- // corresponding ObjectOutputStream has written and flushed the
- // header, so it is important that the ObjectOutputStreams on server
- // and client are opened before the ObjectInputStreams.
- ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
- ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
- oos.writeObject(id);
- oos.writeObject(SjavacServer.CMD_SYS_INFO);
- oos.flush();
- return (SysInfo) ois.readObject();
- } catch (IOException | ClassNotFoundException ex) {
- Log.error("[CLIENT] Exception caught: " + ex);
- Log.debug(Util.getStackTrace(ex));
- } catch (InterruptedException ie) {
- Thread.currentThread().interrupt(); // Restore interrupt
- Log.error("[CLIENT] getSysInfo interrupted.");
- Log.debug(Util.getStackTrace(ie));
- }
- return null;
- }
-
- @Override
- public CompilationResult compile(String protocolId,
- String invocationId,
- String[] args,
- List<File> explicitSources,
- Set<URI> sourcesToCompile,
- Set<URI> visibleSources) {
+ public CompilationResult compile(String[] args) {
CompilationResult result;
try (Socket socket = tryConnect()) {
// The ObjectInputStream constructor will block until the
@@ -170,22 +130,17 @@
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
oos.writeObject(id);
oos.writeObject(SjavacServer.CMD_COMPILE);
- oos.writeObject(protocolId);
- oos.writeObject(invocationId);
oos.writeObject(args);
- oos.writeObject(explicitSources);
- oos.writeObject(sourcesToCompile);
- oos.writeObject(visibleSources);
oos.flush();
result = (CompilationResult) ois.readObject();
} catch (IOException | ClassNotFoundException ex) {
Log.error("[CLIENT] Exception caught: " + ex);
- result = new CompilationResult(CompilationResult.ERROR_FATAL);
+ result = new CompilationResult(CompilationSubResult.ERROR_FATAL);
result.stderr = Util.getStackTrace(ex);
} catch (InterruptedException ie) {
Thread.currentThread().interrupt(); // Restore interrupt
Log.error("[CLIENT] compile interrupted.");
- result = new CompilationResult(CompilationResult.ERROR_FATAL);
+ result = new CompilationResult(CompilationSubResult.ERROR_FATAL);
result.stderr = Util.getStackTrace(ie);
}
return result;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/CompilationService.java Thu Aug 27 13:22:04 2015 -0700
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2015, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+package com.sun.tools.sjavac.comp;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.URI;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import javax.tools.JavaFileObject;
+import javax.tools.StandardJavaFileManager;
+import javax.tools.StandardLocation;
+import javax.tools.ToolProvider;
+
+import com.sun.tools.javac.api.JavacTaskImpl;
+import com.sun.tools.javac.api.JavacTool;
+import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.Dependencies;
+import com.sun.tools.javac.util.ListBuffer;
+import com.sun.tools.sjavac.Log;
+import com.sun.tools.sjavac.Util;
+import com.sun.tools.sjavac.comp.dependencies.NewDependencyCollector;
+import com.sun.tools.sjavac.comp.dependencies.PublicApiCollector;
+import com.sun.tools.sjavac.server.CompilationSubResult;
+import com.sun.tools.sjavac.server.SysInfo;
+
+/**
+ * <p><b>This is NOT part of any supported API.
+ * If you write code that depends on this, you do so at your own risk.
+ * This code and its internal interfaces are subject to change or
+ * deletion without notice.</b>
+ */
+public class CompilationService {
+
+ public SysInfo getSysInfo() {
+ return new SysInfo(Runtime.getRuntime().availableProcessors(),
+ Runtime.getRuntime().maxMemory());
+ }
+
+ public CompilationSubResult compile(String protocolId,
+ String invocationId,
+ String[] args,
+ List<File> explicitSources,
+ Set<URI> sourcesToCompile,
+ Set<URI> visibleSources) {
+
+ JavacTool compiler = (JavacTool) ToolProvider.getSystemJavaCompiler();
+ try (StandardJavaFileManager fm = compiler.getStandardFileManager(null, null, null)) {
+ SmartFileManager sfm = new SmartFileManager(fm);
+ Context context = new Context();
+
+ Dependencies.GraphDependencies.preRegister(context);
+
+ // Now setup the actual compilation
+ CompilationSubResult compilationResult = new CompilationSubResult(0);
+
+ // First deal with explicit source files on cmdline and in at file
+ ListBuffer<JavaFileObject> explicitJFOs = new ListBuffer<>();
+ for (JavaFileObject jfo : fm.getJavaFileObjectsFromFiles(explicitSources)) {
+ explicitJFOs.append(SmartFileManager.locWrap(jfo, StandardLocation.SOURCE_PATH));
+ }
+ // Now deal with sources supplied as source_to_compile
+ ListBuffer<File> sourcesToCompileFiles = new ListBuffer<>();
+ for (URI u : sourcesToCompile)
+ sourcesToCompileFiles.append(new File(u));
+
+ for (JavaFileObject jfo : fm.getJavaFileObjectsFromFiles(sourcesToCompileFiles))
+ explicitJFOs.append(SmartFileManager.locWrap(jfo, StandardLocation.SOURCE_PATH));
+
+ // Create a new logger
+ StringWriter stdoutLog = new StringWriter();
+ StringWriter stderrLog = new StringWriter();
+ PrintWriter stdout = new PrintWriter(stdoutLog);
+ PrintWriter stderr = new PrintWriter(stderrLog);
+ com.sun.tools.javac.main.Main.Result rc = com.sun.tools.javac.main.Main.Result.OK;
+ PublicApiCollector pubApiCollector = new PublicApiCollector(context, explicitJFOs);
+ PathAndPackageVerifier papVerifier = new PathAndPackageVerifier();
+ NewDependencyCollector depsCollector = new NewDependencyCollector(context, explicitJFOs);
+ try {
+ if (explicitJFOs.size() > 0) {
+ sfm.setVisibleSources(visibleSources);
+ sfm.cleanArtifacts();
+ sfm.setLog(stdout);
+
+ // Do the compilation!
+ JavacTaskImpl task =
+ (JavacTaskImpl) compiler.getTask(stderr,
+ sfm,
+ null,
+ Arrays.asList(args),
+ null,
+ explicitJFOs,
+ context);
+ sfm.setSymbolFileEnabled(!com.sun.tools.javac.util.Options.instance(context).isSet("ignore.symbol.file"));
+ task.addTaskListener(depsCollector);
+ task.addTaskListener(pubApiCollector);
+ task.addTaskListener(papVerifier);
+ logJavacInvocation(args);
+ rc = task.doCall();
+ Log.debug("javac returned with code " + rc);
+ sfm.flush();
+ }
+ } catch (Exception e) {
+ Log.error(Util.getStackTrace(e));
+ stderrLog.append(Util.getStackTrace(e));
+ rc = com.sun.tools.javac.main.Main.Result.ERROR;
+ }
+
+ compilationResult.packageArtifacts = sfm.getPackageArtifacts();
+
+ if (papVerifier.errorsDiscovered())
+ rc = com.sun.tools.javac.main.Main.Result.ERROR;
+
+ compilationResult.packageDependencies = depsCollector.getDependencies(false);
+ compilationResult.packageCpDependencies = depsCollector.getDependencies(true);
+
+ compilationResult.packagePubapis = pubApiCollector.getPubApis(true);
+ compilationResult.dependencyPubapis = pubApiCollector.getPubApis(false);
+ compilationResult.stdout = stdoutLog.toString();
+ compilationResult.stderr = stderrLog.toString();
+ compilationResult.returnCode = rc.exitCode;
+
+ return compilationResult;
+ } catch (IOException e) {
+ throw new Error(e);
+ }
+ }
+
+ private void logJavacInvocation(String[] args) {
+ Log.debug("Invoking javac with args");
+ Iterator<String> argIter = Arrays.asList(args).iterator();
+ while (argIter.hasNext()) {
+ String arg = argIter.next();
+ String line = " " + arg;
+ if (arg.matches("\\-(d|cp|classpath|sourcepath|source|target)")
+ && argIter.hasNext()) {
+ line += " " + argIter.next();
+ }
+ Log.debug(line);
+ }
+ }
+
+}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PooledSjavac.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PooledSjavac.java Thu Aug 27 13:22:04 2015 -0700
@@ -24,11 +24,7 @@
*/
package com.sun.tools.sjavac.comp;
-import java.io.File;
-import java.net.URI;
-import java.util.List;
import java.util.Objects;
-import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
@@ -36,7 +32,6 @@
import com.sun.tools.sjavac.Log;
import com.sun.tools.sjavac.server.CompilationResult;
import com.sun.tools.sjavac.server.Sjavac;
-import com.sun.tools.sjavac.server.SysInfo;
/**
* An sjavac implementation that limits the number of concurrent calls by
@@ -59,30 +54,10 @@
}
@Override
- public SysInfo getSysInfo() {
- try {
- return pool.submit(() -> delegate.getSysInfo()).get();
- } catch (Exception e) {
- e.printStackTrace();
- throw new RuntimeException("Error during getSysInfo", e);
- }
- }
-
- @Override
- public CompilationResult compile(final String protocolId,
- final String invocationId,
- final String[] args,
- final List<File> explicitSources,
- final Set<URI> sourcesToCompile,
- final Set<URI> visibleSources) {
+ public CompilationResult compile(String[] args) {
try {
return pool.submit(() -> {
- return delegate.compile(protocolId,
- invocationId,
- args,
- explicitSources,
- sourcesToCompile,
- visibleSources);
+ return delegate.compile(args);
}).get();
} catch (Exception e) {
e.printStackTrace();
@@ -112,8 +87,4 @@
delegate.shutdown();
}
- @Override
- public String serverSettings() {
- return delegate.serverSettings();
- }
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java Thu Aug 27 13:22:04 2015 -0700
@@ -24,34 +24,33 @@
*/
package com.sun.tools.sjavac.comp;
-import java.io.File;
+import static com.sun.tools.sjavac.server.CompilationResult.ERROR_FATAL;
+import static java.nio.charset.StandardCharsets.UTF_8;
+
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.URI;
-import java.util.Arrays;
-import java.util.Iterator;
+import java.io.PrintStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
-import javax.tools.JavaFileObject;
-import javax.tools.StandardJavaFileManager;
-import javax.tools.StandardLocation;
-import javax.tools.ToolProvider;
-
-import com.sun.tools.javac.api.JavacTaskImpl;
-import com.sun.tools.javac.api.JavacTool;
-import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.Dependencies;
-import com.sun.tools.javac.util.ListBuffer;
-import com.sun.tools.javac.util.Options;
+import com.sun.tools.sjavac.JavacState;
import com.sun.tools.sjavac.Log;
+import com.sun.tools.sjavac.Module;
+import com.sun.tools.sjavac.ProblemException;
+import com.sun.tools.sjavac.Source;
+import com.sun.tools.sjavac.Transformer;
import com.sun.tools.sjavac.Util;
-import com.sun.tools.sjavac.comp.dependencies.NewDependencyCollector;
-import com.sun.tools.sjavac.comp.dependencies.PublicApiCollector;
+import com.sun.tools.sjavac.options.Options;
+import com.sun.tools.sjavac.options.SourceLocation;
import com.sun.tools.sjavac.server.CompilationResult;
import com.sun.tools.sjavac.server.Sjavac;
-import com.sun.tools.sjavac.server.SysInfo;
/**
* The sjavac implementation that interacts with javac and performs the actual
@@ -65,123 +64,282 @@
public class SjavacImpl implements Sjavac {
@Override
- public SysInfo getSysInfo() {
- return new SysInfo(Runtime.getRuntime().availableProcessors(),
- Runtime.getRuntime().maxMemory());
- }
+ public CompilationResult compile(String[] args) {
+
+ ByteArrayOutputStream outBaos = new ByteArrayOutputStream();
+ ByteArrayOutputStream errBaos = new ByteArrayOutputStream();
+ PrintStream out = new PrintStream(outBaos);
+ PrintStream err = new PrintStream(errBaos);
+
+ Options options;
+ try {
+ options = Options.parseArgs(args);
+ } catch (IllegalArgumentException e) {
+ Log.error(e.getMessage());
+ return new CompilationResult(ERROR_FATAL);
+ }
+
+ Log.setLogLevel(options.getLogLevel());
+
+ if (!validateOptions(options))
+ return new CompilationResult(ERROR_FATAL);
- @Override
- public CompilationResult compile(String protocolId,
- String invocationId,
- String[] args,
- List<File> explicitSources,
- Set<URI> sourcesToCompile,
- Set<URI> visibleSources) {
+ if (!createIfMissing(options.getDestDir()))
+ return new CompilationResult(ERROR_FATAL);
+
+ if (!createIfMissing(options.getStateDir()))
+ return new CompilationResult(ERROR_FATAL);
+
+ Path gensrc = options.getGenSrcDir();
+ if (gensrc != null && !createIfMissing(gensrc))
+ return new CompilationResult(ERROR_FATAL);
- JavacTool compiler = (JavacTool) ToolProvider.getSystemJavaCompiler();
- try (StandardJavaFileManager fm = compiler.getStandardFileManager(null, null, null)) {
- SmartFileManager sfm = new SmartFileManager(fm);
- Context context = new Context();
+ Path hdrdir = options.getHeaderDir();
+ if (hdrdir != null && !createIfMissing(hdrdir))
+ return new CompilationResult(ERROR_FATAL);
+
+ // Load the prev build state database.
+ JavacState javac_state = JavacState.load(options, out, err);
+
+ // Setup the suffix rules from the command line.
+ Map<String, Transformer> suffixRules = new HashMap<>();
- Dependencies.GraphDependencies.preRegister(context);
+ // Handling of .java-compilation
+ suffixRules.putAll(javac_state.getJavaSuffixRule());
+
+ // Handling of -copy and -tr
+ suffixRules.putAll(options.getTranslationRules());
- // Now setup the actual compilation
- CompilationResult compilationResult = new CompilationResult(0);
+ // All found modules are put here.
+ Map<String,Module> modules = new HashMap<>();
+ // We start out in the legacy empty no-name module.
+ // As soon as we stumble on a module-info.java file we change to that module.
+ Module current_module = new Module("", "");
+ modules.put("", current_module);
+
+ // Find all sources, use the suffix rules to know which files are sources.
+ Map<String,Source> sources = new HashMap<>();
- // First deal with explicit source files on cmdline and in at file
- ListBuffer<JavaFileObject> explicitJFOs = new ListBuffer<>();
- for (JavaFileObject jfo : fm.getJavaFileObjectsFromFiles(explicitSources)) {
- explicitJFOs.append(SmartFileManager.locWrap(jfo, StandardLocation.SOURCE_PATH));
- }
- // Now deal with sources supplied as source_to_compile
- ListBuffer<File> sourcesToCompileFiles = new ListBuffer<>();
- for (URI u : sourcesToCompile)
- sourcesToCompileFiles.append(new File(u));
+ // Find the files, this will automatically populate the found modules
+ // with found packages where the sources are found!
+ findSourceFiles(options.getSources(),
+ suffixRules.keySet(),
+ sources,
+ modules,
+ current_module,
+ options.isDefaultPackagePermitted(),
+ false);
- for (JavaFileObject jfo : fm.getJavaFileObjectsFromFiles(sourcesToCompileFiles))
- explicitJFOs.append(SmartFileManager.locWrap(jfo, StandardLocation.SOURCE_PATH));
+ if (sources.isEmpty()) {
+ Log.error("Found nothing to compile!");
+ return new CompilationResult(CompilationResult.ERROR_FATAL,
+ new String(outBaos.toByteArray(), UTF_8),
+ new String(errBaos.toByteArray(), UTF_8));
+ }
+
+
+ // Create a map of all source files that are available for linking. Both -src and
+ // -sourcepath point to such files. It is possible to specify multiple
+ // -sourcepath options to enable different filtering rules. If the
+ // filters are the same for multiple sourcepaths, they may be concatenated
+ // using :(;). Before sending the list of sourcepaths to javac, they are
+ // all concatenated. The list created here is used by the SmartFileWrapper to
+ // make sure only the correct sources are actually available.
+ // We might find more modules here as well.
+ Map<String,Source> sources_to_link_to = new HashMap<>();
- // Create a new logger
- StringWriter stdoutLog = new StringWriter();
- StringWriter stderrLog = new StringWriter();
- PrintWriter stdout = new PrintWriter(stdoutLog);
- PrintWriter stderr = new PrintWriter(stderrLog);
- com.sun.tools.javac.main.Main.Result rc = com.sun.tools.javac.main.Main.Result.OK;
- PublicApiCollector pubApiCollector = new PublicApiCollector(context, explicitJFOs);
- PathAndPackageVerifier papVerifier = new PathAndPackageVerifier();
- NewDependencyCollector depsCollector = new NewDependencyCollector(context, explicitJFOs);
- try {
- if (explicitJFOs.size() > 0) {
- sfm.setVisibleSources(visibleSources);
- sfm.cleanArtifacts();
- sfm.setLog(stdout);
+ List<SourceLocation> sourceResolutionLocations = new ArrayList<>();
+ sourceResolutionLocations.addAll(options.getSources());
+ sourceResolutionLocations.addAll(options.getSourceSearchPaths());
+ findSourceFiles(sourceResolutionLocations,
+ Collections.singleton(".java"),
+ sources_to_link_to,
+ modules,
+ current_module,
+ options.isDefaultPackagePermitted(),
+ true);
+
+ // Add the set of sources to the build database.
+ javac_state.now().flattenPackagesSourcesAndArtifacts(modules);
+ javac_state.now().checkInternalState("checking sources", false, sources);
+ javac_state.now().checkInternalState("checking linked sources", true, sources_to_link_to);
+ javac_state.setVisibleSources(sources_to_link_to);
+
+ int round = 0;
+ printRound(round);
+
+ // If there is any change in the source files, taint packages
+ // and mark the database in need of saving.
+ javac_state.checkSourceStatus(false);
+
+ // Find all existing artifacts. Their timestamp will match the last modified timestamps stored
+ // in javac_state, simply because loading of the JavacState will clean out all artifacts
+ // that do not match the javac_state database.
+ javac_state.findAllArtifacts();
+
+ // Remove unidentified artifacts from the bin, gensrc and header dirs.
+ // (Unless we allow them to be there.)
+ // I.e. artifacts that are not known according to the build database (javac_state).
+ // For examples, files that have been manually copied into these dirs.
+ // Artifacts with bad timestamps (ie the on disk timestamp does not match the timestamp
+ // in javac_state) have already been removed when the javac_state was loaded.
+ if (!options.areUnidentifiedArtifactsPermitted()) {
+ javac_state.removeUnidentifiedArtifacts();
+ }
+ // Go through all sources and taint all packages that miss artifacts.
+ javac_state.taintPackagesThatMissArtifacts();
+
+ // Check recorded classpath public apis. Taint packages that depend on
+ // classpath classes whose public apis have changed.
+ javac_state.taintPackagesDependingOnChangedClasspathPackages();
- // Do the compilation!
- JavacTaskImpl task =
- (JavacTaskImpl) compiler.getTask(stderr,
- sfm,
- null,
- Arrays.asList(args),
- null,
- explicitJFOs,
- context);
- sfm.setSymbolFileEnabled(!Options.instance(context).isSet("ignore.symbol.file"));
- task.addTaskListener(depsCollector);
- task.addTaskListener(pubApiCollector);
- task.addTaskListener(papVerifier);
- logJavacInvocation(args);
- rc = task.doCall();
- Log.debug("javac returned with code " + rc);
- sfm.flush();
+ // Now clean out all known artifacts belonging to tainted packages.
+ javac_state.deleteClassArtifactsInTaintedPackages();
+ // Copy files, for example property files, images files, xml files etc etc.
+ javac_state.performCopying(Util.pathToFile(options.getDestDir()), suffixRules);
+ // Translate files, for example compile properties or compile idls.
+ javac_state.performTranslation(Util.pathToFile(gensrc), suffixRules);
+ // Add any potentially generated java sources to the tobe compiled list.
+ // (Generated sources must always have a package.)
+ Map<String,Source> generated_sources = new HashMap<>();
+
+ try {
+
+ Source.scanRoot(Util.pathToFile(options.getGenSrcDir()), Util.set(".java"), null, null, null, null,
+ generated_sources, modules, current_module, false, true, false);
+ javac_state.now().flattenPackagesSourcesAndArtifacts(modules);
+ // Recheck the the source files and their timestamps again.
+ javac_state.checkSourceStatus(true);
+
+ // Now do a safety check that the list of source files is identical
+ // to the list Make believes we are compiling. If we do not get this
+ // right, then incremental builds will fail with subtility.
+ // If any difference is detected, then we will fail hard here.
+ // This is an important safety net.
+ javac_state.compareWithMakefileList(Util.pathToFile(options.getSourceReferenceList()));
+
+ // Do the compilations, repeatedly until no tainted packages exist.
+ boolean again;
+ // Collect the name of all compiled packages.
+ Set<String> recently_compiled = new HashSet<>();
+ boolean[] rc = new boolean[1];
+
+ CompilationService compilationService = new CompilationService();
+ do {
+ if (round > 0)
+ printRound(round);
+ // Clean out artifacts in tainted packages.
+ javac_state.deleteClassArtifactsInTaintedPackages();
+ again = javac_state.performJavaCompilations(compilationService, options, recently_compiled, rc);
+ if (!rc[0]) {
+ Log.debug("Compilation failed.");
+ break;
}
- } catch (Exception e) {
- Log.error(Util.getStackTrace(e));
- stderrLog.append(Util.getStackTrace(e));
- rc = com.sun.tools.javac.main.Main.Result.ERROR;
+ if (!again) {
+ Log.debug("Nothing left to do.");
+ }
+ round++;
+ } while (again);
+ Log.debug("No need to do another round.");
+
+ // Only update the state if the compile went well.
+ if (rc[0]) {
+ javac_state.save();
+ // Reflatten only the artifacts.
+ javac_state.now().flattenArtifacts(modules);
+ // Remove artifacts that were generated during the last compile, but not this one.
+ javac_state.removeSuperfluousArtifacts(recently_compiled);
}
- compilationResult.packageArtifacts = sfm.getPackageArtifacts();
-
- if (papVerifier.errorsDiscovered())
- rc = com.sun.tools.javac.main.Main.Result.ERROR;
-
- compilationResult.packageDependencies = depsCollector.getDependencies(false);
- compilationResult.packageCpDependencies = depsCollector.getDependencies(true);
-
- compilationResult.packagePubapis = pubApiCollector.getPubApis(true); // pubApis.getPubapis(explicitJFOs, true);
- compilationResult.dependencyPubapis = pubApiCollector.getPubApis(false); // pubApis.getPubapis(explicitJFOs, false);
- compilationResult.stdout = stdoutLog.toString();
- compilationResult.stderr = stderrLog.toString();
- compilationResult.returnCode = rc.exitCode;
-
- return compilationResult;
- } catch (IOException e) {
- throw new Error(e);
+ return new CompilationResult(rc[0] ? 0 : ERROR_FATAL,
+ new String(outBaos.toByteArray(), UTF_8),
+ new String(errBaos.toByteArray(), UTF_8));
+ } catch (ProblemException e) {
+ Log.error(e.getMessage());
+ return new CompilationResult(ERROR_FATAL,
+ new String(outBaos.toByteArray(), UTF_8),
+ new String(errBaos.toByteArray(), UTF_8));
+ } catch (Exception e) {
+ e.printStackTrace(err);
+ return new CompilationResult(ERROR_FATAL,
+ new String(outBaos.toByteArray(), UTF_8),
+ new String(errBaos.toByteArray(), UTF_8));
}
}
@Override
public void shutdown() {
// Nothing to clean up
- // ... maybe we should wait for any current request to finish?
}
- @Override
- public String serverSettings() {
- return "";
+ private static boolean validateOptions(Options options) {
+
+ String err = null;
+
+ if (options.getDestDir() == null) {
+ err = "Please specify output directory.";
+ } else if (options.isJavaFilesAmongJavacArgs()) {
+ err = "Sjavac does not handle explicit compilation of single .java files.";
+ } else if (options.getServerConf() == null) {
+ err = "No server configuration provided.";
+ } else if (!options.getImplicitPolicy().equals("none")) {
+ err = "The only allowed setting for sjavac is -implicit:none";
+ } else if (options.getSources().isEmpty()) {
+ err = "You have to specify -src.";
+ } else if (options.getTranslationRules().size() > 1
+ && options.getGenSrcDir() == null) {
+ err = "You have translators but no gensrc dir (-s) specified!";
+ }
+
+ if (err != null)
+ Log.error(err);
+
+ return err == null;
+
}
- private void logJavacInvocation(String[] args) {
- Log.debug("Invoking javac with args");
- Iterator<String> argIter = Arrays.asList(args).iterator();
- while (argIter.hasNext()) {
- String arg = argIter.next();
- String line = " " + arg;
- if (arg.matches("\\-(d|cp|classpath|sourcepath|source|target)")
- && argIter.hasNext()) {
- line += " " + argIter.next();
- }
- Log.debug(line);
+ private static boolean createIfMissing(Path dir) {
+
+ if (Files.isDirectory(dir))
+ return true;
+
+ if (Files.exists(dir)) {
+ Log.error(dir + " is not a directory.");
+ return false;
+ }
+
+ try {
+ Files.createDirectories(dir);
+ } catch (IOException e) {
+ Log.error("Could not create directory: " + e.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+
+ /** Find source files in the given source locations. */
+ public static void findSourceFiles(List<SourceLocation> sourceLocations,
+ Set<String> sourceTypes,
+ Map<String,Source> foundFiles,
+ Map<String, Module> foundModules,
+ Module currentModule,
+ boolean permitSourcesInDefaultPackage,
+ boolean inLinksrc) {
+
+ for (SourceLocation source : sourceLocations) {
+ source.findSourceFiles(sourceTypes,
+ foundFiles,
+ foundModules,
+ currentModule,
+ permitSourcesInDefaultPackage,
+ inLinksrc);
}
}
+
+ private static void printRound(int round) {
+ Log.debug("****************************************");
+ Log.debug("* Round " + round + " *");
+ Log.debug("****************************************");
+ }
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationResult.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationResult.java Thu Aug 27 13:22:04 2015 -0700
@@ -26,15 +26,8 @@
package com.sun.tools.sjavac.server;
import java.io.Serializable;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import com.sun.tools.sjavac.pubapi.PubApi;
/**
- *
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
@@ -47,17 +40,18 @@
// Return code constants
public final static int ERROR_FATAL = -1;
+ public String stdout;
+ public String stderr;
public int returnCode;
- public Map<String, Set<URI>> packageArtifacts = new HashMap<>();
- public Map<String, Map<String, Set<String>>> packageDependencies = new HashMap<>();
- public Map<String, Map<String, Set<String>>> packageCpDependencies = new HashMap<>();
- public Map<String, PubApi> packagePubapis = new HashMap<>();
- public Map<String, PubApi> dependencyPubapis = new HashMap<>();
- public String stdout = "";
- public String stderr = "";
public CompilationResult(int returnCode) {
+ this(returnCode, "", "");
+ }
+
+ public CompilationResult(int returnCode, String stdout, String stderr) {
this.returnCode = returnCode;
+ this.stdout = stdout;
+ this.stderr = stderr;
}
public void setReturnCode(int returnCode) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/CompilationSubResult.java Thu Aug 27 13:22:04 2015 -0700
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2014, 2015, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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.
+ */
+
+package com.sun.tools.sjavac.server;
+
+import java.io.Serializable;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import com.sun.tools.sjavac.pubapi.PubApi;
+
+/**
+ *
+ * <p><b>This is NOT part of any supported API.
+ * If you write code that depends on this, you do so at your own risk.
+ * This code and its internal interfaces are subject to change or
+ * deletion without notice.</b>
+ */
+public class CompilationSubResult implements Serializable {
+
+ static final long serialVersionUID = 46739181113L;
+
+ // Return code constants
+ public final static int ERROR_FATAL = -1;
+
+ public int returnCode;
+ public Map<String, Set<URI>> packageArtifacts = new HashMap<>();
+ public Map<String, Map<String, Set<String>>> packageDependencies = new HashMap<>();
+ public Map<String, Map<String, Set<String>>> packageCpDependencies = new HashMap<>();
+ public Map<String, PubApi> packagePubapis = new HashMap<>();
+ public Map<String, PubApi> dependencyPubapis = new HashMap<>();
+ public String stdout = "";
+ public String stderr = "";
+
+ public CompilationSubResult(int returnCode) {
+ this.returnCode = returnCode;
+ }
+
+ public void setReturnCode(int returnCode) {
+ this.returnCode = returnCode;
+ }
+}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/IdleResetSjavac.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/IdleResetSjavac.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -24,10 +24,6 @@
*/
package com.sun.tools.sjavac.server;
-import java.io.File;
-import java.net.URI;
-import java.util.List;
-import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
@@ -64,30 +60,10 @@
}
@Override
- public SysInfo getSysInfo() {
+ public CompilationResult compile(String[] args) {
startCall();
try {
- return delegate.getSysInfo();
- } finally {
- endCall();
- }
- }
-
- @Override
- public CompilationResult compile(String protocolId,
- String invocationId,
- String[] args,
- List<File> explicitSources,
- Set<URI> sourcesToCompile,
- Set<URI> visibleSources) {
- startCall();
- try {
- return delegate.compile(protocolId,
- invocationId,
- args,
- explicitSources,
- sourcesToCompile,
- visibleSources);
+ return delegate.compile(args);
} finally {
endCall();
}
@@ -129,8 +105,4 @@
delegate.shutdown();
}
- @Override
- public String serverSettings() {
- return delegate.serverSettings();
- }
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/PortFile.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/PortFile.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -37,6 +37,7 @@
import com.sun.tools.javac.util.Assert;
import com.sun.tools.sjavac.Log;
+import com.sun.tools.sjavac.client.PortFileInaccessibleException;
/**
* The PortFile class mediates access to a short binary file containing the tcp/ip port (for the localhost)
@@ -80,11 +81,16 @@
* Create a new portfile.
* @param fn is the path to the file.
*/
- public PortFile(String fn) throws FileNotFoundException {
+ public PortFile(String fn) throws PortFileInaccessibleException {
filename = fn;
file = new File(filename);
stopFile = new File(filename+".stop");
- rwfile = new RandomAccessFile(file, "rw");
+ try {
+ rwfile = new RandomAccessFile(file, "rw");
+ } catch (FileNotFoundException e) {
+ // Reached if file for instance already exists and is a directory
+ throw new PortFileInaccessibleException(e);
+ }
// The rwfile should only be readable by the owner of the process
// and no other! How do we do that on a RandomAccessFile?
channel = rwfile.getChannel();
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/RequestHandler.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/RequestHandler.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -24,16 +24,12 @@
*/
package com.sun.tools.sjavac.server;
-import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.Socket;
-import java.net.URI;
-import java.util.List;
-import java.util.Set;
import com.sun.tools.sjavac.Log;
@@ -71,8 +67,7 @@
String cmd = (String) oin.readObject();
Log.info("Handling request, id: " + id + " cmd: " + cmd);
switch (cmd) {
- case SjavacServer.CMD_SYS_INFO: handleSysInfoRequest(oin, oout); break;
- case SjavacServer.CMD_COMPILE: handleCompileRequest(oin, oout); break;
+ case SjavacServer.CMD_COMPILE: handleCompileRequest(oin, oout); break;
default: Log.error("Unknown command: " + cmd);
}
} catch (Exception ex) {
@@ -85,31 +80,15 @@
}
}
- private void handleSysInfoRequest(ObjectInputStream oin,
- ObjectOutputStream oout) throws IOException {
- oout.writeObject(sjavac.getSysInfo());
- oout.flush();
- }
-
- @SuppressWarnings("unchecked")
private void handleCompileRequest(ObjectInputStream oin,
ObjectOutputStream oout) throws IOException {
try {
// Read request arguments
- String protocolId = (String) oin.readObject();
- String invocationId = (String) oin.readObject();
String[] args = (String[]) oin.readObject();
- List<File> explicitSources = (List<File>) oin.readObject();
- Set<URI> sourcesToCompile = (Set<URI>) oin.readObject();
- Set<URI> visibleSources = (Set<URI>) oin.readObject();
// Perform compilation
- CompilationResult cr = sjavac.compile(protocolId,
- invocationId,
- args,
- explicitSources,
- sourcesToCompile,
- visibleSources);
+ CompilationResult cr = sjavac.compile(args);
+
// Write request response
oout.writeObject(cr);
oout.flush();
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/Sjavac.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/Sjavac.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -24,10 +24,6 @@
*/
package com.sun.tools.sjavac.server;
-import java.io.File;
-import java.net.URI;
-import java.util.List;
-import java.util.Set;
/**
* Interface of the SjavacImpl, the sjavac client and all wrappers such as
@@ -39,16 +35,6 @@
* deletion without notice.</b>
*/
public interface Sjavac {
-
- SysInfo getSysInfo();
-
- CompilationResult compile(String protocolId,
- String invocationId,
- String[] args,
- List<File> explicitSources,
- Set<URI> sourcesToCompile,
- Set<URI> visibleSources);
-
+ CompilationResult compile(String[] args);
void shutdown();
- String serverSettings();
}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/SjavacServer.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/server/SjavacServer.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, 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
@@ -39,6 +39,7 @@
import java.util.concurrent.atomic.AtomicBoolean;
import com.sun.tools.sjavac.Util;
+import com.sun.tools.sjavac.client.PortFileInaccessibleException;
import com.sun.tools.sjavac.comp.PooledSjavac;
import com.sun.tools.sjavac.comp.SjavacImpl;
@@ -54,7 +55,6 @@
// Used in protocol to indicate which method to invoke
public final static String CMD_COMPILE = "compile";
- public final static String CMD_SYS_INFO = "sys-info";
final private String portfilename;
final private String logfile;
@@ -122,7 +122,7 @@
/**
* Acquire the port file. Synchronized since several threads inside an smart javac wrapper client acquires the same port file at the same time.
*/
- public static synchronized PortFile getPortFile(String filename) throws FileNotFoundException {
+ public static synchronized PortFile getPortFile(String filename) throws PortFileInaccessibleException {
if (allPortFiles == null) {
allPortFiles = new HashMap<>();
}
--- a/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C5.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C5.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlStrongTag/pkg1/C1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlStrongTag/pkg1/C1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlStrongTag/pkg2/C2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlStrongTag/pkg2/C2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/C3.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/C3.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/C4.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/C4.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlTag/pkg1/C1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTag/pkg1/C1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlTag/pkg2/C2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTag/pkg2/C2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/TestError.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/TestError.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/TestException.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg/TestException.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/NestedInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/NestedInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/PrivateIncludeInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/PrivateIncludeInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/ProtectedInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/ProtectedInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/PublicExcludeInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/pkg1/PublicExcludeInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testProfiles/pkg2/Anno1Pkg2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testProfiles/pkg2/Anno1Pkg2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testProfiles/pkg2/Anno2Pkg2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testProfiles/pkg2/Anno2Pkg2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testProfiles/pkg4/Anno1Pkg4.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testProfiles/pkg4/Anno1Pkg4.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/NestedInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/NestedInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PrivateIncludeInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PrivateIncludeInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/ProtectedInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/ProtectedInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PublicExcludeInnerClass.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedForm/pkg1/PublicExcludeInnerClass.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C3.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C3.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testSinceTag/pkg1/C1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testSinceTag/pkg1/C1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/com/sun/javadoc/testTagOutput/TestTagOutput.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testTagOutput/TestTagOutput.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/6668794/badClass/A.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/6668794/badClass/A.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/6668794/badClass/Test.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/6668794/badClass/Test.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/6668794/badSource/p/A.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/6668794/badSource/p/A.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/7129225/Anno.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/7129225/Anno.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/7129225/AnnoProcessor.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/7129225/AnnoProcessor.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/7153958/CPoolRefClassContainingInlinedCts.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/7153958/CPoolRefClassContainingInlinedCts.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/7153958/pkg/ClassToBeStaticallyImportedA.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/7153958/pkg/ClassToBeStaticallyImportedA.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/7153958/pkg/ClassToBeStaticallyImportedB.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/7153958/pkg/ClassToBeStaticallyImportedB.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/8005931/CheckACC_STRICTFlagOnPkgAccessClassTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/8005931/CheckACC_STRICTFlagOnPkgAccessClassTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/8074306/TestSyntheticNullChecks.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/8074306/TestSyntheticNullChecks.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T6668802.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T6668802.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T7165659/InnerClassAttrMustNotHaveStrictFPFlagTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T7165659/InnerClassAttrMustNotHaveStrictFPFlagTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8003967/DetectMutableStaticFields.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8003967/DetectMutableStaticFields.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8009640/CheckRejectProfileBCPOptionsIfUsedTogetherTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8009640/CheckRejectProfileBCPOptionsIfUsedTogetherTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8010659/CompilerCrashWhenMixingBinariesAndSourcesTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8010659/CompilerCrashWhenMixingBinariesAndSourcesTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8011181/EmptyUTF8ForInnerClassNameTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8011181/EmptyUTF8ForInnerClassNameTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8013394/CompileErrorWithIteratorTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8013394/CompileErrorWithIteratorTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8019486/WrongLNTForLambdaTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8019486/WrongLNTForLambdaTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8022186/DeadCodeGeneratedForEmptyTryTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8022186/DeadCodeGeneratedForEmptyTryTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8022316/CompilerErrorGenericThrowPlusMethodRefTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8022316/CompilerErrorGenericThrowPlusMethodRefTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,30 +1,5 @@
/*
- * Copyright (c) 2013, 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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
+ * @test /nodynamiccopyright/
* @bug 8022316
* @summary Generic throws, overriding and method reference
* @compile/fail/ref=CompilerErrorGenericThrowPlusMethodRefTest.out -XDrawDiagnostics CompilerErrorGenericThrowPlusMethodRefTest.java
--- a/langtools/test/tools/javac/T8022316/CompilerErrorGenericThrowPlusMethodRefTest.out Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8022316/CompilerErrorGenericThrowPlusMethodRefTest.out Thu Aug 27 13:22:04 2015 -0700
@@ -1,2 +1,2 @@
-CompilerErrorGenericThrowPlusMethodRefTest.java:55:26: compiler.err.unreported.exception.need.to.catch.or.throw: java.lang.Exception
+CompilerErrorGenericThrowPlusMethodRefTest.java:30:26: compiler.err.unreported.exception.need.to.catch.or.throw: java.lang.Exception
1 error
--- a/langtools/test/tools/javac/T8023112/SkipLazyConstantCreationForMethodRefTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8023112/SkipLazyConstantCreationForMethodRefTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8024039/NoDeadCodeGenerationOnTrySmtTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8024039/NoDeadCodeGenerationOnTrySmtTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8024398/NPETryTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8024398/NPETryTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/T8024437/ExceptionInferenceFromClassFileTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/T8024437/ExceptionInferenceFromClassFileTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/TestBootstrapMethodsCount.java Thu Aug 27 13:22:04 2015 -0700
@@ -0,0 +1,236 @@
+/*
+ * Copyright (c) 2012, 2015, 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 8129547
+ * @summary Excess entries in BootstrapMethods with the same (bsm, bsmKind, bsmStaticArgs), but different dynamicArgs
+ * @library lib
+ * @modules jdk.jdeps/com.sun.tools.classfile
+ * jdk.compiler/com.sun.tools.javac.api
+ * jdk.compiler/com.sun.tools.javac.code
+ * jdk.compiler/com.sun.tools.javac.jvm
+ * jdk.compiler/com.sun.tools.javac.tree
+ * jdk.compiler/com.sun.tools.javac.util
+ * @build JavacTestingAbstractThreadedTest
+ * @run main/othervm TestBootstrapMethodsCount
+ */
+
+import java.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Locale;
+
+import javax.tools.Diagnostic;
+import javax.tools.JavaFileObject;
+import javax.tools.SimpleJavaFileObject;
+
+import com.sun.source.tree.MethodInvocationTree;
+import com.sun.source.tree.MethodTree;
+import com.sun.source.util.TaskEvent;
+import com.sun.source.util.TaskListener;
+import com.sun.source.util.TreeScanner;
+
+import com.sun.tools.classfile.Attribute;
+import com.sun.tools.classfile.BootstrapMethods_attribute;
+import com.sun.tools.classfile.ClassFile;
+
+import com.sun.tools.javac.api.JavacTaskImpl;
+import com.sun.tools.javac.code.Symbol;
+import com.sun.tools.javac.code.Symbol.MethodSymbol;
+import com.sun.tools.javac.code.Symtab;
+import com.sun.tools.javac.code.Types;
+import com.sun.tools.javac.tree.JCTree.JCMethodInvocation;
+import com.sun.tools.javac.tree.JCTree.JCMethodDecl;
+import com.sun.tools.javac.tree.JCTree.JCIdent;
+import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.Names;
+
+import static com.sun.tools.javac.jvm.ClassFile.*;
+
+public class TestBootstrapMethodsCount
+ extends JavacTestingAbstractThreadedTest
+ implements Runnable {
+
+
+ public static void main(String... args) throws Exception {
+ pool.execute(new TestBootstrapMethodsCount());
+ checkAfterExec();
+ }
+
+ DiagChecker dc;
+
+ TestBootstrapMethodsCount() {
+ dc = new DiagChecker();
+ }
+
+ public void run() {
+ int id = checkCount.incrementAndGet();
+ JavaSource source = new JavaSource(id);
+ JavacTaskImpl ct = (JavacTaskImpl)comp.getTask(null, fm.get(), dc,
+ Arrays.asList("-g"), null, Arrays.asList(source));
+ Context context = ct.getContext();
+ Symtab syms = Symtab.instance(context);
+ Names names = Names.instance(context);
+ Types types = Types.instance(context);
+ ct.addTaskListener(new Indifier(syms, names, types));
+ try {
+ ct.generate();
+ } catch (Throwable t) {
+ t.printStackTrace();
+ throw new AssertionError(
+ String.format("Error thrown when compiling following code\n%s",
+ source.source));
+ }
+ if (dc.diagFound) {
+ throw new AssertionError(
+ String.format("Diags found when compiling following code\n%s\n\n%s",
+ source.source, dc.printDiags()));
+ }
+ verifyBytecode(id);
+ }
+
+ void verifyBytecode(int id) {
+ File compiledTest = new File(String.format("Test%d.class", id));
+ try {
+ ClassFile cf = ClassFile.read(compiledTest);
+ BootstrapMethods_attribute bsm_attr =
+ (BootstrapMethods_attribute)cf
+ .getAttribute(Attribute.BootstrapMethods);
+ int length = bsm_attr.bootstrap_method_specifiers.length;
+ if (length != 1) {
+ throw new Error("Bad number of method specifiers " +
+ "in BootstrapMethods attribute: " + length);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new Error("error reading " + compiledTest +": " + e);
+ }
+ }
+
+ class JavaSource extends SimpleJavaFileObject {
+
+ static final String source_template = "import java.lang.invoke.*;\n" +
+ "class Bootstrap {\n" +
+ " public static CallSite bsm(MethodHandles.Lookup lookup, " +
+ "String name, MethodType methodType) {\n" +
+ " return null;\n" +
+ " }\n" +
+ "}\n" +
+ "class Test#ID {\n" +
+ " void m1() { }\n" +
+ " void m2(Object arg1) { }\n" +
+ " void test1() {\n" +
+ " Object o = this; // marker statement \n" +
+ " m1();\n" +
+ " }\n" +
+ " void test2(Object arg1) {\n" +
+ " Object o = this; // marker statement \n" +
+ " m2(arg1);\n" +
+ " }\n" +
+ "}";
+
+ String source;
+
+ JavaSource(int id) {
+ super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
+ source = source_template.replace("#ID", String.valueOf(id));
+ }
+
+ @Override
+ public CharSequence getCharContent(boolean ignoreEncodingErrors) {
+ return source;
+ }
+ }
+
+ class Indifier extends TreeScanner<Void, Void> implements TaskListener {
+
+ MethodSymbol bsm;
+ Symtab syms;
+ Names names;
+ Types types;
+
+ Indifier(Symtab syms, Names names, Types types) {
+ this.syms = syms;
+ this.names = names;
+ this.types = types;
+ }
+
+ @Override
+ public void started(TaskEvent e) {
+ //do nothing
+ }
+
+ @Override
+ public void finished(TaskEvent e) {
+ if (e.getKind() == TaskEvent.Kind.ANALYZE) {
+ scan(e.getCompilationUnit(), null);
+ }
+ }
+
+ @Override
+ public Void visitMethodInvocation(MethodInvocationTree node, Void p) {
+ super.visitMethodInvocation(node, p);
+ JCMethodInvocation apply = (JCMethodInvocation)node;
+ JCIdent ident = (JCIdent)apply.meth;
+ Symbol oldSym = ident.sym;
+ if (!oldSym.isConstructor()) {
+ ident.sym = new Symbol.DynamicMethodSymbol(oldSym.name,
+ oldSym.owner, REF_invokeStatic, bsm, oldSym.type, new Object[0]);
+ }
+ return null;
+ }
+
+ @Override
+ public Void visitMethod(MethodTree node, Void p) {
+ super.visitMethod(node, p);
+ if (node.getName().toString().equals("bsm")) {
+ bsm = ((JCMethodDecl)node).sym;
+ }
+ return null;
+ }
+ }
+
+ static class DiagChecker
+ implements javax.tools.DiagnosticListener<JavaFileObject> {
+
+ boolean diagFound;
+ ArrayList<String> diags = new ArrayList<>();
+
+ public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
+ diags.add(diagnostic.getMessage(Locale.getDefault()));
+ diagFound = true;
+ }
+
+ String printDiags() {
+ StringBuilder buf = new StringBuilder();
+ for (String s : diags) {
+ buf.append(s);
+ buf.append("\n");
+ }
+ return buf.toString();
+ }
+ }
+
+}
--- a/langtools/test/tools/javac/defaultMethods/CheckACC_STRICTFlagOnDefaultMethodTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/defaultMethods/CheckACC_STRICTFlagOnDefaultMethodTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/diags/examples/BadSourceFileHeader/sourcepath/p/A.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/diags/examples/BadSourceFileHeader/sourcepath/p/A.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/diags/examples/MethodRedundantTypeargs.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/diags/examples/MethodRedundantTypeargs.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/6987475/T6987475pos.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/6987475/T6987475pos.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/8064803/T8064803.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/8064803/T8064803.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8048838/T8048838.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8048838/T8048838.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8055963/T8055963.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8055963/T8055963.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8058199/T8058199.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8058199/T8058199.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8058511/T8058511a.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8058511/T8058511a.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8058511/T8058511b.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8058511/T8058511b.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8058511/T8058511c.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8058511/T8058511c.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8078024/T8078024.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8078024/T8078024.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/8130304/T8130304.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/8130304/T8130304.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTesta.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTesta.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/typevars/8129214/T8129214.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/typevars/8129214/T8129214.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/generics/typevars/8129214/pkg/Foo.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/generics/typevars/8129214/pkg/Foo.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/8051958/T8051958.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/8051958/T8051958.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/8068399/T8068399.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/8068399/T8068399.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/8068430/T8068430.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/8068430/T8068430.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/8073842/T8073842.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/8073842/T8073842.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/lambda/8134329/T8134329.java Thu Aug 27 13:22:04 2015 -0700
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2015, 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * 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 8134329
+ * @summary TeeOpTest.java fails across platforms after fix for JDK-8129547
+ */
+import java.util.function.Supplier;
+
+public class T8134329 {
+
+ static void assertEquals(Object o1, Object o2) {
+ if (!o1.equals(o2)) {
+ throw new AssertionError(String.format("Expected %s - found %s", o2, o1));
+ }
+ }
+
+ public static void main(String[] args) {
+ Supplier<String> s1 = new T8134329() { }::m;
+ assertEquals(s1.get(), "m");
+ Supplier<String> s2 = new T8134329() { }::g;
+ assertEquals(s2.get(), "g");
+ Supplier<String> s3 = new T8134329() { }::m;
+ assertEquals(s3.get(), "m");
+ }
+
+ String m() { return "m"; }
+ String g() { return "g"; }
+}
--- a/langtools/test/tools/javac/lambda/LambdaInterfaceStaticField.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/LambdaInterfaceStaticField.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/LambdaMultiCatchTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/LambdaMultiCatchTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/T8038420/LambdaIncrement.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/T8038420/LambdaIncrement.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/T8057800/NPEMethodReferenceAndGenericsTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/T8057800/NPEMethodReferenceAndGenericsTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/lambdaExecution/InInterface.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExecution/InInterface.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/lambdaExecution/InnerConstructor.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExecution/InnerConstructor.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/lambdaExecution/LambdaTranslationTest1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExecution/LambdaTranslationTest1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/lambdaExecution/LambdaTranslationTest2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExecution/LambdaTranslationTest2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/lambdaExecution/TMapper.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExecution/TMapper.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/lambdaExecution/TPredicate.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExecution/TPredicate.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReference/MethodReferenceComplexNullCheckTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReference/MethodReferenceComplexNullCheckTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceIntersection1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceIntersection1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceIntersection2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceIntersection2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceIntersection3.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceIntersection3.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceNullCheckTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceNullCheckTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferencePackagePrivateQualifier.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferencePackagePrivateQualifier.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestFDCCE.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestFDCCE.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInnerDefault.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInnerDefault.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInnerInstance.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInnerInstance.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInnerVarArgsThis.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInnerVarArgsThis.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInstance.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestInstance.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestKinds.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestKinds.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestMethodHandle.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestMethodHandle.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNew.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNew.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNewInner.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNewInner.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNewInnerImplicitArgs.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNewInnerImplicitArgs.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase2.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase2.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase4.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase4.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSuper.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSuper.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSuperDefault.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSuperDefault.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestTypeConversion.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestTypeConversion.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgs.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgs.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsExt.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsExt.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsSuper.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsSuper.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsSuperDefault.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsSuperDefault.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsThis.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestVarArgsThis.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambda/methodReferenceExecution/pkg/B.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambda/methodReferenceExecution/pkg/B.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/AttributeInjector.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/AttributeInjector.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFile.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFile.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFilePreprocessor.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFilePreprocessor.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassToInterfaceConverter.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassToInterfaceConverter.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/DirectedClassLoader.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/DirectedClassLoader.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/ClassCase.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/ClassCase.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/Hierarchy.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/Hierarchy.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/HierarchyGenerator.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/HierarchyGenerator.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/Rule.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/Rule.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/RuleGroup.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/RuleGroup.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/TTNode.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/TTNode.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/TTParser.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/TTParser.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/TTShape.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/shapegen/TTShape.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/vm/FDSeparateCompilationTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/lambdaShapes/org/openjdk/tests/vm/FDSeparateCompilationTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/linenumbers/NestedLineNumberTest.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/linenumbers/NestedLineNumberTest.java Thu Aug 27 13:22:04 2015 -0700
@@ -1,30 +1,5 @@
/*
- * Copyright (c) 2014, 2015, 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * 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
+ * @test /nodynamiccopyright/
* @bug 8061778
* @summary Wrong LineNumberTable for default constructors
* @modules jdk.jdeps/com.sun.tools.classfile
@@ -50,8 +25,8 @@
}
int line = lines[0].line_number;
- if (line != 79) {
- error(String.format("LineNumberTable contains wrong line number - expected %d, found %d", 79, line));
+ if (line != 54) {
+ error(String.format("LineNumberTable contains wrong line number - expected %d, found %d", 54, line));
}
}
--- a/langtools/test/tools/javac/processing/messager/MessagerDiags.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/processing/messager/MessagerDiags.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javac/unicode/Wrapper.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javac/unicode/Wrapper.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javap/T4884240.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javap/T4884240.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javap/classfile/deps/GetDeps.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javap/classfile/deps/GetDeps.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javap/classfile/deps/T6907575.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javap/classfile/deps/T6907575.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/javap/classfile/deps/p/C1.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/javap/classfile/deps/p/C1.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/ApiExtraction.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/ApiExtraction.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/ClasspathDependencies.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/ClasspathDependencies.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/CompileCircularSources.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/CompileCircularSources.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/CompileExcludingDependency.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/CompileExcludingDependency.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/CompileWithAtFile.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/CompileWithAtFile.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/CompileWithInvisibleSources.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/CompileWithInvisibleSources.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/CompileWithOverrideSources.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/CompileWithOverrideSources.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/ExclPattern.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/ExclPattern.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/IdleShutdown.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/IdleShutdown.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
@@ -31,17 +29,11 @@
* @build Wrapper
* @run main Wrapper IdleShutdown
*/
-import java.io.File;
-import java.net.URI;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
import com.sun.tools.sjavac.server.CompilationResult;
import com.sun.tools.sjavac.server.IdleResetSjavac;
import com.sun.tools.sjavac.server.Sjavac;
-import com.sun.tools.sjavac.server.SysInfo;
import com.sun.tools.sjavac.server.Terminable;
@@ -70,35 +62,14 @@
if (timeoutTimestamp.get() != -1)
throw new AssertionError("Premature timeout detected.");
- // Call various methods and wait less than TIMEOUT_MS in between
- Thread.sleep(TIMEOUT_MS - 1000);
- log("Getting sys info");
- service.getSysInfo();
-
+ // Use Sjavac object and wait less than TIMEOUT_MS in between calls
Thread.sleep(TIMEOUT_MS - 1000);
- log("Getting sys info");
- service.getSysInfo();
-
- if (timeoutTimestamp.get() != -1)
- throw new AssertionError("Premature timeout detected.");
+ log("Compiling");
+ service.compile(new String[0]);
Thread.sleep(TIMEOUT_MS - 1000);
log("Compiling");
- service.compile("",
- "",
- new String[0],
- Collections.<File>emptyList(),
- Collections.<URI>emptySet(),
- Collections.<URI>emptySet());
-
- Thread.sleep(TIMEOUT_MS - 1000);
- log("Compiling");
- service.compile("",
- "",
- new String[0],
- Collections.<File>emptyList(),
- Collections.<URI>emptySet(),
- Collections.<URI>emptySet());
+ service.compile(new String[0]);
if (timeoutTimestamp.get() != -1)
throw new AssertionError("Premature timeout detected.");
@@ -129,7 +100,10 @@
private static class NoopJavacService implements Sjavac {
@Override
- public SysInfo getSysInfo() {
+ public void shutdown() {
+ }
+ @Override
+ public CompilationResult compile(String[] args) {
// Attempt to trigger idle timeout during a call by sleeping
try {
Thread.sleep(TIMEOUT_MS + 1000);
@@ -137,21 +111,5 @@
}
return null;
}
- @Override
- public void shutdown() {
- }
- @Override
- public CompilationResult compile(String protocolId,
- String invocationId,
- String[] args,
- List<File> explicitSources,
- Set<URI> sourcesToCompile,
- Set<URI> visibleSources) {
- return null;
- }
- @Override
- public String serverSettings() {
- return "";
- }
}
}
--- a/langtools/test/tools/sjavac/IgnoreSymbolFile.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/IgnoreSymbolFile.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/IncCompInheritance.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/IncCompInheritance.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/IncCompileFullyQualifiedRef.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/IncCompileFullyQualifiedRef.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/JavacOptionPrep.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/JavacOptionPrep.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/OptionDecoding.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/OptionDecoding.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
@@ -51,10 +49,10 @@
import java.util.Map;
import com.sun.tools.sjavac.CopyFile;
-import com.sun.tools.sjavac.Main;
import com.sun.tools.sjavac.Module;
import com.sun.tools.sjavac.Source;
import com.sun.tools.sjavac.client.ClientMain;
+import com.sun.tools.sjavac.comp.SjavacImpl;
import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.options.SourceLocation;
@@ -136,7 +134,7 @@
Options options = Options.parseArgs("-if", "root/pkg1/ClassA1.java", "root");
Map<String, Source> foundFiles = new HashMap<>();
- ClientMain.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ SjavacImpl.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
new HashMap<String, Module>(), new Module("", ""), false, true);
checkFilesFound(foundFiles.keySet(), a1);
@@ -148,7 +146,7 @@
Options options = Options.parseArgs("-i", "pkg1/*", "root");
Map<String, Source> foundFiles = new HashMap<>();
- ClientMain.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ SjavacImpl.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
new HashMap<String, Module>(), new Module("", ""), false, true);
checkFilesFound(foundFiles.keySet(), a1, a2, b1, b2);
@@ -160,7 +158,7 @@
Options options = Options.parseArgs("-xf", "root/pkg1/ClassA1.java", "root");
Map<String, Source> foundFiles = new HashMap<>();
- ClientMain.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ SjavacImpl.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
new HashMap<String, Module>(), new Module("", ""), false, true);
checkFilesFound(foundFiles.keySet(), a2, b1, b2, c1, c2);
@@ -171,7 +169,7 @@
Options options = Options.parseArgs("-i", "pkg1/*", "root");
Map<String, Source> foundFiles = new HashMap<>();
- ClientMain.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ SjavacImpl.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
new HashMap<String, Module>(), new Module("", ""), false, true);
checkFilesFound(foundFiles.keySet(), a1, a2, b1, b2);
@@ -182,7 +180,7 @@
Options options = Options.parseArgs("-i", "pkg1/*", "-x", "pkg1/pkg2/*", "root");
Map<String, Source> foundFiles = new HashMap<>();
- ClientMain.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ SjavacImpl.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
new HashMap<String, Module>(), new Module("", ""), false, true);
checkFilesFound(foundFiles.keySet(), a1, a2);
--- a/langtools/test/tools/sjavac/PackagePathMismatch.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/PackagePathMismatch.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/ParallelCompilations.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/ParallelCompilations.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/PermittedArtifact.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/PermittedArtifact.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/PooledExecution.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/PooledExecution.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
@@ -32,18 +30,12 @@
* @build Wrapper
* @run main Wrapper PooledExecution
*/
-import java.io.File;
-import java.net.URI;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import com.sun.tools.sjavac.comp.PooledSjavac;
import com.sun.tools.sjavac.server.CompilationResult;
import com.sun.tools.sjavac.server.Sjavac;
-import com.sun.tools.sjavac.server.SysInfo;
public class PooledExecution {
@@ -75,12 +67,7 @@
for (int i = 0; i < NUM_REQUESTS; i++) {
tasks[i] = new Thread() {
public void run() {
- service.compile("",
- "",
- new String[0],
- Collections.<File>emptyList(),
- Collections.<URI>emptySet(),
- Collections.<URI>emptySet());
+ service.compile(new String[0]);
tasksFinished.incrementAndGet();
}
};
@@ -122,12 +109,7 @@
AtomicInteger activeRequests = new AtomicInteger(0);
@Override
- public CompilationResult compile(String protocolId,
- String invocationId,
- String[] args,
- List<File> explicitSources,
- Set<URI> sourcesToCompile,
- Set<URI> visibleSources) {
+ public CompilationResult compile(String[] args) {
leftToStart.countDown();
int numActiveRequests = activeRequests.incrementAndGet();
System.out.printf("Left to start: %2d / Currently active: %2d%n",
@@ -145,18 +127,8 @@
}
@Override
- public SysInfo getSysInfo() {
- return null;
- }
-
- @Override
public void shutdown() {
}
-
- @Override
- public String serverSettings() {
- return "";
- }
}
}
}
--- a/langtools/test/tools/sjavac/SjavacBase.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/SjavacBase.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/StateDir.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/StateDir.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/Wrapper.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/Wrapper.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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
--- a/langtools/test/tools/sjavac/util/OptionTestUtil.java Thu Aug 27 12:59:55 2015 -0700
+++ b/langtools/test/tools/sjavac/util/OptionTestUtil.java Thu Aug 27 13:22:04 2015 -0700
@@ -4,9 +4,7 @@
*
* 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. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * 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