Skip to content

Commit 1ca265a

Browse files
author
A Samuel Pottinger
committed
Fix code sniff for java mode.
1 parent 25da0c9 commit 1ca265a

File tree

4 files changed

+65
-3
lines changed

4 files changed

+65
-3
lines changed

java/src/processing/mode/java/preproc/PdeParseTreeListener.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ public class PdeParseTreeListener extends ProcessingBaseListener {
8686
private boolean sizeIsFullscreen = false;
8787
private boolean noSmoothRequiresRewrite = false;
8888
private boolean smoothRequiresRewrite = false;
89+
private boolean userImportingManually = false;
8990
private RewriteResult headerResult;
9091
private RewriteResult footerResult;
9192

@@ -443,6 +444,10 @@ public void exitImportDeclaration(ProcessingParser.ImportDeclarationContext ctx)
443444

444445
foundImports.add(ImportStatement.parse(importStringNoSemi));
445446

447+
if (importStringNoSemi.startsWith("processing.core.")) {
448+
userImportingManually = true;
449+
}
450+
446451
delete(ctx.start, ctx.stop);
447452
}
448453

@@ -498,7 +503,7 @@ public void exitMultilineStringLiteral(ProcessingParser.MultilineStringLiteralCo
498503
* @param ctx ANTLR context for the sketch.
499504
*/
500505
public void exitStaticProcessingSketch(ProcessingParser.StaticProcessingSketchContext ctx) {
501-
mode = Mode.STATIC;
506+
mode = foundMain ? Mode.JAVA : Mode.STATIC;
502507
}
503508

504509
/**
@@ -1072,10 +1077,16 @@ protected void writePreprocessorComment(PrintWriterWithEditGen headerWriter,
10721077
protected void writeImports(PrintWriterWithEditGen headerWriter,
10731078
RewriteResultBuilder resultBuilder) {
10741079

1075-
writeImportList(headerWriter, coreImports, resultBuilder);
1080+
if (!userImportingManually) {
1081+
writeImportList(headerWriter, coreImports, resultBuilder);
1082+
}
1083+
10761084
writeImportList(headerWriter, codeFolderImports, resultBuilder);
10771085
writeImportList(headerWriter, foundImports, resultBuilder);
1078-
writeImportList(headerWriter, defaultImports, resultBuilder);
1086+
1087+
if (!userImportingManually) {
1088+
writeImportList(headerWriter, defaultImports, resultBuilder);
1089+
}
10791090
}
10801091

10811092
/**

java/test/processing/mode/java/ParserTests.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,4 +448,9 @@ public void testStaticClass() {
448448
expectGood("staticclass");
449449
}
450450

451+
@Test
452+
public void testCustomRootClass() {
453+
expectGood("customrootclass");
454+
}
455+
451456
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import processing.core.*;
2+
import processing.data.*;
3+
import processing.event.*;
4+
import processing.opengl.*;
5+
6+
import java.util.HashMap;
7+
import java.util.ArrayList;
8+
import java.io.File;
9+
import java.io.BufferedReader;
10+
import java.io.PrintWriter;
11+
import java.io.InputStream;
12+
import java.io.OutputStream;
13+
import java.io.IOException;
14+
15+
public class CustomObj extends PApplet {
16+
17+
public static void main(String[] argv) {
18+
19+
System.out.println("here");
20+
21+
}
22+
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import processing.core.*;
2+
import processing.data.*;
3+
import processing.event.*;
4+
import processing.opengl.*;
5+
6+
import java.util.HashMap;
7+
import java.util.ArrayList;
8+
import java.io.File;
9+
import java.io.BufferedReader;
10+
import java.io.PrintWriter;
11+
import java.io.InputStream;
12+
import java.io.OutputStream;
13+
import java.io.IOException;
14+
15+
public class CustomObj extends PApplet {
16+
17+
public static void main(String[] argv) {
18+
19+
System.out.println("here");
20+
21+
}
22+
23+
}

0 commit comments

Comments
 (0)