Skip to content

Commit 1bfa12c

Browse files
committed
add core to imports so that GL2 and processing.core doesn't screw up the ErrorCheckerService
1 parent 55c9ace commit 1bfa12c

6 files changed

Lines changed: 101 additions & 121 deletions

File tree

app/src/processing/app/Library.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ static String[] listPlatformEntries(File libraryFolder, String folderName, Strin
256256
* @param importToLibraryTable mapping from package names to Library objects
257257
*/
258258
// public void addPackageList(HashMap<String,Library> importToLibraryTable) {
259-
public void addPackageList(HashMap<String,ArrayList<Library>> importToLibraryTable) {
259+
public void addPackageList(Map<String, ArrayList<Library>> importToLibraryTable) {
260260
// PApplet.println(packages);
261261
for (String pkg : packageList) {
262262
// pw.println(pkg + "\t" + libraryFolder.getAbsolutePath());

app/src/processing/app/Mode.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,15 @@ public abstract class Mode {
5454
protected File folder;
5555

5656
protected TokenMarker tokenMarker;
57-
protected HashMap<String, String> keywordToReference =
57+
protected Map<String, String> keywordToReference =
5858
new HashMap<String, String>();
5959

6060
protected Settings theme;
6161
// protected Formatter formatter;
6262
// protected Tool formatter;
6363

6464
// maps imported packages to their library folder
65-
// protected HashMap<String, Library> importToLibraryTable;
66-
protected HashMap<String, ArrayList<Library>> importToLibraryTable;
65+
protected Map<String, ArrayList<Library>> importToLibraryTable;
6766

6867
// these menus are shared so that they needn't be rebuilt for all windows
6968
// each time a sketch is created, renamed, or moved.
@@ -321,6 +320,11 @@ public void rebuildLibraryList() {
321320
// reset the table mapping imports to libraries
322321
importToLibraryTable = new HashMap<String, ArrayList<Library>>();
323322

323+
Library core = getCoreLibrary();
324+
if (core != null) {
325+
core.addPackageList(importToLibraryTable);
326+
}
327+
324328
coreLibraries = Library.list(librariesFolder);
325329
for (Library lib : coreLibraries) {
326330
lib.addPackageList(importToLibraryTable);
@@ -342,7 +346,7 @@ public Library getCoreLibrary() {
342346

343347

344348
public Library getLibrary(String pkgName) throws SketchException {
345-
ArrayList<Library> libraries = importToLibraryTable.get(pkgName);
349+
List<Library> libraries = importToLibraryTable.get(pkgName);
346350
if (libraries == null) {
347351
return null;
348352

java/src/processing/mode/java/pdex/ASTGenerator.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1210,7 +1210,7 @@ public String getPDESourceCodeLine(int javaLineNumber) {
12101210
int res[] = errorCheckerService
12111211
.calculateTabIndexAndLineNumber(javaLineNumber);
12121212
if (res != null) {
1213-
return errorCheckerService.getPDECodeAtLine(res[0], res[1]);
1213+
return errorCheckerService.getPdeCodeAtLine(res[0], res[1]);
12141214
}
12151215
return null;
12161216
}
@@ -1657,7 +1657,7 @@ public ASTNodeWrapper getASTNodeAt(int lineNumber, String name, int offset,
16571657

16581658
// Obtain correspondin java code at that line, match offsets
16591659
if (lineNode != null) {
1660-
String pdeCodeLine = errorCheckerService.getPDECodeAtLine(editor
1660+
String pdeCodeLine = errorCheckerService.getPdeCodeAtLine(editor
16611661
.getSketch().getCurrentCodeIndex(), lineNumber);
16621662
String javaCodeLine = getJavaSourceCodeLine(pdeLineNumber);
16631663

@@ -3301,15 +3301,13 @@ public String[] getSuggestImports(final String className){
33013301
}
33023302

33033303
log("Looking for class " + className);
3304-
RegExpResourceFilter regf = new RegExpResourceFilter(
3305-
Pattern.compile(".*"),
3306-
Pattern
3307-
.compile(className
3308-
+ ".class",
3309-
Pattern.CASE_INSENSITIVE));
3310-
String[] resources = classPath
3311-
.findResources("", regf);
3312-
ArrayList<String> candidates = new ArrayList<String>();
3304+
RegExpResourceFilter regf =
3305+
new RegExpResourceFilter(Pattern.compile(".*"),
3306+
Pattern.compile(className + ".class",
3307+
Pattern.CASE_INSENSITIVE));
3308+
// TODO once saw NPE here...possible for classPath to be null? [fry 150808]
3309+
String[] resources = classPath.findResources("", regf);
3310+
List<String> candidates = new ArrayList<String>();
33133311
for (String res : resources) {
33143312
candidates.add(res);
33153313
}

java/src/processing/mode/java/pdex/ASTNodeWrapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ public int[] getJavaCodeOffsets(ErrorCheckerService ecs) {
195195
}
196196

197197
int pdeoffsets[] = getPDECodeOffsets(ecs);
198-
String pdeCode = ecs.getPDECodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim();
198+
String pdeCode = ecs.getPdeCodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim();
199199
int vals[] = createOffsetMapping(ecs, pdeCode,nodeOffset - altStartPos,nodeLength);
200200
if (vals != null)
201201
return new int[] {
@@ -635,7 +635,7 @@ public boolean highlightNode(ASTGenerator astGenerator){
635635
*/
636636
public int[][] getOffsetMapping(ErrorCheckerService ecs){
637637
int pdeoffsets[] = getPDECodeOffsets(ecs);
638-
String pdeCode = ecs.getPDECodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim();
638+
String pdeCode = ecs.getPdeCodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim();
639639
return getOffsetMapping(ecs, pdeCode);
640640
}
641641

0 commit comments

Comments
 (0)