Пример #1
0
 public static JavaPackage[] Parse(XElement metadataElement)
 {
     return(metadataElement.Elements("package")
            .Select(xPackage => new JavaPackage
     {
         Name = xPackage.Attribute("name").Value,
         Types = xPackage.Elements()
                 .Where(xType => JavaType.IsValid(xType.Name.LocalName))
                 .Select(xType => new JavaType
         {
             Name = xType.Attribute("name").Value,
             Kind = xType.Name.LocalName,
             Visibility = xType.Attribute("visibility").Value,
             Members = xType.Elements()
                       .Where(xMember => JavaMember.IsValid(xMember.Name.LocalName))
                       .Select(xMember => new JavaMember
             {
                 Name = xMember.Attribute("name").Value,
                 Kind = xMember.Name.LocalName,
                 Visibility = xMember.Attribute("visibility").Value,
                 Parameters = xMember.Elements("parameter")
                              .Select(xParameter => new JavaParameter
                 {
                     Name = xParameter.Attribute("name").Value,
                     Type = xParameter.Attribute("type").Value
                 })
                              .ToArray()
             })
                       .ToArray()
         })
                 .ToArray()
     })
            .ToArray());
 }