Browse Source

Update to latest Cecil (4bc52d2976f7060dc65fb4075f301e4f9daaeb93 + thread-safe fixes)

pull/155/head
Daniel Grunwald 15 years ago
parent
commit
37de037718
  1. 1
      Mono.Cecil/.gitignore
  2. 2
      Mono.Cecil/Mono.Cecil.Cil/Code.cs
  3. 10
      Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs
  4. 4
      Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs
  5. 2
      Mono.Cecil/Mono.Cecil.Cil/Document.cs
  6. 8
      Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs
  7. 2
      Mono.Cecil/Mono.Cecil.Cil/ILProcessor.cs
  8. 2
      Mono.Cecil/Mono.Cecil.Cil/Instruction.cs
  9. 2
      Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs
  10. 549
      Mono.Cecil/Mono.Cecil.Cil/OpCode.cs
  11. 2
      Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs
  12. 2
      Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs
  13. 9
      Mono.Cecil/Mono.Cecil.Cil/Symbols.cs
  14. 2
      Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs
  15. 2
      Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs
  16. 2
      Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs
  17. 4
      Mono.Cecil/Mono.Cecil.Metadata/Buffers.cs
  18. 2
      Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs
  19. 2
      Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs
  20. 2
      Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs
  21. 2
      Mono.Cecil/Mono.Cecil.Metadata/Heap.cs
  22. 2
      Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs
  23. 2
      Mono.Cecil/Mono.Cecil.Metadata/Row.cs
  24. 2
      Mono.Cecil/Mono.Cecil.Metadata/StringHeap.cs
  25. 52
      Mono.Cecil/Mono.Cecil.Metadata/TableHeap.cs
  26. 2
      Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs
  27. 2
      Mono.Cecil/Mono.Cecil.Metadata/UserStringHeap.cs
  28. 2
      Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs
  29. 2
      Mono.Cecil/Mono.Cecil.PE/BinaryStreamReader.cs
  30. 2
      Mono.Cecil/Mono.Cecil.PE/BinaryStreamWriter.cs
  31. 2
      Mono.Cecil/Mono.Cecil.PE/ByteBuffer.cs
  32. 2
      Mono.Cecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs
  33. 2
      Mono.Cecil/Mono.Cecil.PE/DataDirectory.cs
  34. 2
      Mono.Cecil/Mono.Cecil.PE/Image.cs
  35. 25
      Mono.Cecil/Mono.Cecil.PE/ImageReader.cs
  36. 2
      Mono.Cecil/Mono.Cecil.PE/ImageWriter.cs
  37. 2
      Mono.Cecil/Mono.Cecil.PE/Section.cs
  38. 2
      Mono.Cecil/Mono.Cecil.PE/TextMap.cs
  39. 23
      Mono.Cecil/Mono.Cecil.nuspec
  40. 2
      Mono.Cecil/Mono.Cecil/ArrayType.cs
  41. 4
      Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs
  42. 2
      Mono.Cecil/Mono.Cecil/AssemblyFlags.cs
  43. 2
      Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs
  44. 2
      Mono.Cecil/Mono.Cecil/AssemblyInfo.cs
  45. 2
      Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs
  46. 2
      Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs
  47. 2
      Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs
  48. 164
      Mono.Cecil/Mono.Cecil/AssemblyReader.cs
  49. 67
      Mono.Cecil/Mono.Cecil/AssemblyWriter.cs
  50. 19
      Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs
  51. 84
      Mono.Cecil/Mono.Cecil/CallSite.cs
  52. 2
      Mono.Cecil/Mono.Cecil/CustomAttribute.cs
  53. 2
      Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs
  54. 2
      Mono.Cecil/Mono.Cecil/EmbeddedResource.cs
  55. 2
      Mono.Cecil/Mono.Cecil/EventAttributes.cs
  56. 2
      Mono.Cecil/Mono.Cecil/EventDefinition.cs
  57. 2
      Mono.Cecil/Mono.Cecil/EventReference.cs
  58. 2
      Mono.Cecil/Mono.Cecil/ExportedType.cs
  59. 2
      Mono.Cecil/Mono.Cecil/FieldAttributes.cs
  60. 2
      Mono.Cecil/Mono.Cecil/FieldDefinition.cs
  61. 2
      Mono.Cecil/Mono.Cecil/FieldReference.cs
  62. 2
      Mono.Cecil/Mono.Cecil/FileAttributes.cs
  63. 2
      Mono.Cecil/Mono.Cecil/FunctionPointerType.cs
  64. 9
      Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs
  65. 9
      Mono.Cecil/Mono.Cecil/GenericInstanceType.cs
  66. 6
      Mono.Cecil/Mono.Cecil/GenericParameter.cs
  67. 2
      Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs
  68. 2
      Mono.Cecil/Mono.Cecil/IConstantProvider.cs
  69. 2
      Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs
  70. 2
      Mono.Cecil/Mono.Cecil/IGenericInstance.cs
  71. 2
      Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs
  72. 2
      Mono.Cecil/Mono.Cecil/IMarshalInfoProvider.cs
  73. 2
      Mono.Cecil/Mono.Cecil/IMemberDefinition.cs
  74. 2
      Mono.Cecil/Mono.Cecil/IMetadataScope.cs
  75. 2
      Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs
  76. 2
      Mono.Cecil/Mono.Cecil/IMethodSignature.cs
  77. 2
      Mono.Cecil/Mono.Cecil/Import.cs
  78. 2
      Mono.Cecil/Mono.Cecil/LinkedResource.cs
  79. 2
      Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs
  80. 2
      Mono.Cecil/Mono.Cecil/MarshalInfo.cs
  81. 2
      Mono.Cecil/Mono.Cecil/MemberDefinitionCollection.cs
  82. 2
      Mono.Cecil/Mono.Cecil/MemberReference.cs
  83. 27
      Mono.Cecil/Mono.Cecil/MetadataResolver.cs
  84. 2
      Mono.Cecil/Mono.Cecil/MetadataSystem.cs
  85. 2
      Mono.Cecil/Mono.Cecil/MethodAttributes.cs
  86. 2
      Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs
  87. 2
      Mono.Cecil/Mono.Cecil/MethodDefinition.cs
  88. 2
      Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs
  89. 2
      Mono.Cecil/Mono.Cecil/MethodReference.cs
  90. 2
      Mono.Cecil/Mono.Cecil/MethodReturnType.cs
  91. 2
      Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs
  92. 2
      Mono.Cecil/Mono.Cecil/MethodSpecification.cs
  93. 2
      Mono.Cecil/Mono.Cecil/Modifiers.cs
  94. 13
      Mono.Cecil/Mono.Cecil/ModuleDefinition.cs
  95. 2
      Mono.Cecil/Mono.Cecil/ModuleKind.cs
  96. 2
      Mono.Cecil/Mono.Cecil/ModuleReference.cs
  97. 2
      Mono.Cecil/Mono.Cecil/NativeType.cs
  98. 2
      Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs
  99. 2
      Mono.Cecil/Mono.Cecil/PInvokeInfo.cs
  100. 2
      Mono.Cecil/Mono.Cecil/ParameterAttributes.cs
  101. Some files were not shown because too many files have changed in this diff Show More

1
Mono.Cecil/.gitignore vendored

