internal virtual void CheckImport(IToken importID)
{
Grammar @delegate = g.GetImportedGrammar(importID.Text);
if (@delegate == null)
return;
IList<int> validDelegators;
if (validImportTypes.TryGetValue(@delegate.Type, out validDelegators) && validDelegators != null && !validDelegators.Contains(g.Type))
{
g.tool.errMgr.GrammarError(ErrorType.INVALID_IMPORT,
g.fileName,
importID,
g, @delegate);
}
if (g.IsCombined() &&
(@delegate.name.Equals(g.name + Grammar.GetGrammarTypeToFileNameSuffix(ANTLRParser.LEXER)) ||
@delegate.name.Equals(g.name + Grammar.GetGrammarTypeToFileNameSuffix(ANTLRParser.PARSER))))
{
g.tool.errMgr.GrammarError(ErrorType.IMPORT_NAME_CLASH,
g.fileName,
importID,
g, @delegate);
}
}
}