mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-07-06 01:50:40 +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
|
// Every single enum is merged into
|
||||||
|
|
||||||
EnumCollection enums = new EnumCollection();
|
EnumCollection enums = new EnumCollection();
|
||||||
Enum all = new Enum() { Name = Settings.CompleteEnumName };
|
|
||||||
XPathDocument specs = new XPathDocument(specFile);
|
XPathDocument specs = new XPathDocument(specFile);
|
||||||
XPathDocument overrides = new XPathDocument(new StreamReader(
|
XPathDocument overrides = new XPathDocument(new StreamReader(
|
||||||
Path.Combine(Settings.InputPath, Settings.OverridesFile)));
|
Path.Combine(Settings.InputPath, Settings.OverridesFile)));
|
||||||
|
|
||||||
foreach (XPathNavigator nav in new XPathNavigator[] {
|
foreach (XPathNavigator nav in specs.CreateNavigator().Select("/signatures/add"))
|
||||||
specs.CreateNavigator().SelectSingleNode("/signatures/add"),
|
|
||||||
overrides.CreateNavigator().SelectSingleNode("/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)
|
if (nav != null)
|
||||||
{
|
{
|
||||||
foreach (XPathNavigator node in nav.SelectChildren("enum", String.Empty))
|
foreach (XPathNavigator node in nav.SelectChildren("enum", String.Empty))
|
||||||
|
@ -278,7 +287,6 @@ namespace Bind
|
||||||
Utilities.Merge(enums, e);
|
Utilities.Merge(enums, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Utilities.Merge(enums, all);
|
Utilities.Merge(enums, all);
|
||||||
return enums;
|
return enums;
|
||||||
|
|
Loading…
Reference in a new issue