Browse Source

Rearrange pretty tests, so that they work with Roslyn compilers as well.

pull/1213/head
Siegfried Pammer 7 years ago
parent
commit
bb38ae2fd8
  1. 1
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.cs
  2. 30
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.il
  3. 30
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.opt.il
  4. 34
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.opt.roslyn.il
  5. 34
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.roslyn.il
  6. 453
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.cs
  7. 1193
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.il
  8. 1071
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.opt.il
  9. 1081
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.opt.roslyn.il
  10. 1207
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.roslyn.il
  11. 10
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.cs
  12. 349
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.il
  13. 333
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.opt.il
  14. 337
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.opt.roslyn.il
  15. 353
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.roslyn.il

1
ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.cs

@ -19,3 +19,4 @@ @@ -19,3 +19,4 @@
using System;
[assembly: CLSCompliant(false)]
//[module: CLSCompliant(false)]

30
ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.il

@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly AssemblyCustomAttributes
{
.custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module AssemblyCustomAttributes.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// *********** DISASSEMBLY COMPLETE ***********************

30
ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.opt.il

@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly AssemblyCustomAttributes.opt
{
.custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module AssemblyCustomAttributes.opt.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// *********** DISASSEMBLY COMPLETE ***********************

34
ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.opt.roslyn.il

@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly AssemblyCustomAttributes
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 )
.custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 00 00 00 )
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module AssemblyCustomAttributes.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// *********** DISASSEMBLY COMPLETE ***********************

34
ICSharpCode.Decompiler.Tests/TestCases/Pretty/AssemblyCustomAttributes.roslyn.il

@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly AssemblyCustomAttributes
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 )
.custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 00 00 00 )
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module AssemblyCustomAttributes.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// *********** DISASSEMBLY COMPLETE ***********************

453
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.cs

