Example #1
0
        public static procedure_definition BuildToStringFuncForAutoClass(List <ident> names)
        {
            var pal = new procedure_attributes_list(proc_attribute.attr_override);
            var fp  = new formal_parameters();
            var ff  = new function_header("ToString", "string", fp, pal);

            var      cleft  = new char_const('(');
            var      cright = new char_const(')');
            var      ccomma = new char_const(',');
            bin_expr ex     = new bin_expr(cleft, cright, Operators.Plus);

            for (var i = 0; i < names.Count; i++)
            {
                var dn     = new dot_node(names[i], new ident("ToString"));
                var asnode = new typecast_node(names[i], new named_type_reference("object"), op_typecast.as_op);
                var eqnode = new bin_expr(asnode, new nil_const(), Operators.Equal);
                var expr   = new question_colon_expression(eqnode, new string_const("nil"), dn);
                ex.left = new bin_expr(ex.left, expr, Operators.Plus);
                if (i < names.Count - 1)
                {
                    ex.left = new bin_expr(ex.left, ccomma, Operators.Plus);
                }
            }
            var ass = new assign("Result", ex);

            return(BuildShortProcFuncDefinitionNoSC(ff, ass));
        }
        public literal create_string_const(string text, SourceContext sc)
        {
            literal lt;

            if (text.Length == 3 && text[0] == '\'' && text[2] == '\'')
            {
                lt = new char_const(text[1]);
                lt.source_context = sc;
                return(lt);
            }
            text = ReplaceSpecialSymbols(text.Substring(1, text.Length - 2));
            lt   = new string_const(text);
            lt.source_context = sc;
            return(lt);
        }
        public char_const create_char_const(string text, SourceContext sc)
        {
            string char_text = new string(text.ToCharArray(1, text.Length - 2));

            char_text = ReplaceSpecialSymbols(char_text);
            char_const ct = new char_const();

            ct.source_context = sc;
            if (char_text.Length == 1)
            {
                ct.cconst = char_text[0];
                return(ct);
            }
            return(null);
        }
Example #4
0
        public virtual literal create_string_const(string text, LexLocation loc)
        {
            literal lt;

            if (text.Length == 3 && text[0] == '\'' && text[2] == '\'')
            {
                lt = new char_const(text[1]);
                lt.source_context = GetTokenSourceContext(loc);
                return(lt);
            }
            string text1 = ReplaceSpecialSymbols(text.Substring(1, text.Length - 2));

            lt = new string_const(text1);
            lt.source_context = GetTokenSourceContext(loc);
            return(lt);
        }
Example #5
0
        public virtual char_const create_char_const(string text, LexLocation loc)
        {
            string        char_text = new string(text.ToCharArray(1, text.Length - 2));
            SourceContext sc        = GetTokenSourceContext(loc);

            char_text = ReplaceSpecialSymbols(char_text);
            char_const ct = new char_const();

            ct.source_context = sc;
            if (char_text.Length == 1)
            {
                ct.cconst = char_text[0];
                return(ct);
            }
            return(null);
        }
Example #6
0
 public override void visit(char_const _char_const)
 {
     text = "Value: " + _char_const.cconst;
 }
Example #7
0
 public virtual void visit(char_const _char_const)
 {
     DefaultVisit(_char_const);
 }
		public virtual void post_do_visit(char_const _char_const)
		{
		}
		public override void visit(char_const _char_const)
		{
			DefaultVisit(_char_const);
			pre_do_visit(_char_const);
			post_do_visit(_char_const);
		}
Example #10
0
 public virtual void visit(char_const _char_const)
 {
 }
Example #11
0
 public override void visit(char_const _char_const)
 {
     AddPossibleComments(_char_const, true, true);
 }
Example #12
0
		public virtual void visit(char_const _char_const)
		{
		}
		public virtual void visit(char_const _char_const)
		{
			DefaultVisit(_char_const);
		}
Example #14
0
 public override void visit(char_const _char_const)
 {
 }
Example #15
0
		public override void visit(char_const _char_const)
		{
			executer.visit(_char_const);
			if (_char_const.attributes != null)
				this.visit((dynamic)_char_const.attributes);
		}