Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2015-11-26 13:37:12 +0000
committerTom Schindl2015-11-26 13:37:12 +0000
commitd19a04d4f0181e8803410dd259f9e78c3d1ff85f (patch)
treea8aca7d5952a0c60e2d42b224832e252407e1eae
parente0781705baa5e520ec514e17d9f55058c2c87b76 (diff)
downloadorg.eclipse.efxclipse-d19a04d4f0181e8803410dd259f9e78c3d1ff85f.tar.gz
org.eclipse.efxclipse-d19a04d4f0181e8803410dd259f9e78c3d1ff85f.tar.xz
org.eclipse.efxclipse-d19a04d4f0181e8803410dd259f9e78c3d1ff85f.zip
fixed NPE when no token list is defined
-rw-r--r--bundles/code/org.eclipse.fx.code.editor.ldef/src/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.xtend13
1 files changed, 11 insertions, 2 deletions
diff --git a/bundles/code/org.eclipse.fx.code.editor.ldef/src/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.xtend b/bundles/code/org.eclipse.fx.code.editor.ldef/src/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.xtend
index 0c3d6247e..7e547fd1a 100644
--- a/bundles/code/org.eclipse.fx.code.editor.ldef/src/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.xtend
+++ b/bundles/code/org.eclipse.fx.code.editor.ldef/src/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.xtend
@@ -28,6 +28,7 @@ import org.eclipse.fx.code.editor.ldef.lDef.Scanner_PatternRule
import org.eclipse.fx.code.editor.ldef.lDef.Check
import org.eclipse.fx.code.editor.ldef.lDef.Equals
import org.eclipse.fx.code.editor.ldef.lDef.Range
+import java.util.Collections
@SuppressWarnings("restriction")
class JSONConfigurationConfigurator {
@@ -73,12 +74,14 @@ class JSONConfigurationConfigurator {
.endSeq(prl.endSeq)
.escapedBy(prl.escapeSeq)
.build
+ } else {
+ throw new IllegalStateException("Unknown rule '"+prl+"'")
}
].toList
}
def tokenList(EditorGModel m, LanguageDef model, org.eclipse.fx.code.editor.ldef.lDef.Partition pr) {
- return model.lexicalHighlighting.list.filter(typeof(LexicalPartitionHighlighting_Rule)).filter[ lp | lp.partition == pr].map[ lp |
+ val rv = model.lexicalHighlighting.list.filter(typeof(LexicalPartitionHighlighting_Rule)).filter[ lp | lp.partition == pr].map[ lp |
lp.tokenList.map[ t |
m.TokenBuilder
.name(t.name)
@@ -87,6 +90,12 @@ class JSONConfigurationConfigurator {
.build
]
].head
+
+ if( rv == null ) {
+ return Collections.emptyList
+ } else {
+ return rv;
+ }
}
def tokenScannerList(EditorGModel m, org.eclipse.fx.code.editor.ldef.lDef.Token t) {
@@ -154,7 +163,7 @@ class JSONConfigurationConfigurator {
LDefStandaloneSetup.doSetup();
val rs = new ResourceSetImpl;
- val r = rs.getResource(URI.createURI("file:/Users/tomschindl/git/efxclipse/bundles/code/org.eclipse.fx.code.editor.ldef.langs/src/org/eclipse/fx/code/editor/ldef/langs/dart/dart.ldef"),true);
+ val r = rs.getResource(URI.createURI("file:/Users/tomschindl/git/efxclipse/bundles/code/org.eclipse.fx.code.editor.langs/src/org/eclipse/fx/code/editor/ldef/langs/asciidoc/asciidoc.ldef"),true);
System.err.println(new JSONConfigurationConfigurator().toJSONString((r.contents.head as Root).languageDefinition));
}

Back to the top