diff options
author | Tom Schindl | 2015-11-26 13:37:12 +0000 |
---|---|---|
committer | Tom Schindl | 2015-11-26 13:37:12 +0000 |
commit | d19a04d4f0181e8803410dd259f9e78c3d1ff85f (patch) | |
tree | a8aca7d5952a0c60e2d42b224832e252407e1eae | |
parent | e0781705baa5e520ec514e17d9f55058c2c87b76 (diff) | |
download | org.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.xtend | 13 |
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)); } |