Beispiel #1
0
 public void AddAttributes(attribute_sectionList list)
 {
     foreach (attribute_section x in list)
     {
         AddAttributes(x);
     }
 }
Beispiel #2
0
 protected void EmitattributeSectionList(attribute_sectionList attrs, int indent)
 {
     foreach (attribute_section s in attrs)
     {
         attribute_section(s, indent);
     }
 }
Beispiel #3
0
    public void AddAttributes(attribute_section attr)
    {
        if (attributes == null)
        {
            attributes = attribute_sectionList.New();
        }
        foreach (attribute_section s in attributes)
        {
            if (s.target == attr.target)
            {
                s.attributes.AddRange(attr.attributes);
                return;
            }
        }
        attribute_section x = new attribute_section(attr.target, attributeList.New());

        x.attributes.AddRange(attr.attributes);
        attributes.Add(x);
    }
Beispiel #4
0
 protected void EmitattributeSectionList(attribute_sectionList attrs, int indent)
 {
     foreach (attribute_section s in attrs)
     {
         Write("[", indent);
         if (s.target != null)
         {
             Write("{0}: ", s.target.str);
         }
         foreach (attribute a in s.attributes)
         {
             visit(a.name);
             if (a.arguments != null)
             {
                 Write("(");
                 EmitexpressionList(a.arguments.args);
                 if (a.arguments.namedargs.Count > 0)
                 {
                     if (a.arguments.args.Count > 0)
                     {
                         Write(", ");
                     }
                     for (int i = 0; i < a.arguments.namedargs.Count; i++)
                     {
                         if (i > 0)
                         {
                             Write(", ");
                         }
                         Write("{0}=", a.arguments.namedargs[i].id.str);
                         visit(a.arguments.namedargs[i].expr);
                     }
                 }
                 Write(")");
             }
         }
         WriteLine("]");
     }
 }