From 4592afc213015da2341faedb6fcb316c8bb68390 Mon Sep 17 00:00:00 2001 From: Umair Khan Date: Mon, 17 Aug 2015 11:34:14 +0530 Subject: [PATCH] Let the mode decide in which jars to search for during auto completion This will allow Android mode to add android.jar to this searchable jars list. Signed-off-by: Umair Khan --- app/src/processing/app/Mode.java | 6 ++++++ java/src/processing/mode/java/JavaMode.java | 14 ++++++++++++++ .../processing/mode/java/pdex/ASTGenerator.java | 9 +-------- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/app/src/processing/app/Mode.java b/app/src/processing/app/Mode.java index 803dbd9de..7b6637c67 100644 --- a/app/src/processing/app/Mode.java +++ b/app/src/processing/app/Mode.java @@ -936,6 +936,12 @@ public abstract class Mode { // base.handleNewReplace(); // } + + public String getSearchPath() { + return ""; + } + + @Override public String toString() { return getTitle(); diff --git a/java/src/processing/mode/java/JavaMode.java b/java/src/processing/mode/java/JavaMode.java index 4f9500229..2ee7e92bc 100644 --- a/java/src/processing/mode/java/JavaMode.java +++ b/java/src/processing/mode/java/JavaMode.java @@ -263,6 +263,20 @@ public class JavaMode extends Mode { JavaBuild build = new JavaBuild(sketch); return build.exportApplication(); } + + + @Override + public String getSearchPath() { + StringBuilder tehPath = new StringBuilder(System.getProperty("java.class.path")); + + // Starting with JDK 1.7, no longer using Apple's Java, so + // rt.jar has the same path on all OSes + tehPath.append(File.pathSeparatorChar + + System.getProperty("java.home") + File.separator + "lib" + + File.separator + "rt.jar"); + + return tehPath.toString(); + } // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . diff --git a/java/src/processing/mode/java/pdex/ASTGenerator.java b/java/src/processing/mode/java/pdex/ASTGenerator.java index 425af693a..5a09b7e87 100644 --- a/java/src/processing/mode/java/pdex/ASTGenerator.java +++ b/java/src/processing/mode/java/pdex/ASTGenerator.java @@ -306,14 +306,7 @@ public class ASTGenerator { protected void loadJars() { factory = new ClassPathFactory(); - StringBuilder tehPath = - new StringBuilder(System.getProperty("java.class.path")); - - // Starting with JDK 1.7, no longer using Apple's Java, so - // rt.jar has the same path on all OSes - tehPath.append(File.pathSeparatorChar - + System.getProperty("java.home") + File.separator + "lib" - + File.separator + "rt.jar" + File.pathSeparatorChar); + StringBuilder tehPath = new StringBuilder(editor.getMode().getSearchPath()); if (errorCheckerService.classpathJars != null) { synchronized (errorCheckerService.classpathJars) {