Browse Source

Fix creation of attribute argument for [MarshalAs]. Closes #78.

pull/100/head
Daniel Grunwald 15 years ago
parent
commit
93d1a30ebd
  1. 8
      ICSharpCode.Decompiler/Ast/AstBuilder.cs

8
ICSharpCode.Decompiler/Ast/AstBuilder.cs

@ -992,12 +992,8 @@ namespace ICSharpCode.Decompiler.Ast @@ -992,12 +992,8 @@ namespace ICSharpCode.Decompiler.Ast
{
MarshalInfo marshalInfo = marshalInfoProvider.MarshalInfo;
Ast.Attribute attr = CreateNonCustomAttribute(typeof(MarshalAsAttribute), module);
string memberName;
if (marshalInfo.NativeType == NativeType.Boolean)
memberName = "Bool";
else
memberName = marshalInfo.NativeType.ToString();
attr.Arguments.Add(new IdentifierExpression("UnmanagedType").Member(memberName));
var unmanagedType = new TypeReference("System.Runtime.InteropServices", "UnmanagedType", module, module.TypeSystem.Corlib);
attr.Arguments.Add(MakePrimitive((int)marshalInfo.NativeType, unmanagedType));
return attr;
}
#endregion

Loading…
Cancel
Save