Skip to content

Commit

Permalink
Fix code sniff for java mode.
Browse files Browse the repository at this point in the history
  • Loading branch information
A Samuel Pottinger committed Nov 12, 2022
1 parent 25da0c9 commit 1ca265a
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 3 deletions.
17 changes: 14 additions & 3 deletions java/src/processing/mode/java/preproc/PdeParseTreeListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ public class PdeParseTreeListener extends ProcessingBaseListener {
private boolean sizeIsFullscreen = false;
private boolean noSmoothRequiresRewrite = false;
private boolean smoothRequiresRewrite = false;
private boolean userImportingManually = false;
private RewriteResult headerResult;
private RewriteResult footerResult;

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

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

if (importStringNoSemi.startsWith("processing.core.")) {
userImportingManually = true;
}

delete(ctx.start, ctx.stop);
}

Expand Down Expand Up @@ -498,7 +503,7 @@ public void exitMultilineStringLiteral(ProcessingParser.MultilineStringLiteralCo
* @param ctx ANTLR context for the sketch.
*/
public void exitStaticProcessingSketch(ProcessingParser.StaticProcessingSketchContext ctx) {
mode = Mode.STATIC;
mode = foundMain ? Mode.JAVA : Mode.STATIC;
}

/**
Expand Down Expand Up @@ -1072,10 +1077,16 @@ protected void writePreprocessorComment(PrintWriterWithEditGen headerWriter,
protected void writeImports(PrintWriterWithEditGen headerWriter,
RewriteResultBuilder resultBuilder) {

writeImportList(headerWriter, coreImports, resultBuilder);
if (!userImportingManually) {
writeImportList(headerWriter, coreImports, resultBuilder);
}

writeImportList(headerWriter, codeFolderImports, resultBuilder);
writeImportList(headerWriter, foundImports, resultBuilder);
writeImportList(headerWriter, defaultImports, resultBuilder);

if (!userImportingManually) {
writeImportList(headerWriter, defaultImports, resultBuilder);
}
}

/**
Expand Down
5 changes: 5 additions & 0 deletions java/test/processing/mode/java/ParserTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -448,4 +448,9 @@ public void testStaticClass() {
expectGood("staticclass");
}

@Test
public void testCustomRootClass() {
expectGood("customrootclass");
}

}
23 changes: 23 additions & 0 deletions java/test/resources/customrootclass.expected
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import processing.core.*;
import processing.data.*;
import processing.event.*;
import processing.opengl.*;

import java.util.HashMap;
import java.util.ArrayList;
import java.io.File;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;

public class CustomObj extends PApplet {

public static void main(String[] argv) {

System.out.println("here");

}

}
23 changes: 23 additions & 0 deletions java/test/resources/customrootclass.pde
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import processing.core.*;
import processing.data.*;
import processing.event.*;
import processing.opengl.*;

import java.util.HashMap;
import java.util.ArrayList;
import java.io.File;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;

public class CustomObj extends PApplet {

public static void main(String[] argv) {

System.out.println("here");

}

}

0 comments on commit 1ca265a

Please sign in to comment.