You've already forked linux-packaging-mono
Imported Upstream version 4.2.0.179
Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
This commit is contained in:
committed by
Jo Shields
parent
183bba2c9a
commit
6992685b86
37
external/ikvm/reflect/Emit/ParameterBuilder.cs
vendored
37
external/ikvm/reflect/Emit/ParameterBuilder.cs
vendored
@@ -96,27 +96,24 @@ namespace IKVM.Reflection.Emit
|
||||
|
||||
public void SetCustomAttribute(CustomAttributeBuilder customAttributeBuilder)
|
||||
{
|
||||
Universe u = moduleBuilder.universe;
|
||||
if (customAttributeBuilder.Constructor.DeclaringType == u.System_Runtime_InteropServices_InAttribute)
|
||||
switch (customAttributeBuilder.KnownCA)
|
||||
{
|
||||
flags |= (short)ParameterAttributes.In;
|
||||
}
|
||||
else if (customAttributeBuilder.Constructor.DeclaringType == u.System_Runtime_InteropServices_OutAttribute)
|
||||
{
|
||||
flags |= (short)ParameterAttributes.Out;
|
||||
}
|
||||
else if (customAttributeBuilder.Constructor.DeclaringType == u.System_Runtime_InteropServices_OptionalAttribute)
|
||||
{
|
||||
flags |= (short)ParameterAttributes.Optional;
|
||||
}
|
||||
else if (customAttributeBuilder.Constructor.DeclaringType == u.System_Runtime_InteropServices_MarshalAsAttribute)
|
||||
{
|
||||
FieldMarshal.SetMarshalAsAttribute(moduleBuilder, PseudoToken, customAttributeBuilder);
|
||||
flags |= (short)ParameterAttributes.HasFieldMarshal;
|
||||
}
|
||||
else
|
||||
{
|
||||
moduleBuilder.SetCustomAttribute(PseudoToken, customAttributeBuilder);
|
||||
case KnownCA.InAttribute:
|
||||
flags |= (short)ParameterAttributes.In;
|
||||
break;
|
||||
case KnownCA.OutAttribute:
|
||||
flags |= (short)ParameterAttributes.Out;
|
||||
break;
|
||||
case KnownCA.OptionalAttribute:
|
||||
flags |= (short)ParameterAttributes.Optional;
|
||||
break;
|
||||
case KnownCA.MarshalAsAttribute:
|
||||
FieldMarshal.SetMarshalAsAttribute(moduleBuilder, PseudoToken, customAttributeBuilder);
|
||||
flags |= (short)ParameterAttributes.HasFieldMarshal;
|
||||
break;
|
||||
default:
|
||||
moduleBuilder.SetCustomAttribute(PseudoToken, customAttributeBuilder);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user