예제 #1
0
 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;
 }
예제 #2
0
 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;
 }
예제 #3
0
 private SymbolReference CreateQualifiedParagraphNameReference(CodeElementsParser.ParagraphNameReferenceContext head,CodeElementsParser.SectionNameReferenceContext tail)
 {
     var reference = new QualifiedSymbolReference(CreateParagraphNameReference(head), CreateSectionNameReference(tail));
     symbolInformationForTokens[reference.NameLiteral.Token] = reference;
     return reference;
 }
예제 #4
0
 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;
 }
예제 #5
0
 public virtual bool Visit(QualifiedSymbolReference qualifiedSymbolReference)
 {
     return(true);
 }