diff --git a/java/src/processing/mode/java/preproc/PdeParseTreeListener.java b/java/src/processing/mode/java/preproc/PdeParseTreeListener.java index 0044747e4..5f516d4db 100644 --- a/java/src/processing/mode/java/preproc/PdeParseTreeListener.java +++ b/java/src/processing/mode/java/preproc/PdeParseTreeListener.java @@ -542,7 +542,7 @@ public class PdeParseTreeListener extends ProcessingBaseListener { */ public void exitColorPrimitiveType(ProcessingParser.ColorPrimitiveTypeContext ctx) { if (ctx.getText().equals("color")) { - insertBefore(ctx.start, "int"); + insertAfter(ctx.stop, "int"); delete(ctx.start, ctx.stop); } } diff --git a/java/test/processing/mode/java/ParserTests.java b/java/test/processing/mode/java/ParserTests.java index 7be03a6d8..cb94cfcd1 100644 --- a/java/test/processing/mode/java/ParserTests.java +++ b/java/test/processing/mode/java/ParserTests.java @@ -360,4 +360,9 @@ public class ParserTests { expectGood("pdfwrite"); } + @Test + public void testColorReturn() { + expectGood("colorreturn"); + } + } diff --git a/java/test/resources/colorreturn.expected b/java/test/resources/colorreturn.expected new file mode 100644 index 000000000..8c0d80559 --- /dev/null +++ b/java/test/resources/colorreturn.expected @@ -0,0 +1,43 @@ +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 colorreturn extends PApplet { + +public void setup() { + fill(getColor()); + noStroke(); + /* size commented out by preprocessor */; + ellipseMode(CENTER); + ellipse(50, 50, 50, 50); +} + +public int getColor() { + return 0xFF333333; +} + +public void draw() { +} + + + public void settings() { size(100,100); } + + static public void main(String[] passedArgs) { + String[] appletArgs = new String[] { "colorreturn" }; + if (passedArgs != null) { + PApplet.main(concat(appletArgs, passedArgs)); + } else { + PApplet.main(appletArgs); + } + } +} diff --git a/java/test/resources/colorreturn.pde b/java/test/resources/colorreturn.pde new file mode 100644 index 000000000..c12a1d3f8 --- /dev/null +++ b/java/test/resources/colorreturn.pde @@ -0,0 +1,14 @@ +public void setup() { + fill(getColor()); + noStroke(); + size(100, 100); + ellipseMode(CENTER); + ellipse(50, 50, 50, 50); +} + +color getColor() { + return #333333; +} + +public void draw() { +}