[jboss-svn-commits] JBL Code SVN: r20083 - labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 20 09:46:16 EDT 2008


Author: porcelli
Date: 2008-05-20 09:46:16 -0400 (Tue, 20 May 2008)
New Revision: 20083

Added:
   labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolEditorType.java
Modified:
   labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolsTreeAdaptor.java
Log:
Now the TreeAdaptor sets on every DroolsTree created an editor type: to help editor identify elements.

Added: labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolEditorType.java
===================================================================
--- labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolEditorType.java	                        (rev 0)
+++ labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolEditorType.java	2008-05-20 13:46:16 UTC (rev 20083)
@@ -0,0 +1,14 @@
+package org.drools.lang;
+
+public class DroolEditorType {
+	public static int KEYWORD = 0;
+	public static int CODE_CHUNK = 1;
+	public static int SYMBOL = 2;
+	public static int NUMERIC_CONST = 3;
+	public static int BOOLEAN_CONST = 4;
+	public static int STRING_CONST = 5;
+	public static int NULL_CONST = 6;
+	public static int IDENTIFIER = 7;
+	public static int IDENTIFIER_TYPE = 8;
+	public static int IDENTIFIER_PATTERN = 9;
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolEditorType.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolsTreeAdaptor.java
===================================================================
--- labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolsTreeAdaptor.java	2008-05-20 13:44:37 UTC (rev 20082)
+++ labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/java/org/drools/lang/DroolsTreeAdaptor.java	2008-05-20 13:46:16 UTC (rev 20083)
@@ -14,6 +14,103 @@
 						.getClass().equals(DroolsToken.class))) {
 			tree.setStartCharOffset(((CommonToken) token).getStartIndex());
 			tree.setEndCharOffset(((CommonToken) token).getStopIndex());
+
+			if (token.getType() == DRLLexer.END
+					|| token.getType() == DRLLexer.THEN
+					|| token.getType() == DRLLexer.VK_ACCUMULATE
+					|| token.getType() == DRLLexer.VK_ACTION
+					|| token.getType() == DRLLexer.VK_ACTIVATION_GROUP
+					|| token.getType() == DRLLexer.VK_AGENDA_GROUP
+					|| token.getType() == DRLLexer.VK_AND
+					|| token.getType() == DRLLexer.VK_ATTRIBUTES
+					|| token.getType() == DRLLexer.VK_AUTO_FOCUS
+					|| token.getType() == DRLLexer.VK_COLLECT
+					|| token.getType() == DRLLexer.VK_CONTAINS
+					|| token.getType() == DRLLexer.VK_DATE_EFFECTIVE
+					|| token.getType() == DRLLexer.VK_DATE_EXPIRES
+					|| token.getType() == DRLLexer.VK_DECLARE
+					|| token.getType() == DRLLexer.VK_DIALECT
+					|| token.getType() == DRLLexer.VK_DURATION
+					|| token.getType() == DRLLexer.VK_ENABLED
+					|| token.getType() == DRLLexer.VK_ENTRY_POINT
+					|| token.getType() == DRLLexer.VK_EVAL
+					|| token.getType() == DRLLexer.VK_EXCLUDES
+					|| token.getType() == DRLLexer.VK_EXISTS
+					|| token.getType() == DRLLexer.VK_FORALL
+					|| token.getType() == DRLLexer.VK_FROM
+					|| token.getType() == DRLLexer.VK_FUNCTION
+					|| token.getType() == DRLLexer.VK_GLOBAL
+					|| token.getType() == DRLLexer.VK_IMPORT
+					|| token.getType() == DRLLexer.VK_IN
+					|| token.getType() == DRLLexer.VK_INIT
+					|| token.getType() == DRLLexer.VK_LOCK_ON_ACTIVE
+					|| token.getType() == DRLLexer.VK_MATCHES
+					|| token.getType() == DRLLexer.VK_MEMBEROF
+					|| token.getType() == DRLLexer.VK_NO_LOOP
+					|| token.getType() == DRLLexer.VK_NOT
+					|| token.getType() == DRLLexer.VK_OR
+					|| token.getType() == DRLLexer.VK_PACKAGE
+					|| token.getType() == DRLLexer.VK_QUERY
+					|| token.getType() == DRLLexer.VK_RESULT
+					|| token.getType() == DRLLexer.VK_REVERSE
+					|| token.getType() == DRLLexer.VK_RULE
+					|| token.getType() == DRLLexer.VK_RULEFLOW_GROUP
+					|| token.getType() == DRLLexer.VK_SALIENCE
+					|| token.getType() == DRLLexer.VK_SOUNDSLIKE
+					|| token.getType() == DRLLexer.VK_TEMPLATE
+					|| token.getType() == DRLLexer.VK_WHEN) {
+				tree.setEditorElementType(DroolEditorType.KEYWORD);
+			} else if (token.getType() == DRLLexer.FLOAT
+					|| token.getType() == DRLLexer.INT) {
+				tree.setEditorElementType(DroolEditorType.NUMERIC_CONST);
+			} else if (token.getType() == DRLLexer.STRING) {
+				tree.setEditorElementType(DroolEditorType.STRING_CONST);
+			} else if (token.getType() == DRLLexer.BOOL) {
+				tree.setEditorElementType(DroolEditorType.BOOLEAN_CONST);
+			} else if (token.getType() == DRLLexer.NULL) {
+				tree.setEditorElementType(DroolEditorType.NULL_CONST);
+			} else if (token.getType() == DRLLexer.VT_SQUARE_CHUNK
+					|| token.getType() == DRLLexer.VT_PAREN_CHUNK
+					|| token.getType() == DRLLexer.VT_CURLY_CHUNK
+					|| token.getType() == DRLLexer.VT_RHS_CHUNK) {
+				tree.setEditorElementType(DroolEditorType.CODE_CHUNK);
+			} else if (token.getType() == DRLLexer.MISC
+					|| token.getType() == DRLLexer.DOUBLE_PIPE
+					|| token.getType() == DRLLexer.DOUBLE_AMPER
+					|| token.getType() == DRLLexer.DOT
+					|| token.getType() == DRLLexer.COMMA
+					|| token.getType() == DRLLexer.RIGHT_CURLY
+					|| token.getType() == DRLLexer.LEFT_CURLY
+					|| token.getType() == DRLLexer.RIGHT_SQUARE
+					|| token.getType() == DRLLexer.LEFT_SQUARE
+					|| token.getType() == DRLLexer.RIGHT_PAREN
+					|| token.getType() == DRLLexer.LEFT_PAREN
+					|| token.getType() == DRLLexer.ARROW
+					|| token.getType() == DRLLexer.LESS_EQUAL
+					|| token.getType() == DRLLexer.LESS
+					|| token.getType() == DRLLexer.GREATER_EQUAL
+					|| token.getType() == DRLLexer.GREATER
+					|| token.getType() == DRLLexer.NOT_EQUAL
+					|| token.getType() == DRLLexer.EQUAL
+					|| token.getType() == DRLLexer.COLON
+					|| token.getType() == DRLLexer.SEMICOLON) {
+				tree.setEditorElementType(DroolEditorType.SYMBOL);
+			} else if (token.getType() == DRLLexer.ID
+					|| token.getType() == DRLLexer.DOT_STAR
+					|| token.getType() == DRLLexer.VT_GLOBAL_ID
+					|| token.getType() == DRLLexer.VT_FUNCTION_ID
+					|| token.getType() == DRLLexer.VT_QUERY_ID
+					|| token.getType() == DRLLexer.VT_TEMPLATE_ID
+					|| token.getType() == DRLLexer.VT_SLOT_ID
+					|| token.getType() == DRLLexer.VT_RULE_ID
+					|| token.getType() == DRLLexer.VT_ENTRYPOINT_ID) {
+				tree.setEditorElementType(DroolEditorType.IDENTIFIER);
+			} else if (token.getType() == DRLLexer.VT_DATA_TYPE) {
+				tree.setEditorElementType(DroolEditorType.IDENTIFIER_TYPE);
+			} else if (token.getType() == DRLLexer.VT_PATTERN_TYPE) {
+				tree.setEditorElementType(DroolEditorType.IDENTIFIER_PATTERN);
+			}
+
 		}
 		return tree;
 	}
@@ -45,11 +142,16 @@
 	}
 
 	public Object create(int tokenType, Token fromToken, String text) {
-		if (fromToken instanceof DroolsToken){
-			DroolsTree result = (DroolsTree) super.create(tokenType, fromToken, text);		
-			result.setStartCharOffset(((DroolsToken) fromToken).getStartIndex());
-			result.setEndCharOffset(result.getStartCharOffset() + text.length());
-			return result;			
+		if (fromToken instanceof DroolsToken) {
+			DroolsTree result = (DroolsTree) super.create(tokenType, fromToken,
+					text);
+			result
+					.setStartCharOffset(((DroolsToken) fromToken)
+							.getStartIndex());
+			result
+					.setEndCharOffset(result.getStartCharOffset()
+							+ text.length());
+			return result;
 		}
 		return super.create(tokenType, fromToken, text);
 	}




More information about the jboss-svn-commits mailing list