Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
before add log in plt and platform
  • Loading branch information
dapanghu committed Nov 17, 2018
commit a2e94c5850e98ae0fb97b2b5ff5f849858345b81
Binary file added drjava/jacoco.exec
Binary file not shown.
Binary file modified drjava/lib/plt.jar
Binary file not shown.
Binary file added drjava/lib/plt.jar.bak
Binary file not shown.
11 changes: 6 additions & 5 deletions drjava/src/edu/rice/cs/drjava/DrJava.java
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
* @version $Id$
*/
public class DrJava {
public static volatile Log _log = new Log("DrJava.txt", false);
public static volatile Log _log = new Log("DrJava.txt", true);

private static final String DEFAULT_MAX_HEAP_SIZE_ARG = "-Xmx128M";

Expand Down Expand Up @@ -242,9 +242,9 @@ public static void main(final String[] args) {
if (handleCommandLineArgs(args)) {
// Platform-specific UI setup.
PlatformFactory.ONLY.beforeUISetup();

_log.log("before configureAndLoadDrJavaRoot");
// Utilities.showDebug("Calling configureAndLoadDrJavaRoot with args = " + args);
configureAndLoadDrJavaRoot(args);
configureAndLoadDrJavaRoot(args);
}
}

Expand Down Expand Up @@ -286,7 +286,7 @@ public static void configureAndLoadDrJavaRoot(String[] args) {
clearFilesToOpen();
_log.log("_filesToOpen copied into class arguments, clearing _filesToOpen");
}

_log.log("_doRestart before if statement: "+_doRestart);
if (_doRestart) {
if (DrJava.getConfig().getSetting(OptionConstants.REMOTE_CONTROL_ENABLED)) {
// at this time, OUR remote control server hasn't been started yet
Expand Down Expand Up @@ -403,7 +403,8 @@ static boolean handleCommandLineArgs(String[] args) {
int argIndex = 0;
int len = args.length;
_log.log("handleCommandLineArgs. _filesToOpen: " + _filesToOpen);

_log.log("handleCommandLineArgs args are : " + java.util.Arrays.toString(args));

while(argIndex < len) {
String arg = args[argIndex++];

Expand Down
9 changes: 7 additions & 2 deletions drjava/src/edu/rice/cs/drjava/DrJavaRoot.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@

import javax.swing.UIManager;
import javax.swing.*;

import edu.rice.cs.util.Log;
import edu.rice.cs.plt.lambda.Runnable1;
import edu.rice.cs.util.FileOpenSelector;
import edu.rice.cs.util.UnexpectedException;
Expand All @@ -71,7 +71,9 @@
/** Main class for DrJava.
* @version $Id$
*/
public class DrJavaRoot {
public class DrJavaRoot {
public static volatile Log _log = new Log("DrJava.txt", true);

/** Class to probe to see if the debugger is available */
public static final String TEST_DEBUGGER_CLASS = "com.sun.jdi.Bootstrap";

Expand All @@ -95,6 +97,8 @@ public class DrJavaRoot {

public static void main(final String[] args) {
debug.log("Starting up");
_log.log("Starting up DrJavaRoot.main");

// Platform-specific UI setup.
PlatformFactory.ONLY.beforeUISetup();

Expand Down Expand Up @@ -191,6 +195,7 @@ public void run(){
// Utilities.showDebug("showDebugConsole flag = " + DrJava.getShowDebugConsole());
// Show debug console if enabled
if (DrJava.getShowDebugConsole()) showDrJavaDebugConsole(_mainFrame);
_log.log("end try in DrJavaRoot.main");
}
catch(Throwable t) {
error.log(t);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
*/
public class AbstractGlobalModel implements SingleDisplayModel, OptionConstants, DocumentIterator {

public static final Log _log = new Log("GlobalModel.txt", false);
public static final Log _log = new Log("GlobalModel.txt", true);

/** A document cache that manages how many unmodified documents are open at once. */
protected final DocumentCache _cache;
Expand Down
5 changes: 4 additions & 1 deletion drjava/src/edu/rice/cs/drjava/model/DefaultGlobalModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,10 @@ private Iterable<JDKToolsLibrary> findLibraries() {
}
else { JDKToolsLibrary._log.log("From config: not set"); }

Iterable<JarJDKToolsLibrary> fromSearch = JarJDKToolsLibrary.search(this);
//Iterable<JarJDKToolsLibrary> fromSearch = JarJDKToolsLibrary.search(this);
//todo
Iterable<JmodJDKToolsLibrary> fromSearch = JmodJDKToolsLibrary.search(this);

for (JDKToolsLibrary t : fromSearch) {
JavaVersion.FullVersion tVersion = t.version();
JDKToolsLibrary._log.log("From search: " + t);
Expand Down
5 changes: 4 additions & 1 deletion drjava/src/edu/rice/cs/drjava/model/JDKDescriptor.java
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,10 @@ public String getAdapterForDebugger(JavaVersion.FullVersion guessedVersion) {
* if a version of the HJ compiler requires JDK6, it should guess JDK6.
* @param f the file to guess the version of
* @return guessed version */
public JavaVersion.FullVersion guessVersion(File f) {
public JavaVersion.FullVersion guessVersion(File f, Boolean isJmod) {
if(isJmod)
return edu.rice.cs.drjava.model.JmodJDKToolsLibrary.guessVersion(f, this);
else
return edu.rice.cs.drjava.model.JarJDKToolsLibrary.guessVersion(f, this);
}

Expand Down
8 changes: 7 additions & 1 deletion drjava/src/edu/rice/cs/drjava/model/JDKToolsLibrary.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ public class JDKToolsLibrary {
private final JavadocModel _javadoc;
private final JDKDescriptor _jdkDescriptor; // JDKDescriptor.NONE if none

/* package private */ static Log _log = new Log("JDKToolsLibrary.txt", false);
//todo
/* package private */ static Log _log = new Log("JDKToolsLibrary.txt", true);

protected JDKToolsLibrary(FullVersion version, JDKDescriptor jdkDescriptor, CompilerInterface compiler,
Debugger debugger, JavadocModel javadoc) {
Expand Down Expand Up @@ -105,8 +106,13 @@ public boolean isValid() {
public String toString() { return _jdkDescriptor.getDescription(_version); }

public static String adapterForCompiler(JavaVersion.FullVersion version) {
_log.log(" in adapterForCompiler, version.majorVersion()= "+version.majorVersion());
switch (version.majorVersion()) {
case FUTURE: return "edu.rice.cs.drjava.model.compiler.Javac170Compiler";
// TODO
// case JAVA_11: return "edu.rice.cs.drjava.model.compiler.Javac170Compiler";
case JAVA_10: return "edu.rice.cs.drjava.model.compiler.Javac170Compiler";
case JAVA_9: return "edu.rice.cs.drjava.model.compiler.Javac170Compiler";
case JAVA_8: return "edu.rice.cs.drjava.model.compiler.Javac170Compiler";
case JAVA_7: return "edu.rice.cs.drjava.model.compiler.Javac170Compiler";
case JAVA_6: {
Expand Down
34 changes: 29 additions & 5 deletions drjava/src/edu/rice/cs/drjava/model/JarJDKToolsLibrary.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,15 @@
import edu.rice.cs.drjava.model.javadoc.DefaultJavadocModel;
import edu.rice.cs.drjava.model.javadoc.NoJavadocAvailable;
import edu.rice.cs.drjava.model.JDKDescriptor;
import edu.rice.cs.util.Log;

/** A JDKToolsLibrary that was loaded from a specific jar file. */
public class JarJDKToolsLibrary extends JDKToolsLibrary {

//todo
/* package private */ static Log _log = new Log("JarJDKToolsLibrary.txt", true);


/** Packages to shadow when loading a new tools.jar. If we don't shadow these classes, we won't
* be able to load distinct versions for each tools.jar library. These should be verified whenever
* a new Java version is released. (We can't just shadow *everything* because some classes, at
Expand Down Expand Up @@ -162,7 +167,7 @@ public static JarJDKToolsLibrary makeFromFile(File f, GlobalModel model, JDKDesc
Debugger debugger = NoDebuggerAvailable.ONLY;
JavadocModel javadoc = new NoJavadocAvailable(model);

FullVersion version = desc.guessVersion(f);
FullVersion version = desc.guessVersion(f,false);
JDKToolsLibrary.msg("makeFromFile: " + f + " --> " + version + ", vendor: " + version.vendor());
JDKToolsLibrary.msg(" desc = " + desc);

Expand All @@ -179,7 +184,8 @@ public static JarJDKToolsLibrary makeFromFile(File f, GlobalModel model, JDKDesc
// not all additional compiler files were found
isSupported = false;
}

JDKToolsLibrary.msg(" isSupported " + isSupported);

// We can't execute code that was possibly compiled for a later Java API version.
List<File> bootClassPath = null;
if (isSupported) {
Expand All @@ -191,7 +197,7 @@ public static JarJDKToolsLibrary makeFromFile(File f, GlobalModel model, JDKDesc
});

String compilerAdapter = desc.getAdapterForCompiler(version);

JDKToolsLibrary.msg(" compilerAdapter " + compilerAdapter);
if (compilerAdapter != null) {
// determine boot class path
File libDir = null;
Expand All @@ -209,6 +215,8 @@ else if (f.getName().equals("tools.jar")) {
}
}
}
JDKToolsLibrary.msg(" libDir " + libDir);

bootClassPath = new ArrayList<File>();
if (libDir != null) {
File[] jars = IOUtil.attemptListFiles(libDir, IOUtil.extensionFilePredicate("jar"));
Expand All @@ -222,14 +230,30 @@ else if (f.getName().equals("tools.jar")) {
}
if (additionalBootClassPath != null) { bootClassPath.addAll(additionalBootClassPath); }
if (bootClassPath.isEmpty()) { bootClassPath = null; } // null defers to the compiler's default behavior

for(int i=0;i<bootClassPath.size();i++)
{
JDKToolsLibrary.msg("bootClassPath[]= "+bootClassPath.get(i));
}
try {
Class<?>[] sig = { FullVersion.class, String.class, List.class };
Object[] args = { version, f.toString(), bootClassPath };
JDKToolsLibrary.msg("sig= "+sig);
for(int i=0;i<sig.length;i++)
JDKToolsLibrary.msg("sig[]= "+sig[i]);
JDKToolsLibrary.msg("args= "+args);
for(int i=0;i<args.length;i++)
JDKToolsLibrary.msg("args[]= "+args[i]);
JDKToolsLibrary.msg("loader= "+loader);
JDKToolsLibrary.msg("compilerAdapter= "+compilerAdapter);
JDKToolsLibrary.msg("path= "+path);

// JDKToolsLibrary._log.log("classpath for compiler: " + IterUtil.multilineToString(path));
// JDKToolsLibrary._log.log("boot classpath for compiler: " + IterUtil.multilineToString(bootClassPath));
// JDKToolsLibrary._log.log("boot classpath for compiler: " + IterUtil.multilineToString(bootClassPath));
//TODO
CompilerInterface attempt = (CompilerInterface) ReflectUtil.loadLibraryAdapter(loader, path, compilerAdapter,
sig, args);
JDKToolsLibrary.msg("attempt= "+attempt.getName()+" "+attempt.getDescription());

if (attempt.isAvailable()) { compiler = attempt; }
}
catch (ReflectException e) { /* can't load */ }
Expand Down
Loading