mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
gfse: bug fix: avoid hickup when inhertiting from a missing concrete syntax
This commit is contained in:
@@ -1130,12 +1130,13 @@ function inherited_grammars(g) {
|
||||
// Load the available grammars once
|
||||
var grammar_byname=cached_grammar_byname();
|
||||
var visited={};
|
||||
function exists(g) { return g; }
|
||||
// Then traverse the dependencies to collect all inherited grammars
|
||||
function ihgs(g) {
|
||||
if(visited[g.basename]) return []; // avoid cycles and diamonds
|
||||
else {
|
||||
visited[g.basename]=true;
|
||||
var igs=(g.extends || []).map(grammar_byname)
|
||||
var igs=(g.extends || []).map(grammar_byname).filter(exists);
|
||||
var igss=igs.map(ihgs)
|
||||
for(var i in igss) igs=igs.concat(igss[i]);
|
||||
return igs;
|
||||
|
||||
Reference in New Issue
Block a user