private void CreateSharingMode(CodeElementsParser.CallInputParameterContext parameter, ref SyntaxProperty <ParameterSharingMode> mode) { if (parameter.REFERENCE() != null) { mode = CobolStatementsBuilder.CreateSyntaxProperty(ParameterSharingMode.ByReference, parameter.REFERENCE()); } else if (parameter.CONTENT() != null) { mode = CobolStatementsBuilder.CreateSyntaxProperty(ParameterSharingMode.ByContent, parameter.CONTENT()); } else if (parameter.VALUE() != null) { mode = CobolStatementsBuilder.CreateSyntaxProperty(ParameterSharingMode.ByValue, parameter.VALUE()); } else { var by = ParameterSharingMode.ByReference; if (mode != null) { by = mode.Value; } mode = new SyntaxProperty <ParameterSharingMode>(by, null); } }
/// <summary>Initialization code run before parsing each new COBOL CodeElement</summary> public override void EnterCodeElement(CodeElementsParser.CodeElementContext context) { CodeElement = null; Context = null; CobolWordsBuilder = new CobolWordsBuilder(new Dictionary<Token, SymbolInformation>()); CobolExpressionsBuilder = new CobolExpressionsBuilder(CobolWordsBuilder); CobolStatementsBuilder = new CobolStatementsBuilder(CobolWordsBuilder, CobolExpressionsBuilder); }