예제 #1
0
        public override object VisitParameter(ParameterContext context)
        {
            var p  = (new Parameter());
            var id = (Result)(Visit(context.id()));

            p.id         = id.text;
            p.permission = id.permission;
            if (context.annotationSupport() != null)
            {
                p.annotation = (string)(Visit(context.annotationSupport()));
            }
            if (context.expression() != null)
            {
                p.value = (new System.Text.StringBuilder().Append("= ").Append(((Result)(Visit(context.expression()))).text)).to_str();
            }
            p.type = (string)(Visit(context.typeType()));
            if (context.Comma_Comma_Comma() != null)
            {
                p.type = (new System.Text.StringBuilder().Append("params ").Append(p.type).Append("[]")).to_str();
            }
            if (context.Bang() != null)
            {
                p.type = (new System.Text.StringBuilder().Append("ref ").Append(p.type)).to_str();
            }
            return(p);
        }
예제 #2
0
        public override object VisitParameter([NotNull] ParameterContext context)
        {
            var p  = new Parameter();
            var id = (Result)Visit(context.id());

            p.id         = id.text;
            p.permission = id.permission;
            if (context.annotationSupport() != null)
            {
                p.annotation = (string)Visit(context.annotationSupport());
            }
            if (context.expression() != null)
            {
                p.value = "=" + (Visit(context.expression()) as Result).text;
            }
            p.type = (string)Visit(context.type());
            return(p);
        }