@ -16,48 +16,45 @@ @@ -16,48 +16,45 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//$CS
using System;
//$CE
//$$ TargetModule (ignored)
//[module: CLSCompliantAttribute(false)]
//$$ ParameterlessAttributeUsage
namespace ParameterLessAttributeUsage
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty.CustomAttributeSamples
{
[Obsolete("reason")]
public delegate int AppliedToDelegate();
[Obsolete("reason")]
public interface AppliedToInterface
{
}
[Obsolete("reason")]
public struct AppliedToStruct
{
public int Field;
}
[Flags]
public enum EnumWithFlagsAttribute
{
None = 0x0
}
}
//$$ AttributeWithEnumArgument
namespace AttributeWithEnumArgument
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
}
//$$ AttributeWithEnumExpressionArgument
namespace AttributeWithEnumExpressionArgument
{
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Interface)]
public class MyAttributeAttribute : Attribute
public class MyMethodOrInterfaceAttributeAttribute : Attribute
{
}
}
//$$ AttributeWithStringExpressionArgument
namespace AttributeWithStringExpressionArgument
{
[Obsolete("message")]
public class ObsoletedClass
public class ObsoleteClass
{
}
}
//$$ AttributeWithTypeArgument
namespace AttributeWithTypeArgument
{
[AttributeUsage(AttributeTargets.All)]
public class MyTypeAttribute : Attribute
{
@ -70,255 +67,125 @@ namespace AttributeWithTypeArgument @@ -70,255 +67,125 @@ namespace AttributeWithTypeArgument
public class SomeClass
{
}
}
//$$ AppliedToEvent
namespace AppliedToEvent
{
[AttributeUsage(AttributeTargets.Event)]
public class MyAttributeAttribute : Attribute
{
}
public class TestClass
{
[MyAttribute]
public event EventHandler MyEvent;
}
}
//$$ AppliedToEventMethods
namespace AppliedToEventMethods
{
[AttributeUsage(AttributeTargets.Method)]
public class MyAttributeAttribute : Attribute
{
}
public class TestClass
{
[method: MyAttribute]
public event EventHandler MyEvent;
}
}
//$$ AppliedToField
namespace AppliedToField
{
[AttributeUsage(AttributeTargets.Field)]
public class MyAttributeAttribute : Attribute
{
}
public class TestClass
{
[MyAttribute]
public int Field;
}
}
//$$ AppliedToProperty
namespace AppliedToProperty
{
public class TestClass
{
[Obsolete("reason")]
public int Property
{
get
{
public int Property {
get {
return 0;
}
}
}
}
//$$ AppliedToPropertyGet
namespace AppliedToPropertyGet
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class TestClass
{
public int Property
{
public int PropertyAttributeOnGetter {
[MyAttribute]
get
{
get {
return 0;
}
}
}
}
//$$ AppliedToPropertySet
namespace AppliedToPropertySet
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class TestClass
{
public int Property
{
get
{
public int PropertyAttributeOnSetter {
get {
return 3;
}
[MyAttribute]
set
{
set {
}
}
}
}
//$$ AppliedToIndexer
namespace AppliedToIndexer
{
public class TestClass
{
[Obsolete("reason")]
public int this[int i]
{
get
{
public int this[int i] {
get {
return 0;
}
}
}
}
//$$ AppliedToDelegate
[Obsolete("reason")]
public delegate int AppliedToDelegate();
//$$ AppliedToMethod
namespace AppliedToMethod
{
[AttributeUsage(AttributeTargets.Method)]
public class MyAttributeAttribute : Attribute
{
}
public class TestClass
{
[MyAttribute]
public event EventHandler MyEvent;
[method: MyAttribute]
public event EventHandler MyEvent2;
[MyAttribute]
public void Method()
{
}
}
}
//$$ AppliedToInterface
[Obsolete("reason")]
public interface AppliedToInterface
{
}
//$$ AppliedToStruct
[Obsolete("reason")]
public struct AppliedToStruct
{
public int Field;
}
//$$ AppliedToParameter
namespace AppliedToParameter
{
[AttributeUsage(AttributeTargets.Parameter)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
{
public void Method([MyAttribute] int val)
{
}
}
}
//$$ NamedInitializerProperty
namespace NamedInitializerProperty
{
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
public class MyAttributeAttribute : Attribute
public class MyAttributeWithNamedArgumentAppliedAttribute : Attribute
{
}
}
//$$ NamedInitializerPropertyString
namespace NamedInitializerPropertyString
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
public class MyAttributeWithCustomPropertyAttribute : Attribute
{
public string Prop
{
get
{
public string Prop {
get {
return "";
}
set
{
set {
}
}
}
[MyAttribute(Prop = "value")]
[MyAttributeWithCustomProperty(Prop = "value")]
public class MyClass
{
}
}
//$$ NamedInitializerPropertyType
namespace NamedInitializerPropertyType
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
public class MyAttributeWithNamedInitializerPropertyTypeAttribute : Attribute
{
public Type Prop
{
get
{
public Type Prop {
get {
return null;
}
set
{
set {
}
}
}
[MyAttribute(Prop = typeof(Enum))]
public class MyClass
[MyAttributeWithNamedInitializerPropertyType(Prop = typeof(Enum))]
public class MyClass2
{
}
}
//$$ NamedInitializerPropertyEnum
namespace NamedInitializerPropertyEnum
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
public class MyAttributeNamedInitializerPropertyEnumAttribute : Attribute
{
public AttributeTargets Prop
{
get
{
public AttributeTargets Prop {
get {
return AttributeTargets.All;
}
set
{
set {
}
}
}
[MyAttribute(Prop = (AttributeTargets.Class | AttributeTargets.Method))]
public class MyClass
[MyAttributeNamedInitializerPropertyEnum(Prop = (AttributeTargets.Class | AttributeTargets.Method))]
public class MyClass3
{
}
}
//$$ NamedInitializerFieldEnum
namespace NamedInitializerFieldEnum
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
public class MyAttributeNamedInitializerFieldEnumAttribute : Attribute
{
public AttributeTargets Field;
}
[MyAttribute(Field = (AttributeTargets.Class | AttributeTargets.Method))]
public class MyClass
[MyAttributeNamedInitializerFieldEnum(Field = (AttributeTargets.Class | AttributeTargets.Method))]
public class MyClass4
{
}
}
//$$ TargetReturn
namespace TargetReturn
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass5
{
[return: MyAttribute]
public int MyMethod()
@ -326,183 +193,111 @@ namespace TargetReturn @@ -326,183 +193,111 @@ namespace TargetReturn
return 5;
}
}
}
//$$ TargetPropertyGetReturn
namespace TargetPropertyGetReturn
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass6
{
public int Prop
{
public int Prop {
[return: MyAttribute]
get
{
get {
return 3;
}
}
}
}
//$$ TargetPropertySetParam
namespace TargetPropertySetParam
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass7
{
public int Prop
{
public int Prop {
[param: MyAttribute]
set
{
set {
}
}
}
}
//$$ TargetPropertySetReturn
namespace TargetPropertySetReturn
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass8
{
public int Prop
{
get
{
public int Prop {
get {
return 3;
}
[return: MyAttribute]
set
{
set {
}
}
}
}
//$$ TargetPropertyIndexGetReturn
namespace TargetPropertyIndexGetReturn
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass9
{
public int this[string s]
{
public int this[string s] {
[return: MyAttribute]
get
{
get {
return 3;
}
}
}
}
//$$ TargetPropertyIndexParamOnlySet
namespace TargetPropertyIndexParamOnlySet
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass10
{
public int this[[MyAttribute] string s]
{
set
{
public int this[[MyAttribute] string s] {
set {
}
}
}
}
//$$ TargetPropertyIndexParamOnlyGet
namespace TargetPropertyIndexParamOnlyGet
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass11
{
public int this[[MyAttribute] string s]
{
get
{
public int this[[MyAttribute] string s] {
get {
return 3;
}
}
}
}
//$$ TargetPropertyIndexSetReturn
namespace TargetPropertyIndexSetReturn
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
{
}
public class MyClass
public class MyClass12
{
public string this[int index]
{
get
{
public string this[int index] {
get {
return "";
}
[return: MyAttribute]
set
{
set {
}
}
}
}
//$$ TargetPropertyIndexSetMultiParam
namespace TargetPropertyIndexSetMultiParam
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
public class MyAttributeTargetPropertyIndexSetMultiParamAttribute : Attribute
{
public int Field;
}
public class MyClass
public class MyClass13
{
public string this[[MyAttribute(Field = 2)] int index1, [MyAttribute(Field = 3)] int index2]
{
get
{
public string this[[MyAttributeTargetPropertyIndexSetMultiParam(Field = 2)] int index1, [MyAttributeTargetPropertyIndexSetMultiParam(Field = 3)] int index2] {
get {
return "";
}
[param: MyAttribute]
set
{
set {
}
}
}
}
//$$ ClassAttributeOnTypeParameter
namespace ClassAttributeOnTypeParameter
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
public class MyAttributeOnReturnTypeOfDelegateAttribute : Attribute
{
}
public class MyClass<[MyAttribute] T>
[return: MyAttributeOnReturnTypeOfDelegate]
public delegate void Test();
[AttributeUsage(AttributeTargets.All)]
public class MyClassAttributeOnTypeParameterAttribute : Attribute
{
}
}
//$$ AttributeOnReturnTypeOfDelegate
namespace AttributeOnReturnTypeOfDelegate
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttributeAttribute : Attribute
public class MyClass<[MyClassAttributeOnTypeParameter] T>
{
}
[return: MyAttribute]
public delegate void Test();
}
}

1193
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.il

File diff suppressed because it is too large Load Diff

1071
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.opt.il

File diff suppressed because it is too large Load Diff

1081
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.opt.roslyn.il

File diff suppressed because it is too large Load Diff

1207
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributeSamples.roslyn.il

File diff suppressed because it is too large Load Diff

10
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.cs

@ -91,10 +91,8 @@ namespace CustomAttributes @@ -91,10 +91,8 @@ namespace CustomAttributes
[My(EnumWithFlag.Item1 | EnumWithFlag.Item2)]
private static int field;
[My(EnumWithFlag.All)]
public static string Property
{
get
{
public static string Property {
get {
return "aa";
}
}
@ -104,7 +102,7 @@ namespace CustomAttributes @@ -104,7 +102,7 @@ namespace CustomAttributes
}
// No Boxing
[My(new StringComparison[] {
StringComparison.Ordinal,
StringComparison.Ordinal,
StringComparison.CurrentCulture
})]
public static void EnumArray()
@ -112,7 +110,7 @@ namespace CustomAttributes @@ -112,7 +110,7 @@ namespace CustomAttributes
}
// Boxing of each array element
[My(new object[] {
StringComparison.Ordinal,
StringComparison.Ordinal,
StringComparison.CurrentCulture
})]
public static void BoxedEnumArray()

349
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.il

@ -0,0 +1,349 @@ @@ -0,0 +1,349 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly CustomAttributes
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module CustomAttributes.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// =============== CLASS MEMBERS DECLARATION ===================
.class public abstract auto ansi sealed beforefieldinit CustomAttributes.CustomAttributes
extends [mscorlib]System.Object
{
.class auto ansi sealed nested public EnumWithFlag
extends [mscorlib]System.Enum
{
.custom instance void [mscorlib]System.FlagsAttribute::.ctor() = ( 01 00 00 00 )
.field public specialname rtspecialname int32 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag All = int32(0x0000000F)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag None = int32(0x00000000)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item1 = int32(0x00000001)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item2 = int32(0x00000002)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item3 = int32(0x00000004)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item4 = int32(0x00000008)
} // end of class EnumWithFlag
.class auto ansi nested public beforefieldinit MyAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 FF 7F 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(object val) cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: nop
IL_0007: nop
IL_0008: nop
IL_0009: ret
} // end of method MyAttribute::.ctor
} // end of class MyAttribute
.class auto ansi sealed nested public ULongEnum
extends [mscorlib]System.Enum
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2B 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U+CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 55 4C 6F 6E 67 45 6E 75 6D FF // butes+ULongEnum.
FF FF FF FF FF FF FF 00 00 )
.field public specialname rtspecialname uint64 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/ULongEnum MaxUInt64 = uint64(0xFFFFFFFFFFFFFFFF)
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 0E FF 00 00 )
} // end of class ULongEnum
.class auto ansi nested public beforefieldinit TypesAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 00 01 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(class [mscorlib]System.Type 'type') cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: nop
IL_0007: nop
IL_0008: nop
IL_0009: ret
} // end of method TypesAttribute::.ctor
} // end of class TypesAttribute
.class auto ansi nested private beforefieldinit SomeType`1<T>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method SomeType`1::.ctor
} // end of class SomeType`1
.class auto ansi nested private beforefieldinit SomeType`2<K,V>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method SomeType`2::.ctor
} // end of class SomeType`2
.class sequential ansi sealed nested private beforefieldinit DataType
extends [mscorlib]System.ValueType
{
.field private int32 i
} // end of class DataType
.field private static int32 typeattr_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 59 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C // ..YSystem.Int32,
20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 // mscorlib, Versi
6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 // on=4.0.0.0, Cult
75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 // ure=neutral, Pub
6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 // licKeyToken=b77a
35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 5c561934e089..
.field private static int32 typeattr_null
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 FF 00 00 )
.field private static int32 typeattr_list_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 CB 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 // ....System.Colle
63 74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C // ctions.Generic.L
69 73 74 60 31 5B 5B 53 79 73 74 65 6D 2E 49 6E // ist`1[[System.In
74 33 32 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 // t32, mscorlib, V
65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 // ersion=4.0.0.0,
43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C // Culture=neutral,
20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D // PublicKeyToken=
62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 // b77a5c561934e089
5D 5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 // ]], mscorlib, Ve
72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 // rsion=4.0.0.0, C
75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 // ulture=neutral,
50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 // PublicKeyToken=b
37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 // 77a5c561934e089.
00 )
.field private static int32 typeattr_list_unbound
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 6E 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 63 // ..nSystem.Collec
74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C 69 // tions.Generic.Li
73 74 60 31 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 // st`1, mscorlib,
56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C // Version=4.0.0.0,
20 43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C // Culture=neutral
2C 20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E // , PublicKeyToken
3D 62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 // =b77a5c561934e08
39 00 00 ) // 9..
.field private static int32 typeattr_sometype_of_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 58 43 75 73 74 6F 6D 41 74 74 72 69 62 75 // ..XCustomAttribu
74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // tes.CustomAttrib
75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B // utes+SomeType`1[
43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 // CustomAttributes
2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // .CustomAttribute
73 2B 44 61 74 61 54 79 70 65 5D 00 00 ) // s+DataType]..
.field private static int32 typeattr_sometype_of_datatype2
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 83 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 43 75 73 74 // es+DataType,Cust
6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 73 // omAttributes.Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 61 // tomAttributes+Da
74 61 54 79 70 65 5D 00 00 ) // taType]..
.field private static int32 typeattr_sometype_of_datatype_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 5B 53 79 73 // es+DataType,[Sys
74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 // tem.Int32, mscor
6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 // lib, Version=4.0
2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 // .0.0, Culture=ne
75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 // utral, PublicKey
54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 // Token=b77a5c5619
33 34 65 30 38 39 5D 5D 00 00 ) // 34e089]]..
.field private static int32 typeattr_sometype_of_datatype_array_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B6 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 5B 5D 2C 5B 53 // es+DataType[],[S
79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 // ystem.Int32, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 5D 5D 00 00 ) // 1934e089]]..
.field private static int32 typeattr_sometype_of_nested_sometype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 E2 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B 43 75 // es+SomeType`1[Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 // stomAttributes.C
75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B // ustomAttributes+
44 61 74 61 54 79 70 65 5D 2C 5B 53 79 73 74 65 // DataType],[Syste
6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 6C 69 // m.Int32, mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 5D 5D 00 00 ) // e089]]..
.field private static int32 typeattr_sometype_of_int_and_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 // [[System.Int32,
6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F // mscorlib, Versio
6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 // n=4.0.0.0, Cultu
72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C // re=neutral, Publ
69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 // icKeyToken=b77a5
63 35 36 31 39 33 34 65 30 38 39 5D 2C 43 75 73 // c561934e089],Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 // tomAttributes.Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 // stomAttributes+D
61 74 61 54 79 70 65 5D 00 00 ) // ataType]..
.field private static int32 typeattr_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..[System.Int32[
5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // ], mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 7a5c561934e089..
.field private static int32 typeattr_multidim_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 61 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..aSystem.Int32[
2C 5D 5B 2C 2C 2C 5D 2C 20 6D 73 63 6F 72 6C 69 // ,][,,,], mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 00 00 ) // e089..
.field private static int32 'field'
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 03 00 00 00 00 00 ) // ag......
.method public hidebysig specialname static
string get_Property() cil managed
{
// Code size 11 (0xb)
.maxstack 1
.locals init (string V_0)
IL_0000: nop
IL_0001: ldstr "aa"
IL_0006: stloc.0
IL_0007: br.s IL_0009
IL_0009: ldloc.0
IL_000a: ret
} // end of method CustomAttributes::get_Property
.method public hidebysig static void ObsoletedMethod() cil managed
{
.custom instance void [mscorlib]System.ObsoleteAttribute::.ctor(string) = ( 01 00 0C 73 6F 6D 65 20 6D 65 73 73 61 67 65 00 // ...some message.
00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::ObsoletedMethod
.method public hidebysig static void EnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 55 64 53 79 73 74 65 6D 2E 53 74 72 69 // ...UdSystem.Stri
6E 67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 // ngComparison, ms
63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D // corlib, Version=
34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 // 4.0.0.0, Culture
3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 // =neutral, Public
4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 // KeyToken=b77a5c5
36 31 39 33 34 65 30 38 39 02 00 00 00 04 00 00 // 61934e089.......
00 00 00 00 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::EnumArray
.method public hidebysig static void BoxedEnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 02 00 00 00 55 64 53 79 73 74 65 6D // ...Q....UdSystem
2E 53 74 72 69 6E 67 43 6F 6D 70 61 72 69 73 6F // .StringCompariso
6E 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // n, mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 04 00 // 7a5c561934e089..
00 00 55 64 53 79 73 74 65 6D 2E 53 74 72 69 6E // ..UdSystem.Strin
67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 63 // gComparison, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 00 00 00 00 00 00 ) // 1934e089......
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::BoxedEnumArray
.method public hidebysig static void BoxedLiteralsArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 10 00 00 00 08 01 00 00 00 09 02 00 // ...Q............
00 00 0A 03 00 00 00 00 00 00 00 0B 04 00 00 00
00 00 00 00 06 05 00 07 06 00 05 07 04 08 03 61 // ...............a
00 03 00 00 03 FF FE 03 FF FF 0C 00 00 80 3F 0D // ..............?.
00 00 00 00 00 00 00 40 0E 04 74 65 78 74 0E FF // .......@..text..
00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::BoxedLiteralsArray
.property string Property()
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 0F 00 00 00 00 00 ) // ag......
.get string CustomAttributes.CustomAttributes::get_Property()
} // end of property CustomAttributes::Property
} // end of class CustomAttributes.CustomAttributes
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************

333
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.opt.il

@ -0,0 +1,333 @@ @@ -0,0 +1,333 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly CustomAttributes.opt
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module CustomAttributes.opt.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// =============== CLASS MEMBERS DECLARATION ===================
.class public abstract auto ansi sealed beforefieldinit CustomAttributes.CustomAttributes
extends [mscorlib]System.Object
{
.class auto ansi sealed nested public EnumWithFlag
extends [mscorlib]System.Enum
{
.custom instance void [mscorlib]System.FlagsAttribute::.ctor() = ( 01 00 00 00 )
.field public specialname rtspecialname int32 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag All = int32(0x0000000F)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag None = int32(0x00000000)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item1 = int32(0x00000001)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item2 = int32(0x00000002)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item3 = int32(0x00000004)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item4 = int32(0x00000008)
} // end of class EnumWithFlag
.class auto ansi nested public beforefieldinit MyAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 FF 7F 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(object val) cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: ret
} // end of method MyAttribute::.ctor
} // end of class MyAttribute
.class auto ansi sealed nested public ULongEnum
extends [mscorlib]System.Enum
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2B 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U+CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 55 4C 6F 6E 67 45 6E 75 6D FF // butes+ULongEnum.
FF FF FF FF FF FF FF 00 00 )
.field public specialname rtspecialname uint64 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/ULongEnum MaxUInt64 = uint64(0xFFFFFFFFFFFFFFFF)
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 0E FF 00 00 )
} // end of class ULongEnum
.class auto ansi nested public beforefieldinit TypesAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 00 01 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(class [mscorlib]System.Type 'type') cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: ret
} // end of method TypesAttribute::.ctor
} // end of class TypesAttribute
.class auto ansi nested private beforefieldinit SomeType`1<T>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method SomeType`1::.ctor
} // end of class SomeType`1
.class auto ansi nested private beforefieldinit SomeType`2<K,V>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method SomeType`2::.ctor
} // end of class SomeType`2
.class sequential ansi sealed nested private beforefieldinit DataType
extends [mscorlib]System.ValueType
{
.field private int32 i
} // end of class DataType
.field private static int32 typeattr_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 59 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C // ..YSystem.Int32,
20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 // mscorlib, Versi
6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 // on=4.0.0.0, Cult
75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 // ure=neutral, Pub
6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 // licKeyToken=b77a
35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 5c561934e089..
.field private static int32 typeattr_null
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 FF 00 00 )
.field private static int32 typeattr_list_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 CB 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 // ....System.Colle
63 74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C // ctions.Generic.L
69 73 74 60 31 5B 5B 53 79 73 74 65 6D 2E 49 6E // ist`1[[System.In
74 33 32 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 // t32, mscorlib, V
65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 // ersion=4.0.0.0,
43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C // Culture=neutral,
20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D // PublicKeyToken=
62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 // b77a5c561934e089
5D 5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 // ]], mscorlib, Ve
72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 // rsion=4.0.0.0, C
75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 // ulture=neutral,
50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 // PublicKeyToken=b
37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 // 77a5c561934e089.
00 )
.field private static int32 typeattr_list_unbound
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 6E 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 63 // ..nSystem.Collec
74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C 69 // tions.Generic.Li
73 74 60 31 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 // st`1, mscorlib,
56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C // Version=4.0.0.0,
20 43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C // Culture=neutral
2C 20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E // , PublicKeyToken
3D 62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 // =b77a5c561934e08
39 00 00 ) // 9..
.field private static int32 typeattr_sometype_of_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 58 43 75 73 74 6F 6D 41 74 74 72 69 62 75 // ..XCustomAttribu
74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // tes.CustomAttrib
75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B // utes+SomeType`1[
43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 // CustomAttributes
2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // .CustomAttribute
73 2B 44 61 74 61 54 79 70 65 5D 00 00 ) // s+DataType]..
.field private static int32 typeattr_sometype_of_datatype2
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 83 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 43 75 73 74 // es+DataType,Cust
6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 73 // omAttributes.Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 61 // tomAttributes+Da
74 61 54 79 70 65 5D 00 00 ) // taType]..
.field private static int32 typeattr_sometype_of_datatype_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 5B 53 79 73 // es+DataType,[Sys
74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 // tem.Int32, mscor
6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 // lib, Version=4.0
2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 // .0.0, Culture=ne
75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 // utral, PublicKey
54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 // Token=b77a5c5619
33 34 65 30 38 39 5D 5D 00 00 ) // 34e089]]..
.field private static int32 typeattr_sometype_of_datatype_array_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B6 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 5B 5D 2C 5B 53 // es+DataType[],[S
79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 // ystem.Int32, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 5D 5D 00 00 ) // 1934e089]]..
.field private static int32 typeattr_sometype_of_nested_sometype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 E2 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B 43 75 // es+SomeType`1[Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 // stomAttributes.C
75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B // ustomAttributes+
44 61 74 61 54 79 70 65 5D 2C 5B 53 79 73 74 65 // DataType],[Syste
6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 6C 69 // m.Int32, mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 5D 5D 00 00 ) // e089]]..
.field private static int32 typeattr_sometype_of_int_and_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 // [[System.Int32,
6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F // mscorlib, Versio
6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 // n=4.0.0.0, Cultu
72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C // re=neutral, Publ
69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 // icKeyToken=b77a5
63 35 36 31 39 33 34 65 30 38 39 5D 2C 43 75 73 // c561934e089],Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 // tomAttributes.Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 // stomAttributes+D
61 74 61 54 79 70 65 5D 00 00 ) // ataType]..
.field private static int32 typeattr_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..[System.Int32[
5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // ], mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 7a5c561934e089..
.field private static int32 typeattr_multidim_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 61 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..aSystem.Int32[
2C 5D 5B 2C 2C 2C 5D 2C 20 6D 73 63 6F 72 6C 69 // ,][,,,], mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 00 00 ) // e089..
.field private static int32 'field'
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 03 00 00 00 00 00 ) // ag......
.method public hidebysig specialname static
string get_Property() cil managed
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldstr "aa"
IL_0005: ret
} // end of method CustomAttributes::get_Property
.method public hidebysig static void ObsoletedMethod() cil managed
{
.custom instance void [mscorlib]System.ObsoleteAttribute::.ctor(string) = ( 01 00 0C 73 6F 6D 65 20 6D 65 73 73 61 67 65 00 // ...some message.
00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::ObsoletedMethod
.method public hidebysig static void EnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 55 64 53 79 73 74 65 6D 2E 53 74 72 69 // ...UdSystem.Stri
6E 67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 // ngComparison, ms
63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D // corlib, Version=
34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 // 4.0.0.0, Culture
3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 // =neutral, Public
4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 // KeyToken=b77a5c5
36 31 39 33 34 65 30 38 39 02 00 00 00 04 00 00 // 61934e089.......
00 00 00 00 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::EnumArray
.method public hidebysig static void BoxedEnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 02 00 00 00 55 64 53 79 73 74 65 6D // ...Q....UdSystem
2E 53 74 72 69 6E 67 43 6F 6D 70 61 72 69 73 6F // .StringCompariso
6E 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // n, mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 04 00 // 7a5c561934e089..
00 00 55 64 53 79 73 74 65 6D 2E 53 74 72 69 6E // ..UdSystem.Strin
67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 63 // gComparison, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 00 00 00 00 00 00 ) // 1934e089......
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::BoxedEnumArray
.method public hidebysig static void BoxedLiteralsArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 10 00 00 00 08 01 00 00 00 09 02 00 // ...Q............
00 00 0A 03 00 00 00 00 00 00 00 0B 04 00 00 00
00 00 00 00 06 05 00 07 06 00 05 07 04 08 03 61 // ...............a
00 03 00 00 03 FF FE 03 FF FF 0C 00 00 80 3F 0D // ..............?.
00 00 00 00 00 00 00 40 0E 04 74 65 78 74 0E FF // .......@..text..
00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::BoxedLiteralsArray
.property string Property()
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 0F 00 00 00 00 00 ) // ag......
.get string CustomAttributes.CustomAttributes::get_Property()
} // end of property CustomAttributes::Property
} // end of class CustomAttributes.CustomAttributes
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************

