/// <summary>
        /// variable_declaration :
        ///     identifier CONSTANT? type_spec(NOT NULL)? default_value_part? ';'
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override object VisitVariable_declaration([NotNull] PlSqlParser.Variable_declarationContext context)
        {
            OCodeVariableDeclarationStatement result = new OCodeVariableDeclarationStatement()
            {
                Name       = context.identifier().GetCleanedTexts().First(),
                IsConstant = context.CONSTANT() != null,
                CanBeNull  = !(context.NOT() != null && context.NULL() != null),
                Type       = (OTypeReference)VisitType_spec(context.type_spec())
            };

            var default_value_part = context.default_value_part();

            if (default_value_part != null)
            {
                var defaultValue = (OCodeExpression)this.VisitDefault_value_part(default_value_part);
                result.DefaultValue = defaultValue;
            }

            return(result);
        }
Example #2
0
 public void VisitCodeVariableDeclarationStatement(OCodeVariableDeclarationStatement oCodeVariableDeclarationStatement)
 {
     throw new NotImplementedException();
 }
Example #3
0
 public void VisitCodeVariableDeclarationStatement(OCodeVariableDeclarationStatement oCodeVariableDeclarationStatement)
 {
 }