@ -5,3 +5,4 @@ obj @@ -5,3 +5,4 @@ obj
*.pidb
*.userprefs
*.xml
*.nupkg

2
Mono.Cecil/Mono.Cecil.Cil/Code.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

10
Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -49,18 +49,13 @@ namespace Mono.Cecil.Cil { @@ -49,18 +49,13 @@ namespace Mono.Cecil.Cil {
get { return base.position - start; }
}
CodeReader (Section section, MetadataReader reader)
public CodeReader (Section section, MetadataReader reader)
: base (section.Data)
{
this.code_section = section;
this.reader = reader;
}
public static CodeReader CreateCodeReader (MetadataReader metadata)
{
return new CodeReader (metadata.image.MetadataSection, metadata);
}
public MethodBody ReadMethodBody (MethodDefinition method)
{
this.method = method;
@ -364,7 +359,6 @@ namespace Mono.Cecil.Cil { @@ -364,7 +359,6 @@ namespace Mono.Cecil.Cil {
break;
case ExceptionHandlerType.Filter:
handler.FilterStart = GetInstruction (ReadInt32 ());
handler.FilterEnd = handler.HandlerStart.Previous;
break;
default:
Advance (4);

4
Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -510,7 +510,7 @@ namespace Mono.Cecil.Cil { @@ -510,7 +510,7 @@ namespace Mono.Cecil.Cil {
return true;
if (handler.HandlerType == ExceptionHandlerType.Filter
&& IsFatRange (handler.FilterStart, handler.FilterEnd))
&& IsFatRange (handler.FilterStart, handler.HandlerStart))
return true;
}

2
Mono.Cecil/Mono.Cecil.Cil/Document.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

8
Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -40,7 +40,6 @@ namespace Mono.Cecil.Cil { @@ -40,7 +40,6 @@ namespace Mono.Cecil.Cil {
Instruction try_start;
Instruction try_end;
Instruction filter_start;
Instruction filter_end;
Instruction handler_start;
Instruction handler_end;
@ -62,11 +61,6 @@ namespace Mono.Cecil.Cil { @@ -62,11 +61,6 @@ namespace Mono.Cecil.Cil {
set { filter_start = value; }
}
public Instruction FilterEnd {
get { return filter_end; }
set { filter_end = value; }
}
public Instruction HandlerStart {
get { return handler_start; }
set { handler_start = value; }

2
Mono.Cecil/Mono.Cecil.Cil/ILProcessor.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Cil/Instruction.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

549
Mono.Cecil/Mono.Cecil.Cil/OpCode.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -116,7 +116,7 @@ namespace Mono.Cecil.Cil { @@ -116,7 +116,7 @@ namespace Mono.Cecil.Cil {
readonly byte stack_behavior_push;
public string Name {
get { return OpCodeNames.names [op1 == 0xff ? op2 : op2 + 256]; }
get { return OpCodeNames.names [(int) Code]; }
}
public int Size {
@ -132,7 +132,7 @@ namespace Mono.Cecil.Cil { @@ -132,7 +132,7 @@ namespace Mono.Cecil.Cil {
}
public short Value {
get { return (short) ((op1 << 8) | op2); }
get { return op1 == 0xff ? op2 : (short) ((op1 << 8) | op2); }
}
public Code Code {
@ -214,311 +214,242 @@ namespace Mono.Cecil.Cil { @@ -214,311 +214,242 @@ namespace Mono.Cecil.Cil {
static class OpCodeNames {
internal static readonly string [] names = {
"nop",
"break",
"ldarg.0",
"ldarg.1",
"ldarg.2",
"ldarg.3",
"ldloc.0",
"ldloc.1",
"ldloc.2",
"ldloc.3",
"stloc.0",
"stloc.1",
"stloc.2",
"stloc.3",
"ldarg.s",
"ldarga.s",
"starg.s",
"ldloc.s",
"ldloca.s",
"stloc.s",
"ldnull",
"ldc.i4.m1",
"ldc.i4.0",
"ldc.i4.1",
"ldc.i4.2",
"ldc.i4.3",
"ldc.i4.4",
"ldc.i4.5",
"ldc.i4.6",
"ldc.i4.7",
"ldc.i4.8",
"ldc.i4.s",
"ldc.i4",
"ldc.i8",
"ldc.r4",
"ldc.r8",
null,
"dup",
"pop",
"jmp",
"call",
"calli",
"ret",
"br.s",
"brfalse.s",
"brtrue.s",
"beq.s",
"bge.s",
"bgt.s",
"ble.s",
"blt.s",
"bne.un.s",
"bge.un.s",
"bgt.un.s",
"ble.un.s",
"blt.un.s",
"br",
"brfalse",
"brtrue",
"beq",
"bge",
"bgt",
"ble",
"blt",
"bne.un",
"bge.un",
"bgt.un",
"ble.un",
"blt.un",
"switch",
"ldind.i1",
"ldind.u1",
"ldind.i2",
"ldind.u2",
"ldind.i4",
"ldind.u4",
"ldind.i8",
"ldind.i",
"ldind.r4",
"ldind.r8",
"ldind.ref",
"stind.ref",
"stind.i1",
"stind.i2",
"stind.i4",
"stind.i8",
"stind.r4",
"stind.r8",
"add",
"sub",
"mul",
"div",
"div.un",
"rem",
"rem.un",
"and",
"or",
"xor",
"shl",
"shr",
"shr.un",
"neg",
"not",
"conv.i1",
"conv.i2",
"conv.i4",
"conv.i8",
"conv.r4",
"conv.r8",
"conv.u4",
"conv.u8",
"callvirt",
"cpobj",
"ldobj",
"ldstr",
"newobj",
"castclass",
"isinst",
"conv.r.un",
null,
null,
"unbox",
"throw",
"ldfld",
"ldflda",
"stfld",
"ldsfld",
"ldsflda",
"stsfld",
"stobj",
"conv.ovf.i1.un",
"conv.ovf.i2.un",
"conv.ovf.i4.un",
"conv.ovf.i8.un",
"conv.ovf.u1.un",
"conv.ovf.u2.un",
"conv.ovf.u4.un",
"conv.ovf.u8.un",
"conv.ovf.i.un",
"conv.ovf.u.un",
"box",
"newarr",
"ldlen",
"ldelema",
"ldelem.i1",
"ldelem.u1",
"ldelem.i2",
"ldelem.u2",
"ldelem.i4",
"ldelem.u4",
"ldelem.i8",
"ldelem.i",
"ldelem.r4",
"ldelem.r8",
"ldelem.ref",
"stelem.i",
"stelem.i1",
"stelem.i2",
"stelem.i4",
"stelem.i8",
"stelem.r4",
"stelem.r8",
"stelem.ref",
"ldelem.any",
"stelem.any",
"unbox.any",
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"conv.ovf.i1",
"conv.ovf.u1",
"conv.ovf.i2",
"conv.ovf.u2",
"conv.ovf.i4",
"conv.ovf.u4",
"conv.ovf.i8",
"conv.ovf.u8",
null,
null,
null,
null,
null,
null,
null,
"refanyval",
"ckfinite",
null,
null,
"mkrefany",
null,
null,
null,
null,
null,
null,
null,
null,
null,
"ldtoken",
"conv.u2",
"conv.u1",
"conv.i",
"conv.ovf.i",
"conv.ovf.u",
"add.ovf",
"add.ovf.un",
"mul.ovf",
"mul.ovf.un",
"sub.ovf",
"sub.ovf.un",
"endfinally",
"leave",
"leave.s",
"stind.i",
"conv.u",
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"prefix7",
"prefix6",
"prefix5",
"prefix4",
"prefix3",
"prefix2",
"prefix1",
"prefixref",
"arglist",
"ceq",
"cgt",
"cgt.un",
"clt",
"clt.un",
"ldftn",
"ldvirtftn",
null,
"ldarg",
"ldarga",
"starg",
"ldloc",
"ldloca",
"stloc",
"localloc",
null,
"endfilter",
"unaligned.",
"volatile.",
"tail.",
"initobj",
"constrained.",
"cpblk",
"initblk",
"no.", // added by spouliot to match Cecil existing definitions
"rethrow",
null,
"sizeof",
"refanytype",
"readonly.", // added by spouliot to match Cecil existing definitions
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
};
internal static readonly string [] names;
static OpCodeNames ()
{
var table = new byte [] {
3, 110, 111, 112,
5, 98, 114, 101, 97, 107,
7, 108, 100, 97, 114, 103, 46, 48,
7, 108, 100, 97, 114, 103, 46, 49,
7, 108, 100, 97, 114, 103, 46, 50,
7, 108, 100, 97, 114, 103, 46, 51,
7, 108, 100, 108, 111, 99, 46, 48,
7, 108, 100, 108, 111, 99, 46, 49,
7, 108, 100, 108, 111, 99, 46, 50,
7, 108, 100, 108, 111, 99, 46, 51,
7, 115, 116, 108, 111, 99, 46, 48,
7, 115, 116, 108, 111, 99, 46, 49,
7, 115, 116, 108, 111, 99, 46, 50,
7, 115, 116, 108, 111, 99, 46, 51,
7, 108, 100, 97, 114, 103, 46, 115,
8, 108, 100, 97, 114, 103, 97, 46, 115,
7, 115, 116, 97, 114, 103, 46, 115,
7, 108, 100, 108, 111, 99, 46, 115,
8, 108, 100, 108, 111, 99, 97, 46, 115,
7, 115, 116, 108, 111, 99, 46, 115,
6, 108, 100, 110, 117, 108, 108,
9, 108, 100, 99, 46, 105, 52, 46, 109, 49,
8, 108, 100, 99, 46, 105, 52, 46, 48,
8, 108, 100, 99, 46, 105, 52, 46, 49,
8, 108, 100, 99, 46, 105, 52, 46, 50,
8, 108, 100, 99, 46, 105, 52, 46, 51,
8, 108, 100, 99, 46, 105, 52, 46, 52,
8, 108, 100, 99, 46, 105, 52, 46, 53,
8, 108, 100, 99, 46, 105, 52, 46, 54,
8, 108, 100, 99, 46, 105, 52, 46, 55,
8, 108, 100, 99, 46, 105, 52, 46, 56,
8, 108, 100, 99, 46, 105, 52, 46, 115,
6, 108, 100, 99, 46, 105, 52,
6, 108, 100, 99, 46, 105, 56,
6, 108, 100, 99, 46, 114, 52,
6, 108, 100, 99, 46, 114, 56,
3, 100, 117, 112,
3, 112, 111, 112,
3, 106, 109, 112,
4, 99, 97, 108, 108,
5, 99, 97, 108, 108, 105,
3, 114, 101, 116,
4, 98, 114, 46, 115,
9, 98, 114, 102, 97, 108, 115, 101, 46, 115,
8, 98, 114, 116, 114, 117, 101, 46, 115,
5, 98, 101, 113, 46, 115,
5, 98, 103, 101, 46, 115,
5, 98, 103, 116, 46, 115,
5, 98, 108, 101, 46, 115,
5, 98, 108, 116, 46, 115,
8, 98, 110, 101, 46, 117, 110, 46, 115,
8, 98, 103, 101, 46, 117, 110, 46, 115,
8, 98, 103, 116, 46, 117, 110, 46, 115,
8, 98, 108, 101, 46, 117, 110, 46, 115,
8, 98, 108, 116, 46, 117, 110, 46, 115,
2, 98, 114,
7, 98, 114, 102, 97, 108, 115, 101,
6, 98, 114, 116, 114, 117, 101,
3, 98, 101, 113,
3, 98, 103, 101,
3, 98, 103, 116,
3, 98, 108, 101,
3, 98, 108, 116,
6, 98, 110, 101, 46, 117, 110,
6, 98, 103, 101, 46, 117, 110,
6, 98, 103, 116, 46, 117, 110,
6, 98, 108, 101, 46, 117, 110,
6, 98, 108, 116, 46, 117, 110,
6, 115, 119, 105, 116, 99, 104,
8, 108, 100, 105, 110, 100, 46, 105, 49,
8, 108, 100, 105, 110, 100, 46, 117, 49,
8, 108, 100, 105, 110, 100, 46, 105, 50,
8, 108, 100, 105, 110, 100, 46, 117, 50,
8, 108, 100, 105, 110, 100, 46, 105, 52,
8, 108, 100, 105, 110, 100, 46, 117, 52,
8, 108, 100, 105, 110, 100, 46, 105, 56,
7, 108, 100, 105, 110, 100, 46, 105,
8, 108, 100, 105, 110, 100, 46, 114, 52,
8, 108, 100, 105, 110, 100, 46, 114, 56,
9, 108, 100, 105, 110, 100, 46, 114, 101, 102,
9, 115, 116, 105, 110, 100, 46, 114, 101, 102,
8, 115, 116, 105, 110, 100, 46, 105, 49,
8, 115, 116, 105, 110, 100, 46, 105, 50,
8, 115, 116, 105, 110, 100, 46, 105, 52,
8, 115, 116, 105, 110, 100, 46, 105, 56,
8, 115, 116, 105, 110, 100, 46, 114, 52,
8, 115, 116, 105, 110, 100, 46, 114, 56,
3, 97, 100, 100,
3, 115, 117, 98,
3, 109, 117, 108,
3, 100, 105, 118,
6, 100, 105, 118, 46, 117, 110,
3, 114, 101, 109,
6, 114, 101, 109, 46, 117, 110,
3, 97, 110, 100,
2, 111, 114,
3, 120, 111, 114,
3, 115, 104, 108,
3, 115, 104, 114,
6, 115, 104, 114, 46, 117, 110,
3, 110, 101, 103,
3, 110, 111, 116,
7, 99, 111, 110, 118, 46, 105, 49,
7, 99, 111, 110, 118, 46, 105, 50,
7, 99, 111, 110, 118, 46, 105, 52,
7, 99, 111, 110, 118, 46, 105, 56,
7, 99, 111, 110, 118, 46, 114, 52,
7, 99, 111, 110, 118, 46, 114, 56,
7, 99, 111, 110, 118, 46, 117, 52,
7, 99, 111, 110, 118, 46, 117, 56,
8, 99, 97, 108, 108, 118, 105, 114, 116,
5, 99, 112, 111, 98, 106,
5, 108, 100, 111, 98, 106,
5, 108, 100, 115, 116, 114,
6, 110, 101, 119, 111, 98, 106,
9, 99, 97, 115, 116, 99, 108, 97, 115, 115,
6, 105, 115, 105, 110, 115, 116,
9, 99, 111, 110, 118, 46, 114, 46, 117, 110,
5, 117, 110, 98, 111, 120,
5, 116, 104, 114, 111, 119,
5, 108, 100, 102, 108, 100,
6, 108, 100, 102, 108, 100, 97,
5, 115, 116, 102, 108, 100,
6, 108, 100, 115, 102, 108, 100,
7, 108, 100, 115, 102, 108, 100, 97,
6, 115, 116, 115, 102, 108, 100,
5, 115, 116, 111, 98, 106,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 49, 46, 117, 110,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 50, 46, 117, 110,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 52, 46, 117, 110,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 56, 46, 117, 110,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 49, 46, 117, 110,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 50, 46, 117, 110,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 52, 46, 117, 110,
14, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 56, 46, 117, 110,
13, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 46, 117, 110,
13, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 46, 117, 110,
3, 98, 111, 120,
6, 110, 101, 119, 97, 114, 114,
5, 108, 100, 108, 101, 110,
7, 108, 100, 101, 108, 101, 109, 97,
9, 108, 100, 101, 108, 101, 109, 46, 105, 49,
9, 108, 100, 101, 108, 101, 109, 46, 117, 49,
9, 108, 100, 101, 108, 101, 109, 46, 105, 50,
9, 108, 100, 101, 108, 101, 109, 46, 117, 50,
9, 108, 100, 101, 108, 101, 109, 46, 105, 52,
9, 108, 100, 101, 108, 101, 109, 46, 117, 52,
9, 108, 100, 101, 108, 101, 109, 46, 105, 56,
8, 108, 100, 101, 108, 101, 109, 46, 105,
9, 108, 100, 101, 108, 101, 109, 46, 114, 52,
9, 108, 100, 101, 108, 101, 109, 46, 114, 56,
10, 108, 100, 101, 108, 101, 109, 46, 114, 101, 102,
8, 115, 116, 101, 108, 101, 109, 46, 105,
9, 115, 116, 101, 108, 101, 109, 46, 105, 49,
9, 115, 116, 101, 108, 101, 109, 46, 105, 50,
9, 115, 116, 101, 108, 101, 109, 46, 105, 52,
9, 115, 116, 101, 108, 101, 109, 46, 105, 56,
9, 115, 116, 101, 108, 101, 109, 46, 114, 52,
9, 115, 116, 101, 108, 101, 109, 46, 114, 56,
10, 115, 116, 101, 108, 101, 109, 46, 114, 101, 102,
10, 108, 100, 101, 108, 101, 109, 46, 97, 110, 121,
10, 115, 116, 101, 108, 101, 109, 46, 97, 110, 121,
9, 117, 110, 98, 111, 120, 46, 97, 110, 121,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 49,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 49,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 50,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 50,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 52,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 52,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105, 56,
11, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117, 56,
9, 114, 101, 102, 97, 110, 121, 118, 97, 108,
8, 99, 107, 102, 105, 110, 105, 116, 101,
8, 109, 107, 114, 101, 102, 97, 110, 121,
7, 108, 100, 116, 111, 107, 101, 110,
7, 99, 111, 110, 118, 46, 117, 50,
7, 99, 111, 110, 118, 46, 117, 49,
6, 99, 111, 110, 118, 46, 105,
10, 99, 111, 110, 118, 46, 111, 118, 102, 46, 105,
10, 99, 111, 110, 118, 46, 111, 118, 102, 46, 117,
7, 97, 100, 100, 46, 111, 118, 102,
10, 97, 100, 100, 46, 111, 118, 102, 46, 117, 110,
7, 109, 117, 108, 46, 111, 118, 102,
10, 109, 117, 108, 46, 111, 118, 102, 46, 117, 110,
7, 115, 117, 98, 46, 111, 118, 102,
10, 115, 117, 98, 46, 111, 118, 102, 46, 117, 110,
10, 101, 110, 100, 102, 105, 110, 97, 108, 108, 121,
5, 108, 101, 97, 118, 101,
7, 108, 101, 97, 118, 101, 46, 115,
7, 115, 116, 105, 110, 100, 46, 105,
6, 99, 111, 110, 118, 46, 117,
7, 97, 114, 103, 108, 105, 115, 116,
3, 99, 101, 113,
3, 99, 103, 116,
6, 99, 103, 116, 46, 117, 110,
3, 99, 108, 116,
6, 99, 108, 116, 46, 117, 110,
5, 108, 100, 102, 116, 110,
9, 108, 100, 118, 105, 114, 116, 102, 116, 110,
5, 108, 100, 97, 114, 103,
6, 108, 100, 97, 114, 103, 97,
5, 115, 116, 97, 114, 103,
5, 108, 100, 108, 111, 99,
6, 108, 100, 108, 111, 99, 97,
5, 115, 116, 108, 111, 99,
8, 108, 111, 99, 97, 108, 108, 111, 99,
9, 101, 110, 100, 102, 105, 108, 116, 101, 114,
10, 117, 110, 97, 108, 105, 103, 110, 101, 100, 46,
9, 118, 111, 108, 97, 116, 105, 108, 101, 46,
5, 116, 97, 105, 108, 46,
7, 105, 110, 105, 116, 111, 98, 106,
12, 99, 111, 110, 115, 116, 114, 97, 105, 110, 101, 100, 46,
5, 99, 112, 98, 108, 107,
7, 105, 110, 105, 116, 98, 108, 107,
3, 110, 111, 46,
7, 114, 101, 116, 104, 114, 111, 119,
6, 115, 105, 122, 101, 111, 102,
10, 114, 101, 102, 97, 110, 121, 116, 121, 112, 101,
9, 114, 101, 97, 100, 111, 110, 108, 121, 46,
};
names = new string [219];
for (int i = 0, p = 0; i < names.Length; i++) {
var buffer = new char [table [p++]];
for (int j = 0; j < buffer.Length; j++)
buffer [j] = (char) table [p++];
names [i] = new string (buffer);
}
}
}
}

2
Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

9
Mono.Cecil/Mono.Cecil.Cil/Symbols.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -151,10 +151,15 @@ namespace Mono.Cecil.Cil { @@ -151,10 +151,15 @@ namespace Mono.Cecil.Cil {
get { return local_var_token; }
}
public MethodSymbols (string methodName)
internal MethodSymbols (string methodName)
{
this.method_name = methodName;
}
public MethodSymbols (MetadataToken methodToken)
{
this.method_token = methodToken;
}
}
public delegate Instruction InstructionMapper (int offset);

2
Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

4
Mono.Cecil/Mono.Cecil.Metadata/Buffers.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -261,7 +261,7 @@ namespace Mono.Cecil.Metadata { @@ -261,7 +261,7 @@ namespace Mono.Cecil.Metadata {
abstract class HeapBuffer : ByteBuffer {
public bool IsLarge {
get { return base.length > 65536; }
get { return base.length > 65535; }
}
public abstract bool IsEmpty { get; }

2
Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/Heap.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/Row.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/StringHeap.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

52
Mono.Cecil/Mono.Cecil.Metadata/TableHeap.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -62,6 +62,8 @@ namespace Mono.Cecil.Metadata { @@ -62,6 +62,8 @@ namespace Mono.Cecil.Metadata {
TypeSpec = 0x1b,
ImplMap = 0x1c,
FieldRVA = 0x1d,
EncLog = 0x1e,
EncMap = 0x1f,
Assembly = 0x20,
AssemblyProcessor = 0x21,
AssemblyOS = 0x22,
@ -88,53 +90,9 @@ namespace Mono.Cecil.Metadata { @@ -88,53 +90,9 @@ namespace Mono.Cecil.Metadata {
public long Valid;
public long Sorted;
public static readonly Table [] TableIdentifiers = new [] {
Table.Module,
Table.TypeRef,
Table.TypeDef,
Table.FieldPtr,
Table.Field,
Table.MethodPtr,
Table.Method,
Table.ParamPtr,
Table.Param,
Table.InterfaceImpl,
Table.MemberRef,
Table.Constant,
Table.CustomAttribute,
Table.FieldMarshal,
Table.DeclSecurity,
Table.ClassLayout,
Table.FieldLayout,
Table.StandAloneSig,
Table.EventMap,
Table.EventPtr,
Table.Event,
Table.PropertyMap,
Table.PropertyPtr,
Table.Property,
Table.MethodSemantics,
Table.MethodImpl,
Table.ModuleRef,
Table.TypeSpec,
Table.ImplMap,
Table.FieldRVA,
Table.Assembly,
Table.AssemblyProcessor,
Table.AssemblyOS,
Table.AssemblyRef,
Table.AssemblyRefProcessor,
Table.AssemblyRefOS,
Table.File,
Table.ExportedType,
Table.ManifestResource,
Table.NestedClass,
Table.GenericParam,
Table.MethodSpec,
Table.GenericParamConstraint,
};
public const int TableCount = 45;
public readonly TableInformation [] Tables = new TableInformation [45];
public readonly TableInformation [] Tables = new TableInformation [TableCount];
public TableInformation this [Table table] {
get { return Tables [(int) table]; }

2
Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/UserStringHeap.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/BinaryStreamReader.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/BinaryStreamWriter.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/ByteBuffer.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/DataDirectory.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/Image.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

25
Mono.Cecil/Mono.Cecil.PE/ImageReader.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -416,12 +416,11 @@ namespace Mono.Cecil.PE { @@ -416,12 +416,11 @@ namespace Mono.Cecil.PE {
// Sorted 8
heap.Sorted = ReadInt64 ();
for (int i = 0; i < TableHeap.TableIdentifiers.Length; i++) {
var table = TableHeap.TableIdentifiers [i];
if (!heap.HasTable (table))
for (int i = 0; i < TableHeap.TableCount; i++) {
if (!heap.HasTable ((Table) i))
continue;
heap.Tables [(int) table].Length = ReadUInt32 ();
heap.Tables [i].Length = ReadUInt32 ();
}
SetIndexSize (image.StringHeap, sizes, 0x1);
@ -459,8 +458,8 @@ namespace Mono.Cecil.PE { @@ -459,8 +458,8 @@ namespace Mono.Cecil.PE {
var heap = image.TableHeap;
var tables = heap.Tables;
for (int i = 0; i < TableHeap.TableIdentifiers.Length; i++) {
var table = TableHeap.TableIdentifiers [i];
for (int i = 0; i < TableHeap.TableCount; i++) {
var table = (Table) i;
if (!heap.HasTable (table))
continue;
@ -595,6 +594,10 @@ namespace Mono.Cecil.PE { @@ -595,6 +594,10 @@ namespace Mono.Cecil.PE {
size = 4 // RVA
+ GetTableIndexSize (Table.Field); // Field
break;
case Table.EncLog:
case Table.EncMap:
size = 4;
break;
case Table.Assembly:
size = 16 // HashAlgId 4, Version 4 * 2, Flags 4
+ blobidx_size // PublicKey
@ -655,12 +658,10 @@ namespace Mono.Cecil.PE { @@ -655,12 +658,10 @@ namespace Mono.Cecil.PE {
throw new NotSupportedException ();
}
int index = (int) table;
tables [index].RowSize = (uint) size;
tables [index].Offset = offset;
tables [i].RowSize = (uint) size;
tables [i].Offset = offset;
offset += (uint) size * tables [index].Length;
offset += (uint) size * tables [i].Length;
}
}

2
Mono.Cecil/Mono.Cecil.PE/ImageWriter.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/Section.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil.PE/TextMap.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

23
Mono.Cecil/Mono.Cecil.nuspec

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
<?xml version="1.0"?>
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>Mono.Cecil</id>
<version>0.9.4.1</version>
<title>Mono.Cecil</title>
<authors>Jb Evain</authors>
<owners>Jb Evain</owners>
<licenseUrl>http://opensource.org/licenses/mit-license.php</licenseUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<projectUrl>http://github.com/jbevain/cecil/</projectUrl>
<summary>Cecil is a library written by Jb Evain to generate and inspect programs and libraries in the ECMA CIL format.</summary>
<description>Cecil is a library written by Jb Evain to generate and inspect programs and libraries in the ECMA CIL format. It has full support for generics, and support some debugging symbol format. In simple English, with Cecil, you can load existing managed assemblies, browse all the contained types, modify them on the fly and save back to the disk the modified assembly.</description>
<language>en-US</language>
<tags>assembly assemblies module modules il cil msil bytecode reflection injection cecil mono aop</tags>
</metadata>
<files>
<file src="bin\net_2_0_Release\*.dll" target="lib/net20" />
<file src="bin\net_3_5_Release\*.dll" target="lib/net35" />
<file src="bin\net_4_0_Release\*.dll" target="lib/net40" />
<file src="bin\silverlight_Release\*.dll" target="lib/sl40" />
</files>
</package>

2
Mono.Cecil/Mono.Cecil/ArrayType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

4
Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -64,7 +64,7 @@ namespace Mono.Cecil { @@ -64,7 +64,7 @@ namespace Mono.Cecil {
if (main_module.HasImage)
return main_module.Read (ref modules, this, (_, reader) => reader.ReadModules ());
return modules = new Collection<ModuleDefinition> { main_module };
return modules = new Collection<ModuleDefinition> (1) { main_module };
}
}

2
Mono.Cecil/Mono.Cecil/AssemblyFlags.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/AssemblyInfo.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

164
Mono.Cecil/Mono.Cecil/AssemblyReader.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -374,7 +374,7 @@ namespace Mono.Cecil { @@ -374,7 +374,7 @@ namespace Mono.Cecil {
this.image = module.Image;
this.module = module;
this.metadata = module.MetadataSystem;
this.code = CodeReader.CreateCodeReader (this);
this.code = new CodeReader (image.MetadataSection, this);
}
int GetCodedIndexSize (CodedIndex index)
@ -501,7 +501,12 @@ namespace Mono.Cecil { @@ -501,7 +501,12 @@ namespace Mono.Cecil {
PopulateVersionAndFlags (reference);
reference.PublicKeyToken = ReadBlob ();
var key_or_token = ReadBlob ();
if (reference.HasPublicKey)
reference.PublicKey = key_or_token;
else
reference.PublicKeyToken = key_or_token;
PopulateNameAndCulture (reference);
@ -1123,14 +1128,19 @@ namespace Mono.Cecil { @@ -1123,14 +1128,19 @@ namespace Mono.Cecil {
var fields = new MemberDefinitionCollection<FieldDefinition> (type, (int) fields_range.Length);
this.context = type;
MoveTo (Table.Field, fields_range.Start);
for (uint i = 0; i < fields_range.Length; i++)
fields.Add (ReadField (fields_range.Start + i));
if (!MoveTo (Table.FieldPtr, fields_range.Start)) {
if (!MoveTo (Table.Field, fields_range.Start))
return fields;
for (uint i = 0; i < fields_range.Length; i++)
ReadField (fields_range.Start + i, fields);
} else
ReadPointers (Table.FieldPtr, Table.Field, fields_range, fields, ReadField);
return fields;
}
FieldDefinition ReadField (uint field_rid)
void ReadField (uint field_rid, Collection<FieldDefinition> fields)
{
var attributes = (FieldAttributes) ReadUInt16 ();
var name = ReadString ();
@ -1140,7 +1150,10 @@ namespace Mono.Cecil { @@ -1140,7 +1150,10 @@ namespace Mono.Cecil {
field.token = new MetadataToken (TokenType.Field, field_rid);
metadata.AddFieldDefinition (field);
return field;
if (IsDeleted (field))
return;
fields.Add (field);
}
void InitializeFields ()
@ -1308,18 +1321,24 @@ namespace Mono.Cecil { @@ -1308,18 +1321,24 @@ namespace Mono.Cecil {
metadata.RemoveEventsRange (type);
if (range.Length == 0 || !MoveTo (Table.Event, range.Start))
if (range.Length == 0)
return events;
this.context = type;
for (uint i = 0; i < range.Length; i++)
events.Add (ReadEvent (range.Start + i));
if (!MoveTo (Table.EventPtr, range.Start)) {
if (!MoveTo (Table.Event, range.Start))
return events;
for (uint i = 0; i < range.Length; i++)
ReadEvent (range.Start + i, events);
} else
ReadPointers (Table.EventPtr, Table.Event, range, events, ReadEvent);
return events;
}
EventDefinition ReadEvent (uint event_rid)
void ReadEvent (uint event_rid, Collection<EventDefinition> events)
{
var attributes = (EventAttributes) ReadUInt16 ();
var name = ReadString ();
@ -1327,7 +1346,11 @@ namespace Mono.Cecil { @@ -1327,7 +1346,11 @@ namespace Mono.Cecil {
var @event = new EventDefinition (name, attributes, event_type);
@event.token = new MetadataToken (TokenType.Event, event_rid);
return @event;
if (IsDeleted (@event))
return;
events.Add (@event);
}
void InitializeEvents ()
@ -1375,18 +1398,23 @@ namespace Mono.Cecil { @@ -1375,18 +1398,23 @@ namespace Mono.Cecil {
var properties = new MemberDefinitionCollection<PropertyDefinition> (type, (int) range.Length);
if (range.Length == 0 || !MoveTo (Table.Property, range.Start))
if (range.Length == 0)
return properties;
this.context = type;
for (uint i = 0; i < range.Length; i++)
properties.Add (ReadProperty (range.Start + i));
if (!MoveTo (Table.PropertyPtr, range.Start)) {
if (!MoveTo (Table.Property, range.Start))
return properties;
for (uint i = 0; i < range.Length; i++)
ReadProperty (range.Start + i, properties);
} else
ReadPointers (Table.PropertyPtr, Table.Property, range, properties, ReadProperty);
return properties;
}
PropertyDefinition ReadProperty (uint property_rid)
void ReadProperty (uint property_rid, Collection<PropertyDefinition> properties)
{
var attributes = (PropertyAttributes) ReadUInt16 ();
var name = ReadString ();
@ -1408,7 +1436,10 @@ namespace Mono.Cecil { @@ -1408,7 +1436,10 @@ namespace Mono.Cecil {
property.HasThis = has_this;
property.token = new MetadataToken (TokenType.Property, property_rid);
return property;
if (IsDeleted (property))
return;
properties.Add (property);
}
void InitializeProperties ()
@ -1578,14 +1609,36 @@ namespace Mono.Cecil { @@ -1578,14 +1609,36 @@ namespace Mono.Cecil {
return new MemberDefinitionCollection<MethodDefinition> (type);
var methods = new MemberDefinitionCollection<MethodDefinition> (type, (int) methods_range.Length);
if (!MoveTo (Table.MethodPtr, methods_range.Start)) {
if (!MoveTo (Table.Method, methods_range.Start))
return methods;
MoveTo (Table.Method, methods_range.Start);
for (uint i = 0; i < methods_range.Length; i++)
ReadMethod (methods_range.Start + i, methods);
for (uint i = 0; i < methods_range.Length; i++)
ReadMethod (methods_range.Start + i, methods);
} else
ReadPointers (Table.MethodPtr, Table.Method, methods_range, methods, ReadMethod);
return methods;
}
void ReadPointers<TMember> (Table ptr, Table table, Range range, Collection<TMember> members, Action<uint, Collection<TMember>> reader)
where TMember : IMemberDefinition
{
for (uint i = 0; i < range.Length; i++) {
MoveTo (ptr, range.Start + i);
var rid = ReadTableIndex (table);
MoveTo (table, rid);
reader (rid, members);
}
}
static bool IsDeleted (IMemberDefinition member)
{
return member.IsSpecialName && member.Name == "_Deleted";
}
void InitializeMethods ()
{
if (metadata.Methods != null)
@ -1603,6 +1656,9 @@ namespace Mono.Cecil { @@ -1603,6 +1656,9 @@ namespace Mono.Cecil {
method.Name = ReadString ();
method.token = new MetadataToken (TokenType.Method, method_rid);
if (IsDeleted (method))
return;
methods.Add (method); // attach method
var signature = ReadBlobIndex ();
@ -1623,22 +1679,44 @@ namespace Mono.Cecil { @@ -1623,22 +1679,44 @@ namespace Mono.Cecil {
void ReadParameters (MethodDefinition method, Range param_range)
{
MoveTo (Table.Param, param_range.Start);
for (uint i = 0; i < param_range.Length; i++) {
var attributes = (ParameterAttributes) ReadUInt16 ();
var sequence = ReadUInt16 ();
var name = ReadString ();
if (!MoveTo (Table.ParamPtr, param_range.Start)) {
if (!MoveTo (Table.Param, param_range.Start))
return;
for (uint i = 0; i < param_range.Length; i++)
ReadParameter (param_range.Start + i, method);
} else
ReadParameterPointers (method, param_range);
}
void ReadParameterPointers (MethodDefinition method, Range range)
{
for (uint i = 0; i < range.Length; i++) {
MoveTo (Table.ParamPtr, range.Start + i);
var rid = ReadTableIndex (Table.Param);
var parameter = sequence == 0
? method.MethodReturnType.Parameter
: method.Parameters [sequence - 1];
MoveTo (Table.Param, rid);
parameter.token = new MetadataToken (TokenType.Param, param_range.Start + i);
parameter.Name = name;
parameter.Attributes = attributes;
ReadParameter (rid, method);
}
}
void ReadParameter (uint param_rid, MethodDefinition method)
{
var attributes = (ParameterAttributes) ReadUInt16 ();
var sequence = ReadUInt16 ();
var name = ReadString ();
var parameter = sequence == 0
? method.MethodReturnType.Parameter
: method.Parameters [sequence - 1];
parameter.token = new MetadataToken (TokenType.Param, param_rid);
parameter.Name = name;
parameter.Attributes = attributes;
}
void ReadMethodSignature (uint signature, IMethodSignature method)
{
var reader = ReadSignature (signature);
@ -1765,7 +1843,7 @@ namespace Mono.Cecil { @@ -1765,7 +1843,7 @@ namespace Mono.Cecil {
range.Length++;
}
if (owner != MetadataToken.Zero)
if (owner != MetadataToken.Zero && !ranges.ContainsKey (owner))
ranges.Add (owner, range);
return ranges;
@ -2398,7 +2476,7 @@ namespace Mono.Cecil { @@ -2398,7 +2476,7 @@ namespace Mono.Cecil {
return;
}
reader.ReadByte ();
reader.position++;
var count = reader.ReadCompressedUInt32 ();
var attributes = new Collection<SecurityAttribute> ((int) count);
@ -2705,9 +2783,21 @@ namespace Mono.Cecil { @@ -2705,9 +2783,21 @@ namespace Mono.Cecil {
public void ReadMethodSignature (IMethodSignature method)
{
var calling_convention = ReadByte ();
const byte has_this = 0x20;
const byte explicit_this = 0x40;
if ((calling_convention & has_this) != 0) {
method.HasThis = true;
calling_convention = (byte) (calling_convention & ~has_this);
}
if ((calling_convention & explicit_this) != 0) {
method.ExplicitThis = true;
calling_convention = (byte) (calling_convention & ~explicit_this);
}
method.CallingConvention = (MethodCallingConvention) calling_convention;
method.HasThis = (calling_convention & 0x20) != 0;
method.ExplicitThis = (calling_convention & 0x40) != 0;
var generic_context = method as MethodReference;
if (generic_context != null)
@ -2720,8 +2810,6 @@ namespace Mono.Cecil { @@ -2720,8 +2810,6 @@ namespace Mono.Cecil {
CheckGenericContext (generic_context, (int) arity -1 );
}
// TODO: more call_conv
var param_count = ReadCompressedUInt32 ();
method.MethodReturnType.ReturnType = ReadTypeSignature ();

67
Mono.Cecil/Mono.Cecil/AssemblyWriter.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -1932,21 +1932,13 @@ namespace Mono.Cecil { @@ -1932,21 +1932,13 @@ namespace Mono.Cecil {
SignatureWriter GetSecurityDeclarationSignature (SecurityDeclaration declaration)
{
var signature = CreateSignatureWriter ();
if (!declaration.resolved) {
signature.WriteBytes (declaration.GetBlob ());
return signature;
}
signature.WriteByte ((byte) '.');
var attributes = declaration.security_attributes;
if (attributes == null)
throw new NotSupportedException ();
signature.WriteCompressedUInt32 ((uint) attributes.Count);
for (int i = 0; i < attributes.Count; i++)
signature.WriteSecurityAttribute (attributes [i]);
if (!declaration.resolved)
signature.WriteBytes (declaration.GetBlob ());
else if (module.Runtime < TargetRuntime.Net_2_0)
signature.WriteXmlSecurityDeclaration (declaration);
else
signature.WriteSecurityDeclaration (declaration);
return signature;
}
@ -2449,7 +2441,7 @@ namespace Mono.Cecil { @@ -2449,7 +2441,7 @@ namespace Mono.Cecil {
WriteCustomAttributeFixedArgument (argument.Type, argument);
}
public void WriteSecurityAttribute (SecurityAttribute attribute)
void WriteSecurityAttribute (SecurityAttribute attribute)
{
WriteTypeReference (attribute.AttributeType);
@ -2469,6 +2461,49 @@ namespace Mono.Cecil { @@ -2469,6 +2461,49 @@ namespace Mono.Cecil {
WriteBytes (buffer);
}
public void WriteSecurityDeclaration (SecurityDeclaration declaration)
{
WriteByte ((byte) '.');
var attributes = declaration.security_attributes;
if (attributes == null)
throw new NotSupportedException ();
WriteCompressedUInt32 ((uint) attributes.Count);
for (int i = 0; i < attributes.Count; i++)
WriteSecurityAttribute (attributes [i]);
}
public void WriteXmlSecurityDeclaration (SecurityDeclaration declaration)
{
var xml = GetXmlSecurityDeclaration (declaration);
if (xml == null)
throw new NotSupportedException ();
WriteBytes (Encoding.Unicode.GetBytes (xml));
}
static string GetXmlSecurityDeclaration (SecurityDeclaration declaration)
{
if (declaration.security_attributes == null || declaration.security_attributes.Count != 1)
return null;
var attribute = declaration.security_attributes [0];
if (!attribute.AttributeType.IsTypeOf ("System.Security.Permissions", "PermissionSetAttribute"))
return null;
if (attribute.properties == null || attribute.properties.Count != 1)
return null;
var property = attribute.properties [0];
if (property.Name != "XML")
return null;
return (string) property.Argument.Value;
}
void WriteTypeReference (TypeReference type)
{
WriteUTF8String (TypeParser.ToParseable (type));

19
Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -51,6 +51,21 @@ namespace Mono.Cecil { @@ -51,6 +51,21 @@ namespace Mono.Cecil {
}
}
public class AssemblyResolutionException : FileNotFoundException {
readonly AssemblyNameReference reference;
public AssemblyNameReference AssemblyReference {
get { return reference; }
}
public AssemblyResolutionException (AssemblyNameReference reference)
: base (string.Format ("Failed to resolve assembly: '{0}'", reference))
{
this.reference = reference;
}
}
public abstract class BaseAssemblyResolver : IAssemblyResolver {
static readonly bool on_mono = Type.GetType ("Mono.Runtime") != null;
@ -152,7 +167,7 @@ namespace Mono.Cecil { @@ -152,7 +167,7 @@ namespace Mono.Cecil {
return assembly;
}
throw new FileNotFoundException ("Could not resolve: " + name);
throw new AssemblyResolutionException (name);
}
AssemblyDefinition SearchDirectory (AssemblyNameReference name, IEnumerable<string> directories, ReaderParameters parameters)

84
Mono.Cecil/Mono.Cecil/CallSite.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -29,11 +29,70 @@ @@ -29,11 +29,70 @@
using System;
using System.Text;
using Mono.Collections.Generic;
namespace Mono.Cecil {
public sealed class CallSite : MethodReference {
public sealed class CallSite : IMethodSignature {
readonly MethodReference signature;
public override string FullName {
public bool HasThis {
get { return signature.HasThis; }
set { signature.HasThis = value; }
}
public bool ExplicitThis {
get { return signature.ExplicitThis; }
set { signature.ExplicitThis = value; }
}
public MethodCallingConvention CallingConvention {
get { return signature.CallingConvention; }
set { signature.CallingConvention = value; }
}
public bool HasParameters {
get { return signature.HasParameters; }
}
public Collection<ParameterDefinition> Parameters {
get { return signature.Parameters; }
}
public TypeReference ReturnType {
get { return signature.MethodReturnType.ReturnType; }
set { signature.MethodReturnType.ReturnType = value; }
}
public MethodReturnType MethodReturnType {
get { return signature.MethodReturnType; }
}
public string Name {
get { return string.Empty; }
set { throw new InvalidOperationException (); }
}
public string Namespace {
get { return string.Empty; }
set { throw new InvalidOperationException (); }
}
public ModuleDefinition Module {
get { return ReturnType.Module; }
}
public IMetadataScope Scope {
get { return signature.ReturnType.Scope; }
}
public MetadataToken MetadataToken {
get { return signature.token; }
set { signature.token = value; }
}
public string FullName {
get {
var signature = new StringBuilder ();
signature.Append (ReturnType.FullName);
@ -42,13 +101,24 @@ namespace Mono.Cecil { @@ -42,13 +101,24 @@ namespace Mono.Cecil {
}
}
public override ModuleDefinition Module {
get { return ReturnType.Module; }
internal CallSite ()
{
this.signature = new MethodReference ();
this.signature.token = new MetadataToken (TokenType.Signature, 0);
}
public CallSite (TypeReference returnType)
: this ()
{
if (returnType == null)
throw new ArgumentNullException ("returnType");
this.signature.ReturnType = returnType;
}
public override MethodDefinition Resolve ()
public override string ToString ()
{
return null;
return FullName;
}
}
}

2
Mono.Cecil/Mono.Cecil/CustomAttribute.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/EmbeddedResource.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/EventAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/EventDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/EventReference.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/ExportedType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/FieldAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/FieldDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/FieldReference.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/FileAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/FunctionPointerType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

9
Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -42,12 +42,7 @@ namespace Mono.Cecil { @@ -42,12 +42,7 @@ namespace Mono.Cecil {
}
public Collection<TypeReference> GenericArguments {
get {
if (arguments == null)
arguments = new Collection<TypeReference> ();
return arguments;
}
get { return arguments ?? (arguments = new Collection<TypeReference> ()); }
}
public override bool IsGenericInstance {

9
Mono.Cecil/Mono.Cecil/GenericInstanceType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -44,12 +44,7 @@ namespace Mono.Cecil { @@ -44,12 +44,7 @@ namespace Mono.Cecil {
}
public Collection<TypeReference> GenericArguments {
get {
if (arguments == null)
arguments = new Collection<TypeReference> ();
return arguments;
}
get { return arguments ?? (arguments = new Collection<TypeReference> ()); }
}
public override TypeReference DeclaringType {

6
Mono.Cecil/Mono.Cecil/GenericParameter.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -97,10 +97,6 @@ namespace Mono.Cecil { @@ -97,10 +97,6 @@ namespace Mono.Cecil {
get { return custom_attributes ?? (this.GetCustomAttributes (ref custom_attributes, Module)); }
}
internal new bool HasImage {
get { return Module != null && Module.HasImage; }
}
public override IMetadataScope Scope {
get {
if (owner.GenericParameterType == GenericParameterType.Method)

2
Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IConstantProvider.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IGenericInstance.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IMarshalInfoProvider.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IMemberDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IMetadataScope.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/IMethodSignature.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/Import.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/LinkedResource.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MarshalInfo.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MemberDefinitionCollection.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MemberReference.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

27
Mono.Cecil/Mono.Cecil/MetadataResolver.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -206,6 +206,12 @@ namespace Mono.Cecil { @@ -206,6 +206,12 @@ namespace Mono.Cecil {
if (method.Name != reference.Name)
continue;
if (method.HasGenericParameters != reference.HasGenericParameters)
continue;
if (method.HasGenericParameters && method.GenericParameters.Count != reference.GenericParameters.Count)
continue;
if (!AreSame (method.ReturnType, reference.ReturnType))
continue;
@ -275,12 +281,6 @@ namespace Mono.Cecil { @@ -275,12 +281,6 @@ namespace Mono.Cecil {
static bool AreSame (GenericInstanceType a, GenericInstanceType b)
{
if (!a.HasGenericArguments)
return !b.HasGenericArguments;
if (!b.HasGenericArguments)
return false;
if (a.GenericArguments.Count != b.GenericArguments.Count)
return false;
@ -298,6 +298,12 @@ namespace Mono.Cecil { @@ -298,6 +298,12 @@ namespace Mono.Cecil {
static bool AreSame (TypeReference a, TypeReference b)
{
if (ReferenceEquals (a, b))
return true;
if (a == null || b == null)
return false;
if (a.etype != b.etype)
return false;
@ -307,7 +313,12 @@ namespace Mono.Cecil { @@ -307,7 +313,12 @@ namespace Mono.Cecil {
if (a.IsTypeSpecification ())
return AreSame ((TypeSpecification) a, (TypeSpecification) b);
return a.FullName == b.FullName;
if (a.Name != b.Name || a.Namespace != b.Namespace)
return false;
//TODO: check scope
return AreSame (a.DeclaringType, b.DeclaringType);
}
}
}

2
Mono.Cecil/Mono.Cecil/MetadataSystem.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodReference.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodReturnType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/MethodSpecification.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/Modifiers.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

13
Mono.Cecil/Mono.Cecil/ModuleDefinition.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@ -447,7 +447,7 @@ namespace Mono.Cecil { @@ -447,7 +447,7 @@ namespace Mono.Cecil {
if (!HasImage)
return false;
return Read (this, (_, reader) => reader.GetTypeReference (scope, fullName) != null);
return GetTypeReference (scope, fullName) != null;
}
public bool TryGetTypeReference (string fullName, out TypeReference type)
@ -464,7 +464,12 @@ namespace Mono.Cecil { @@ -464,7 +464,12 @@ namespace Mono.Cecil {
return false;
}
return (type = Read (this, (_, reader) => reader.GetTypeReference (scope, fullName))) != null;
return (type = GetTypeReference (scope, fullName)) != null;
}
TypeReference GetTypeReference (string scope, string fullname)
{
return Read (new Row<string, string> (scope, fullname), (row, reader) => reader.GetTypeReference (row.Col1, row.Col2));
}
public IEnumerable<TypeReference> GetTypeReferences ()
@ -763,7 +768,7 @@ namespace Mono.Cecil { @@ -763,7 +768,7 @@ namespace Mono.Cecil {
public IMetadataTokenProvider LookupToken (MetadataToken token)
{
return Read (this, (_, reader) => reader.LookupToken (token));
return Read (token, (t, reader) => reader.LookupToken (t));
}
readonly object module_lock = new object();

2
Mono.Cecil/Mono.Cecil/ModuleKind.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/ModuleReference.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/NativeType.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/PInvokeInfo.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

2
Mono.Cecil/Mono.Cecil/ParameterAttributes.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2010 Jb Evain
// Copyright (c) 2008 - 2011 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save