Inheritance: CTerm
Exemple #1
0
 public Def CreatePureDef(CBrace type, string name)
 {
     return new PureDef(
         type,
         InnerName(name)
     );
 }
Exemple #2
0
 public Def CreateTypedef(CBrace type, string name)
 {
     return new Typedef(
         type,
         InnerName(name),
         TypedefArgs(type, name)
     );
 }
Exemple #3
0
 public Def CreateMixedTypedef(CBrace type, string name)
 {
     return new MixedTypedef(
         type,
         MixedInnerName(type, name),
         TypedefArgs(type, name)
     );
 }
Exemple #4
0
 private string TypedefArgs(CBrace type, string name)
 {
     if (type is CEnum || !IsFullCapital(name))
     {
         return name;
     }
     else
     {
         return name + ", *P" + name;
     }
 }
Exemple #5
0
 private string MixedInnerName(CBrace type, string name)
 {
     if (type is CEnum)
     {
         return "";
     }
     else
     {
         return InnerName(name);
     }
 }
Exemple #6
0
 public int AddUnnamed(CBrace type)
 {
     int curNum = ++_unnamedNum;
     AddGroup(_unnamed, type, "id", curNum);
     return curNum;
 }
Exemple #7
0
 public void AddNamed(CBrace type, string name)
 {
     AddGroup(_named, type, "name", name);
 }
Exemple #8
0
        private void AddGroup(XmlElement elem, CBrace type, string key, object val)
        {
            XmlElement group = MakeElem(type.Keyword);
            AddChild(elem, group);
            AddAttr(group, key, val);

            if (type is CEnum)
            {
                foreach (CEnum.Entry entry in ((CEnum)type).Entries)
                {
                    AddChild(group, MakeConstEntry(entry.Name, entry.Val));
                }
            }
            else
            {
                CTree tree = (CTree)type;
                foreach (CTree.Entry member in tree.Members)
                {
                    AddChild(group, MakeFieldEntry(member.Type, member.Name, member.Offset));
                }
            }
        }
Exemple #9
0
 public MixedTypedef(CBrace type, string innerName, string args)
     : base(type, innerName, args)
 {
 }
Exemple #10
0
 public PureDef(CBrace type, string innerName)
     : base(type)
 {
     _innerName = innerName;
 }
Exemple #11
0
 public Typedef(CBrace type, string innerName, string args)
     : base(type)
 {
     _innerName = innerName;
     _args = args;
 }
Exemple #12
0
 public Def(CBrace type)
 {
     _type = type;
 }