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); }
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); }
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); }
public override void visit(char_const _char_const) { text = "Value: " + _char_const.cconst; }
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); }
public virtual void visit(char_const _char_const) { }
public override void visit(char_const _char_const) { AddPossibleComments(_char_const, true, true); }
public override void visit(char_const _char_const) { }
public override void visit(char_const _char_const) { executer.visit(_char_const); if (_char_const.attributes != null) this.visit((dynamic)_char_const.attributes); }