mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-07-06 10:40:39 +00:00
Added ReadEnums overload that works with a XPathNavigator directly. Necessary for new overrides.xml handling.
This commit is contained in:
parent
3021f668ad
commit
5c3d94aeef
|
@ -200,15 +200,24 @@ namespace Bind
|
|||
// Every single enum is merged into
|
||||
|
||||
EnumCollection enums = new EnumCollection();
|
||||
Enum all = new Enum() { Name = Settings.CompleteEnumName };
|
||||
XPathDocument specs = new XPathDocument(specFile);
|
||||
XPathDocument overrides = new XPathDocument(new StreamReader(
|
||||
Path.Combine(Settings.InputPath, Settings.OverridesFile)));
|
||||
|
||||
foreach (XPathNavigator nav in new XPathNavigator[] {
|
||||
specs.CreateNavigator().SelectSingleNode("/signatures/add"),
|
||||
overrides.CreateNavigator().SelectSingleNode("/signatures/add") })
|
||||
foreach (XPathNavigator nav in specs.CreateNavigator().Select("/signatures/add"))
|
||||
{
|
||||
var new_enums = ReadEnums(nav);
|
||||
Utilities.Merge(enums, new_enums);
|
||||
}
|
||||
|
||||
return enums;
|
||||
}
|
||||
|
||||
public EnumCollection ReadEnums(XPathNavigator nav)
|
||||
{
|
||||
EnumCollection enums = new EnumCollection();
|
||||
Enum all = new Enum() { Name = Settings.CompleteEnumName };
|
||||
|
||||
if (nav != null)
|
||||
{
|
||||
foreach (XPathNavigator node in nav.SelectChildren("enum", String.Empty))
|
||||
|
@ -278,7 +287,6 @@ namespace Bind
|
|||
Utilities.Merge(enums, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Utilities.Merge(enums, all);
|
||||
return enums;
|
||||
|
|
Loading…
Reference in a new issue