337
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.opt.roslyn.il

@ -0,0 +1,337 @@ @@ -0,0 +1,337 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly CustomAttributes
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 02 00 00 00 00 00 )
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module CustomAttributes.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// =============== CLASS MEMBERS DECLARATION ===================
.class public abstract auto ansi sealed beforefieldinit CustomAttributes.CustomAttributes
extends [mscorlib]System.Object
{
.class auto ansi sealed nested public EnumWithFlag
extends [mscorlib]System.Enum
{
.custom instance void [mscorlib]System.FlagsAttribute::.ctor() = ( 01 00 00 00 )
.field public specialname rtspecialname int32 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag All = int32(0x0000000F)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag None = int32(0x00000000)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item1 = int32(0x00000001)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item2 = int32(0x00000002)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item3 = int32(0x00000004)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item4 = int32(0x00000008)
} // end of class EnumWithFlag
.class auto ansi nested public beforefieldinit MyAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 FF 7F 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(object val) cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: ret
} // end of method MyAttribute::.ctor
} // end of class MyAttribute
.class auto ansi sealed nested public ULongEnum
extends [mscorlib]System.Enum
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2B 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U+CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 55 4C 6F 6E 67 45 6E 75 6D FF // butes+ULongEnum.
FF FF FF FF FF FF FF 00 00 )
.field public specialname rtspecialname uint64 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/ULongEnum MaxUInt64 = uint64(0xFFFFFFFFFFFFFFFF)
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 0E FF 00 00 )
} // end of class ULongEnum
.class auto ansi nested public beforefieldinit TypesAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 00 01 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(class [mscorlib]System.Type 'type') cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: ret
} // end of method TypesAttribute::.ctor
} // end of class TypesAttribute
.class auto ansi nested private beforefieldinit SomeType`1<T>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method SomeType`1::.ctor
} // end of class SomeType`1
.class auto ansi nested private beforefieldinit SomeType`2<K,V>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method SomeType`2::.ctor
} // end of class SomeType`2
.class sequential ansi sealed nested private beforefieldinit DataType
extends [mscorlib]System.ValueType
{
.field private int32 i
} // end of class DataType
.field private static int32 typeattr_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 59 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C // ..YSystem.Int32,
20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 // mscorlib, Versi
6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 // on=4.0.0.0, Cult
75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 // ure=neutral, Pub
6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 // licKeyToken=b77a
35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 5c561934e089..
.field private static int32 typeattr_null
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 FF 00 00 )
.field private static int32 typeattr_list_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 CB 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 // ....System.Colle
63 74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C // ctions.Generic.L
69 73 74 60 31 5B 5B 53 79 73 74 65 6D 2E 49 6E // ist`1[[System.In
74 33 32 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 // t32, mscorlib, V
65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 // ersion=4.0.0.0,
43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C // Culture=neutral,
20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D // PublicKeyToken=
62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 // b77a5c561934e089
5D 5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 // ]], mscorlib, Ve
72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 // rsion=4.0.0.0, C
75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 // ulture=neutral,
50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 // PublicKeyToken=b
37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 // 77a5c561934e089.
00 )
.field private static int32 typeattr_list_unbound
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 6E 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 63 // ..nSystem.Collec
74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C 69 // tions.Generic.Li
73 74 60 31 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 // st`1, mscorlib,
56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C // Version=4.0.0.0,
20 43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C // Culture=neutral
2C 20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E // , PublicKeyToken
3D 62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 // =b77a5c561934e08
39 00 00 ) // 9..
.field private static int32 typeattr_sometype_of_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 58 43 75 73 74 6F 6D 41 74 74 72 69 62 75 // ..XCustomAttribu
74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // tes.CustomAttrib
75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B // utes+SomeType`1[
43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 // CustomAttributes
2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // .CustomAttribute
73 2B 44 61 74 61 54 79 70 65 5D 00 00 ) // s+DataType]..
.field private static int32 typeattr_sometype_of_datatype2
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 83 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 43 75 73 74 // es+DataType,Cust
6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 73 // omAttributes.Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 61 // tomAttributes+Da
74 61 54 79 70 65 5D 00 00 ) // taType]..
.field private static int32 typeattr_sometype_of_datatype_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 5B 53 79 73 // es+DataType,[Sys
74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 // tem.Int32, mscor
6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 // lib, Version=4.0
2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 // .0.0, Culture=ne
75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 // utral, PublicKey
54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 // Token=b77a5c5619
33 34 65 30 38 39 5D 5D 00 00 ) // 34e089]]..
.field private static int32 typeattr_sometype_of_datatype_array_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B6 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 5B 5D 2C 5B 53 // es+DataType[],[S
79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 // ystem.Int32, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 5D 5D 00 00 ) // 1934e089]]..
.field private static int32 typeattr_sometype_of_nested_sometype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 E2 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B 43 75 // es+SomeType`1[Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 // stomAttributes.C
75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B // ustomAttributes+
44 61 74 61 54 79 70 65 5D 2C 5B 53 79 73 74 65 // DataType],[Syste
6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 6C 69 // m.Int32, mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 5D 5D 00 00 ) // e089]]..
.field private static int32 typeattr_sometype_of_int_and_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 // [[System.Int32,
6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F // mscorlib, Versio
6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 // n=4.0.0.0, Cultu
72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C // re=neutral, Publ
69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 // icKeyToken=b77a5
63 35 36 31 39 33 34 65 30 38 39 5D 2C 43 75 73 // c561934e089],Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 // tomAttributes.Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 // stomAttributes+D
61 74 61 54 79 70 65 5D 00 00 ) // ataType]..
.field private static int32 typeattr_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..[System.Int32[
5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // ], mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 7a5c561934e089..
.field private static int32 typeattr_multidim_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 61 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..aSystem.Int32[
2C 5D 5B 2C 2C 2C 5D 2C 20 6D 73 63 6F 72 6C 69 // ,][,,,], mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 00 00 ) // e089..
.field private static int32 'field'
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 03 00 00 00 00 00 ) // ag......
.method public hidebysig specialname static
string get_Property() cil managed
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: ldstr "aa"
IL_0005: ret
} // end of method CustomAttributes::get_Property
.method public hidebysig static void ObsoletedMethod() cil managed
{
.custom instance void [mscorlib]System.ObsoleteAttribute::.ctor(string) = ( 01 00 0C 73 6F 6D 65 20 6D 65 73 73 61 67 65 00 // ...some message.
00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::ObsoletedMethod
.method public hidebysig static void EnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 55 64 53 79 73 74 65 6D 2E 53 74 72 69 // ...UdSystem.Stri
6E 67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 // ngComparison, ms
63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D // corlib, Version=
34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 // 4.0.0.0, Culture
3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 // =neutral, Public
4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 // KeyToken=b77a5c5
36 31 39 33 34 65 30 38 39 02 00 00 00 04 00 00 // 61934e089.......
00 00 00 00 00 00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::EnumArray
.method public hidebysig static void BoxedEnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 02 00 00 00 55 64 53 79 73 74 65 6D // ...Q....UdSystem
2E 53 74 72 69 6E 67 43 6F 6D 70 61 72 69 73 6F // .StringCompariso
6E 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // n, mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 04 00 // 7a5c561934e089..
00 00 55 64 53 79 73 74 65 6D 2E 53 74 72 69 6E // ..UdSystem.Strin
67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 63 // gComparison, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 00 00 00 00 00 00 ) // 1934e089......
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::BoxedEnumArray
.method public hidebysig static void BoxedLiteralsArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 10 00 00 00 08 01 00 00 00 09 02 00 // ...Q............
00 00 0A 03 00 00 00 00 00 00 00 0B 04 00 00 00
00 00 00 00 06 05 00 07 06 00 05 07 04 08 03 61 // ...............a
00 03 00 00 03 FF FE 03 FF FF 0C 00 00 80 3F 0D // ..............?.
00 00 00 00 00 00 00 40 0E 04 74 65 78 74 0E FF // .......@..text..
00 00 )
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method CustomAttributes::BoxedLiteralsArray
.property string Property()
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 0F 00 00 00 00 00 ) // ag......
.get string CustomAttributes.CustomAttributes::get_Property()
} // end of property CustomAttributes::Property
} // end of class CustomAttributes.CustomAttributes
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************

