private SyntaxProperty<OpenMode> CreateOpenMode(CodeElementsParser.UseStatementForExceptionDeclarativeContext context) { if (context.INPUT() != null) return new SyntaxProperty<OpenMode>(OpenMode.INPUT, ParseTreeUtils.GetFirstToken(context.INPUT())); if (context.OUTPUT() != null) return new SyntaxProperty<OpenMode>(OpenMode.OUTPUT, ParseTreeUtils.GetFirstToken(context.OUTPUT())); if (context.I_O() != null) return new SyntaxProperty<OpenMode>(OpenMode.IO, ParseTreeUtils.GetFirstToken(context.I_O())); if (context.EXTEND() != null) return new SyntaxProperty<OpenMode>(OpenMode.EXTEND, ParseTreeUtils.GetFirstToken(context.EXTEND())); return null; }
public override void EnterOutputPhrase(CodeElementsParser.OutputPhraseContext context) { var ce = (FunctionDeclarationHeader)CodeElement; ce.Output = new SyntaxProperty<Passing.Mode>(Passing.Mode.Output, ParseTreeUtils.GetTokenFromTerminalNode(context.OUTPUT())); ce.Profile.OutputParameters = CreateParameters(context.parameterDescription()); }