mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-24 01:25:31 +00:00
* Type.cs: Updated list of non CLS-compliant types.
* Parameter.cs: Changed [In] and [Out] attributes to [InAttribute] and [OutAttribute] to work around strange gmcs 2.0 bug.
This commit is contained in:
parent
04e8dc3472
commit
a495ca8c7c
|
@ -224,9 +224,9 @@ namespace Bind.Structures
|
|||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
if (Flow == FlowDirection.Out)
|
||||
sb.Append("[Out] ");
|
||||
sb.Append("[OutAttribute] ");
|
||||
else if (Flow == FlowDirection.Undefined)
|
||||
sb.Append("[In, Out] ");
|
||||
sb.Append("[InAttribute, OutAttribute] ");
|
||||
|
||||
if (Reference)
|
||||
{
|
||||
|
|
|
@ -180,7 +180,26 @@ namespace Bind.Structures
|
|||
{
|
||||
get
|
||||
{
|
||||
bool compliant = !(CurrentType.Contains("UInt") || CurrentType.Contains("SByte"));
|
||||
bool compliant = true;
|
||||
|
||||
switch (CurrentType.ToLower())
|
||||
{
|
||||
case "sbyte":
|
||||
case "ushort":
|
||||
case "uint":
|
||||
case "ulong":
|
||||
case "uintptr":
|
||||
compliant = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
compliant = Pointer == 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return compliant;
|
||||
|
||||
/*
|
||||
if (Pointer != 0)
|
||||
{
|
||||
compliant &= CurrentType.Contains("IntPtr"); // IntPtr's are CLSCompliant.
|
||||
|
@ -188,6 +207,7 @@ namespace Bind.Structures
|
|||
compliant |= (Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) != Settings.Legacy.None;
|
||||
}
|
||||
return compliant;
|
||||
*/
|
||||
//return compliant && (!Pointer || CurrentType.Contains("IntPtr"));
|
||||
//return compliant && !(Pointer && ((Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) == Settings.Legacy.None));
|
||||
|
||||
|
|
Loading…
Reference in a new issue