internal SymbolReferenceVariable CreateProgramNameOrProgramEntryVariable(CodeElementsParser.ProgramNameOrProgramEntryVariableContext context) { if (context.programNameReferenceOrProgramEntryReference() != null) { SymbolReference symbolReference = CobolWordsBuilder.CreateProgramNameReferenceOrProgramEntryReference(context.programNameReferenceOrProgramEntryReference()); return new SymbolReferenceVariable(StorageDataType.ProgramNameOrProgramEntry, symbolReference); } else { StorageArea storageArea = CreateIdentifier(context.identifier()); return new SymbolReferenceVariable(StorageDataType.ProgramNameOrProgramEntry, storageArea); } }
internal SymbolReferenceVariable CreateProgramNameOrProgramEntryVariable(CodeElementsParser.ProgramNameOrProgramEntryVariableContext context) { SymbolReferenceVariable variable = null; if (context.programNameReferenceOrProgramEntryReference() != null) { SymbolReference symbolReference = CobolWordsBuilder.CreateProgramNameReferenceOrProgramEntryReference(context.programNameReferenceOrProgramEntryReference()); variable = new SymbolReferenceVariable(StorageDataType.ProgramNameOrProgramEntry, symbolReference); } else { StorageArea storageArea = CreateIdentifier(context.identifier()); variable = new SymbolReferenceVariable(StorageDataType.ProgramNameOrProgramEntry, storageArea); } // Collect storage area read/writes at the code element level if (variable.StorageArea != null) { this.storageAreaReads.Add(variable.StorageArea); } return variable; }