353
ICSharpCode.Decompiler.Tests/TestCases/Pretty/CustomAttributes.roslyn.il

@ -0,0 +1,353 @@ @@ -0,0 +1,353 @@
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly CustomAttributes
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 )
.permissionset reqmin
= {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}}
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module CustomAttributes.dll
.custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 )
.imagebase 0x10000000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// =============== CLASS MEMBERS DECLARATION ===================
.class public abstract auto ansi sealed beforefieldinit CustomAttributes.CustomAttributes
extends [mscorlib]System.Object
{
.class auto ansi sealed nested public EnumWithFlag
extends [mscorlib]System.Enum
{
.custom instance void [mscorlib]System.FlagsAttribute::.ctor() = ( 01 00 00 00 )
.field public specialname rtspecialname int32 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag All = int32(0x0000000F)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag None = int32(0x00000000)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item1 = int32(0x00000001)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item2 = int32(0x00000002)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item3 = int32(0x00000004)
.field public static literal valuetype CustomAttributes.CustomAttributes/EnumWithFlag Item4 = int32(0x00000008)
} // end of class EnumWithFlag
.class auto ansi nested public beforefieldinit MyAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 FF 7F 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(object val) cil managed
{
// Code size 9 (0x9)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: nop
IL_0007: nop
IL_0008: ret
} // end of method MyAttribute::.ctor
} // end of class MyAttribute
.class auto ansi sealed nested public ULongEnum
extends [mscorlib]System.Enum
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2B 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U+CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 55 4C 6F 6E 67 45 6E 75 6D FF // butes+ULongEnum.
FF FF FF FF FF FF FF 00 00 )
.field public specialname rtspecialname uint64 value__
.field public static literal valuetype CustomAttributes.CustomAttributes/ULongEnum MaxUInt64 = uint64(0xFFFFFFFFFFFFFFFF)
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 0E FF 00 00 )
} // end of class ULongEnum
.class auto ansi nested public beforefieldinit TypesAttribute
extends [mscorlib]System.Attribute
{
.custom instance void [mscorlib]System.AttributeUsageAttribute::.ctor(valuetype [mscorlib]System.AttributeTargets) = ( 01 00 00 01 00 00 00 00 )
.method public hidebysig specialname rtspecialname
instance void .ctor(class [mscorlib]System.Type 'type') cil managed
{
// Code size 9 (0x9)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Attribute::.ctor()
IL_0006: nop
IL_0007: nop
IL_0008: ret
} // end of method TypesAttribute::.ctor
} // end of class TypesAttribute
.class auto ansi nested private beforefieldinit SomeType`1<T>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method SomeType`1::.ctor
} // end of class SomeType`1
.class auto ansi nested private beforefieldinit SomeType`2<K,V>
extends [mscorlib]System.Object
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method SomeType`2::.ctor
} // end of class SomeType`2
.class sequential ansi sealed nested private beforefieldinit DataType
extends [mscorlib]System.ValueType
{
.field private int32 i
} // end of class DataType
.field private static int32 typeattr_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 59 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C // ..YSystem.Int32,
20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 // mscorlib, Versi
6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 // on=4.0.0.0, Cult
75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 // ure=neutral, Pub
6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 // licKeyToken=b77a
35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 5c561934e089..
.field private static int32 typeattr_null
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 FF 00 00 )
.field private static int32 typeattr_list_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 CB 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 // ....System.Colle
63 74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C // ctions.Generic.L
69 73 74 60 31 5B 5B 53 79 73 74 65 6D 2E 49 6E // ist`1[[System.In
74 33 32 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 // t32, mscorlib, V
65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 // ersion=4.0.0.0,
43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C // Culture=neutral,
20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D // PublicKeyToken=
62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 // b77a5c561934e089
5D 5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 // ]], mscorlib, Ve
72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 // rsion=4.0.0.0, C
75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 // ulture=neutral,
50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 // PublicKeyToken=b
37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 // 77a5c561934e089.
00 )
.field private static int32 typeattr_list_unbound
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 6E 53 79 73 74 65 6D 2E 43 6F 6C 6C 65 63 // ..nSystem.Collec
74 69 6F 6E 73 2E 47 65 6E 65 72 69 63 2E 4C 69 // tions.Generic.Li
73 74 60 31 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 // st`1, mscorlib,
56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C // Version=4.0.0.0,
20 43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C // Culture=neutral
2C 20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E // , PublicKeyToken
3D 62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 // =b77a5c561934e08
39 00 00 ) // 9..
.field private static int32 typeattr_sometype_of_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 58 43 75 73 74 6F 6D 41 74 74 72 69 62 75 // ..XCustomAttribu
74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // tes.CustomAttrib
75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B // utes+SomeType`1[
43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 // CustomAttributes
2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // .CustomAttribute
73 2B 44 61 74 61 54 79 70 65 5D 00 00 ) // s+DataType]..
.field private static int32 typeattr_sometype_of_datatype2
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 83 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 43 75 73 74 // es+DataType,Cust
6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 73 // omAttributes.Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 61 // tomAttributes+Da
74 61 54 79 70 65 5D 00 00 ) // taType]..
.field private static int32 typeattr_sometype_of_datatype_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 2C 5B 53 79 73 // es+DataType,[Sys
74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 // tem.Int32, mscor
6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 // lib, Version=4.0
2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 // .0.0, Culture=ne
75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 // utral, PublicKey
54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 // Token=b77a5c5619
33 34 65 30 38 39 5D 5D 00 00 ) // 34e089]]..
.field private static int32 typeattr_sometype_of_datatype_array_and_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B6 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 44 61 74 61 54 79 70 65 5B 5D 2C 5B 53 // es+DataType[],[S
79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 6D 73 63 // ystem.Int32, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 5D 5D 00 00 ) // 1934e089]]..
.field private static int32 typeattr_sometype_of_nested_sometype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 E2 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 // [CustomAttribute
73 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 75 74 // s.CustomAttribut
65 73 2B 53 6F 6D 65 54 79 70 65 60 31 5B 43 75 // es+SomeType`1[Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 // stomAttributes.C
75 73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B // ustomAttributes+
44 61 74 61 54 79 70 65 5D 2C 5B 53 79 73 74 65 // DataType],[Syste
6D 2E 49 6E 74 33 32 2C 20 6D 73 63 6F 72 6C 69 // m.Int32, mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 5D 5D 00 00 ) // e089]]..
.field private static int32 typeattr_sometype_of_int_and_datatype
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 80 B4 43 75 73 74 6F 6D 41 74 74 72 69 62 // ....CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 53 6F 6D 65 54 79 70 65 60 32 // butes+SomeType`2
5B 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 2C 20 // [[System.Int32,
6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F // mscorlib, Versio
6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 // n=4.0.0.0, Cultu
72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C // re=neutral, Publ
69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 // icKeyToken=b77a5
63 35 36 31 39 33 34 65 30 38 39 5D 2C 43 75 73 // c561934e089],Cus
74 6F 6D 41 74 74 72 69 62 75 74 65 73 2E 43 75 // tomAttributes.Cu
73 74 6F 6D 41 74 74 72 69 62 75 74 65 73 2B 44 // stomAttributes+D
61 74 61 54 79 70 65 5D 00 00 ) // ataType]..
.field private static int32 typeattr_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 5B 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..[System.Int32[
5D 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // ], mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 00 00 ) // 7a5c561934e089..
.field private static int32 typeattr_multidim_array_of_int
.custom instance void CustomAttributes.CustomAttributes/TypesAttribute::.ctor(class [mscorlib]System.Type) = ( 01 00 61 53 79 73 74 65 6D 2E 49 6E 74 33 32 5B // ..aSystem.Int32[
2C 5D 5B 2C 2C 2C 5D 2C 20 6D 73 63 6F 72 6C 69 // ,][,,,], mscorli
62 2C 20 56 65 72 73 69 6F 6E 3D 34 2E 30 2E 30 // b, Version=4.0.0
2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 // .0, Culture=neut
72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F // ral, PublicKeyTo
6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 // ken=b77a5c561934
65 30 38 39 00 00 ) // e089..
.field private static int32 'field'
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 03 00 00 00 00 00 ) // ag......
.method public hidebysig specialname static
string get_Property() cil managed
{
// Code size 11 (0xb)
.maxstack 1
.locals init (string V_0)
IL_0000: nop
IL_0001: ldstr "aa"
IL_0006: stloc.0
IL_0007: br.s IL_0009
IL_0009: ldloc.0
IL_000a: ret
} // end of method CustomAttributes::get_Property
.method public hidebysig static void ObsoletedMethod() cil managed
{
.custom instance void [mscorlib]System.ObsoleteAttribute::.ctor(string) = ( 01 00 0C 73 6F 6D 65 20 6D 65 73 73 61 67 65 00 // ...some message.
00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::ObsoletedMethod
.method public hidebysig static void EnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 55 64 53 79 73 74 65 6D 2E 53 74 72 69 // ...UdSystem.Stri
6E 67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 // ngComparison, ms
63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D // corlib, Version=
34 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 // 4.0.0.0, Culture
3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 // =neutral, Public
4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 // KeyToken=b77a5c5
36 31 39 33 34 65 30 38 39 02 00 00 00 04 00 00 // 61934e089.......
00 00 00 00 00 00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::EnumArray
.method public hidebysig static void BoxedEnumArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 02 00 00 00 55 64 53 79 73 74 65 6D // ...Q....UdSystem
2E 53 74 72 69 6E 67 43 6F 6D 70 61 72 69 73 6F // .StringCompariso
6E 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 // n, mscorlib, Ver
73 69 6F 6E 3D 34 2E 30 2E 30 2E 30 2C 20 43 75 // sion=4.0.0.0, Cu
6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 // lture=neutral, P
75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 // ublicKeyToken=b7
37 61 35 63 35 36 31 39 33 34 65 30 38 39 04 00 // 7a5c561934e089..
00 00 55 64 53 79 73 74 65 6D 2E 53 74 72 69 6E // ..UdSystem.Strin
67 43 6F 6D 70 61 72 69 73 6F 6E 2C 20 6D 73 63 // gComparison, msc
6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 34 // orlib, Version=4
2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D // .0.0.0, Culture=
6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B // neutral, PublicK
65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 // eyToken=b77a5c56
31 39 33 34 65 30 38 39 00 00 00 00 00 00 ) // 1934e089......
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::BoxedEnumArray
.method public hidebysig static void BoxedLiteralsArray() cil managed
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 1D 51 10 00 00 00 08 01 00 00 00 09 02 00 // ...Q............
00 00 0A 03 00 00 00 00 00 00 00 0B 04 00 00 00
00 00 00 00 06 05 00 07 06 00 05 07 04 08 03 61 // ...............a
00 03 00 00 03 FF FE 03 FF FF 0C 00 00 80 3F 0D // ..............?.
00 00 00 00 00 00 00 40 0E 04 74 65 78 74 0E FF // .......@..text..
00 00 )
// Code size 2 (0x2)
.maxstack 8
IL_0000: nop
IL_0001: ret
} // end of method CustomAttributes::BoxedLiteralsArray
.property string Property()
{
.custom instance void CustomAttributes.CustomAttributes/MyAttribute::.ctor(object) = ( 01 00 55 2E 43 75 73 74 6F 6D 41 74 74 72 69 62 // ..U.CustomAttrib
75 74 65 73 2E 43 75 73 74 6F 6D 41 74 74 72 69 // utes.CustomAttri
62 75 74 65 73 2B 45 6E 75 6D 57 69 74 68 46 6C // butes+EnumWithFl
61 67 0F 00 00 00 00 00 ) // ag......
.get string CustomAttributes.CustomAttributes::get_Property()
} // end of property CustomAttributes::Property
} // end of class CustomAttributes.CustomAttributes
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************
Loading…
Cancel
Save