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 EnterInputPhrase(CodeElementsParser.InputPhraseContext context)
 {
     var ce = (FunctionDeclarationHeader)CodeElement;
     ce.Input = new SyntaxProperty<Passing.Mode>(Passing.Mode.Input, ParseTreeUtils.GetTokenFromTerminalNode(context.INPUT()));
     ce.Profile.InputParameters = CreateParameters(context.parameterDescription());
 }