From d587c14bbbea1201f93bd2d76fde40a93d9409d3 Mon Sep 17 00:00:00 2001 From: Manindra Moharana Date: Mon, 7 Sep 2015 20:53:46 -0700 Subject: [PATCH] Fixes #3720 --- .../mode/java/pdex/ASTGenerator.java | 15 +++------------ .../mode/java/pdex/ImportStatement.java | 19 +++++++++++++------ .../mode/java/pdex/JavaTextArea.java | 1 + 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/java/src/processing/mode/java/pdex/ASTGenerator.java b/java/src/processing/mode/java/pdex/ASTGenerator.java index b8cc95f588..687da50667 100644 --- a/java/src/processing/mode/java/pdex/ASTGenerator.java +++ b/java/src/processing/mode/java/pdex/ASTGenerator.java @@ -1297,24 +1297,15 @@ protected Class findClassIfExists(String className){ for (ImportStatement impS : imports) { String temp = impS.getPackageName(); - - if (temp.endsWith("*")) { - temp = temp.substring(0, temp.length() - 1) + className; - } else { - int x = temp.lastIndexOf('.'); - //log("fclife " + temp.substring(x + 1)); - if (!temp.substring(x + 1).equals(className)) { - continue; - } + if (impS.isStarredImport() && className.indexOf('.') == -1) { + temp = impS.getPackageName() + "." + className; } tehClass = loadClass(temp); if (tehClass != null) { log(tehClass.getName() + " located."); return tehClass; } - - //log("Doesn't exist in package: " + impS.getImportName()); - + //log("Doesn't exist in imp package: " + impS.getImportName()); } PdePreprocessor p = new PdePreprocessor(null); diff --git a/java/src/processing/mode/java/pdex/ImportStatement.java b/java/src/processing/mode/java/pdex/ImportStatement.java index bb86955f86..d64b62f8c2 100644 --- a/java/src/processing/mode/java/pdex/ImportStatement.java +++ b/java/src/processing/mode/java/pdex/ImportStatement.java @@ -69,11 +69,18 @@ public String getPackageName(){ return ret; } - public int getTab() { - return tab; - } + public int getTab() { + return tab; + } - public int getLineNumber() { - return lineNumber; - } + public int getLineNumber() { + return lineNumber; + } + + public boolean isStarredImport() { + String ret = new String(importName.trim()); + if(ret.endsWith(";")) + ret = ret.substring(0, ret.length() - 1).trim(); + return ret.endsWith(".*"); + } } \ No newline at end of file diff --git a/java/src/processing/mode/java/pdex/JavaTextArea.java b/java/src/processing/mode/java/pdex/JavaTextArea.java index 720dd156ec..ee1323f2d7 100644 --- a/java/src/processing/mode/java/pdex/JavaTextArea.java +++ b/java/src/processing/mode/java/pdex/JavaTextArea.java @@ -181,6 +181,7 @@ public void processKeyEvent(KeyEvent evt) { if (suggestion.isVisible()) { prepareSuggestions(evt); } + return; } }