private SymbolReference CreateQualifiedDataNameOrQualifiedConditionName1(CodeElementsParser.DataNameReferenceOrConditionNameReferenceOrConditionForUPSISwitchNameReferenceContext head,CodeElementsParser.DataNameReferenceOrFileNameReferenceOrMnemonicForUPSISwitchNameReferenceContext[] tail) { var reference = new QualifiedSymbolReference(CreateDataNameReferenceOrConditionNameReferenceOrConditionForUPSISwitchNameReference(head), CreateDataNameReferenceOrFileNameReferenceOrMnemonicForUPSISwitchNameReference(tail[0])); for(int c=1; c<tail.Length; c++) reference = new QualifiedSymbolReference(reference, CreateDataNameReferenceOrFileNameReferenceOrMnemonicForUPSISwitchNameReference(tail[c])); symbolInformationForTokens[reference.NameLiteral.Token] = reference; return reference; }
private SymbolReference CreateQualifiedDataName(CodeElementsParser.DataNameReferenceContext head, CodeElementsParser.DataNameReferenceOrFileNameReferenceContext[] tail) { SymbolReference qname = CreateDataNameReference(head); if (tail != null && tail.Length > 0) { SymbolReference current = CreateDataNameReferenceOrFileNameReference(tail[tail.Length-1]); SymbolReference last = null; for(int i=tail.Length-2; i>=0; i--) { last = current; current = CreateDataNameReferenceOrFileNameReference(tail[i]); current = new QualifiedSymbolReference(current, last); } qname = new QualifiedSymbolReference(qname, current); } symbolInformationForTokens[qname.NameLiteral.Token] = qname; return qname; }
private SymbolReference CreateQualifiedParagraphNameReference(CodeElementsParser.ParagraphNameReferenceContext head,CodeElementsParser.SectionNameReferenceContext tail) { var reference = new QualifiedSymbolReference(CreateParagraphNameReference(head), CreateSectionNameReference(tail)); symbolInformationForTokens[reference.NameLiteral.Token] = reference; return reference; }
private SymbolReference CreateQualifiedConditionName(CodeElementsParser.ConditionNameReferenceOrConditionForUPSISwitchNameReferenceContext head, CodeElementsParser.DataNameReferenceOrFileNameReferenceOrMnemonicForUPSISwitchNameReferenceContext[] tail) { SymbolReference qname = CreateConditionNameReferenceOrConditionForUPSISwitchNameReference(head); if (tail != null) { foreach(var context in tail) { var part = CreateDataNameReferenceOrFileNameReferenceOrMnemonicForUPSISwitchNameReference(context); qname = new QualifiedSymbolReference(qname, part); } } symbolInformationForTokens[qname.NameLiteral.Token] = qname; return qname; }
public virtual bool Visit(QualifiedSymbolReference qualifiedSymbolReference) { return(true); }