Exemple #1
0
        public void ExtractStructBody(StructInfo info, ParseTreeNode child)
        {
            var members = child.ChildNodes.FindAll(p => p.Term.Name == "struct_declaration");

            foreach (var member in members)
            {
                var temp = new StructMember();
                temp.TypeString  = member.ChildNodes [0].Token.ValueString;
                temp.ClosestType = mTypeLookup.FindClosestType(temp.TypeString);
                var declarator = member.ChildNodes [1];
                if (declarator.Term.Name == "struct_declarator")
                {
                    // ASSUME type is first child
                    temp.Name = declarator.ChildNodes [0].Token.ValueString;
                }
                info.Members.Add(temp);
            }
        }
 public void ExtractStructBody(StructInfo info, ParseTreeNode child)
 {
     var members = child.ChildNodes.FindAll (p => p.Term.Name == "struct_declaration");
     foreach (var member in members)
     {
         var temp = new StructMember ();
         temp.TypeString = member.ChildNodes [0].Token.ValueString;
         temp.ClosestType = mTypeLookup.FindClosestType (temp.TypeString);
         var declarator = member.ChildNodes [1];
         if (declarator.Term.Name == "struct_declarator")
         {
             // ASSUME type is first child
             temp.Name = declarator.ChildNodes [0].Token.ValueString;
         }
         info.Members.Add (temp);
     }
 }