mirror of
https://github.com/processing/processing4.git
synced 2026-01-26 09:51:09 +01:00
Resolves #240 through grammar.
It's not the cleanest solution but I don't see too many alternatives. Modify grammar to explicitly allow the color literal to appear in fully qualified name.
This commit is contained in:
@@ -4,7 +4,8 @@
|
||||
* - changes main entry point to reflect sketch types 'static' | 'active'
|
||||
* - adds support for type converter functions like "int()"
|
||||
* - adds pseudo primitive type "color"
|
||||
* - adds HTML hex notation with hash symbol: #ff5522
|
||||
* - adds HTML hex notation with hash symbol: #ff5522
|
||||
* - allow color to appear as part of qualified names (like in imports)
|
||||
*/
|
||||
|
||||
grammar Processing;
|
||||
@@ -47,8 +48,8 @@ variableDeclaratorId
|
||||
// https://github.com/processing/processing/issues/93
|
||||
// prevent from types being used as variable names
|
||||
warnTypeAsVariableName
|
||||
: primitiveType ('[' ']')* {
|
||||
notifyErrorListeners("Type names are not allowed as variable names: "+$primitiveType.text);
|
||||
: primitiveType ('[' ']')* {
|
||||
notifyErrorListeners("Type names are not allowed as variable names: "+$primitiveType.text);
|
||||
}
|
||||
;
|
||||
|
||||
@@ -89,6 +90,10 @@ colorPrimitiveType
|
||||
: 'color'
|
||||
;
|
||||
|
||||
qualifiedName
|
||||
: (IDENTIFIER | colorPrimitiveType) ('.' (IDENTIFIER | colorPrimitiveType))*
|
||||
;
|
||||
|
||||
// added HexColorLiteral
|
||||
literal
|
||||
: integerLiteral
|
||||
@@ -127,4 +132,3 @@ LINE_COMMENT
|
||||
;
|
||||
|
||||
CHAR_LITERAL: '\'' (~['\\\r\n] | EscapeSequence)* '\''; // A bit nasty but let JDT tackle invalid chars
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ import processing.data.*;
|
||||
import processing.event.*;
|
||||
import processing.opengl.*;
|
||||
|
||||
import test.color;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
import java.io.File;
|
||||
@@ -12,19 +14,18 @@ import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import test.color;
|
||||
|
||||
public class colorimport extends PApplet {
|
||||
|
||||
public void setup() {
|
||||
|
||||
|
||||
boolean test = true;
|
||||
int c1 = color(255, 255, 255);
|
||||
int c2 = test ? 0xFFA011CD : 0xC0C0C0C0;
|
||||
noLoop();
|
||||
|
||||
noLoop();
|
||||
}
|
||||
|
||||
static public void main(String[] passedArgs) {
|
||||
String[] appletArgs = new String[] { "color" };
|
||||
String[] appletArgs = new String[] { "colorimport" };
|
||||
if (passedArgs != null) {
|
||||
PApplet.main(concat(appletArgs, passedArgs));
|
||||
} else {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import test.color;
|
||||
|
||||
boolean test = true;
|
||||
color c1 = color(255, 255, 255);
|
||||
color c2 = test ? #A011CD : #C0C0C0C0;
|
||||
|
||||
Reference in New Issue
Block a user