internal SymbolReferenceVariable CreateClassNameOrObjectReferenceVariable(CodeElementsParser.ClassNameOrObjectReferenceVariableContext context)
        {
            StorageArea storageArea = CreateIdentifierOrClassName(context.identifierOrClassName());
            var variable = new SymbolReferenceVariable(StorageDataType.ClassNameOrObjectReference, storageArea);

            // Collect storage area read/writes at the code element level
            this.storageAreaReads.Add(storageArea);

            return variable;
        }
        internal SymbolReferenceVariable CreateProgramNameVariable(CodeElementsParser.ProgramNameVariableContext context)
        {
            SymbolReferenceVariable variable = null;
            if (context.programNameReference1() != null) {
                SymbolReference symbolReference = CobolWordsBuilder.CreateProgramNameReference(context.programNameReference1());
                variable = new SymbolReferenceVariable(StorageDataType.ProgramName, symbolReference);
            }
            if (context.identifier() != null) {
                StorageArea storageArea = CreateIdentifier(context.identifier());
                variable = new SymbolReferenceVariable(StorageDataType.ProgramName, storageArea);
            }

            // Collect storage area read/writes at the code element level
            if (variable!= null && variable.StorageArea != null)
            {
                this.storageAreaReads.Add(variable.StorageArea);
            }

            return variable;
        }
示例#3
0
 public virtual bool Visit(SymbolReferenceVariable symbolReferenceVariable)
 {
     return(true);
 }