Implemented a couple of async methods in InstanceContext as well as disposing.
[mono.git] / mcs / class / Mono.Cecil / NOTES.txt
1 namespaces:
2
3         Mono.Cecil.Binary: deleted,
4         Mono.Cecil.Metadata: metadata table/rows: deleted.
5
6 collections:
7
8         * Cecil now only exposes Collection of T as a public collection API.
9
10 types:
11
12 Mono.Cecil
13
14         - AssemblyFactory:
15                 Use static Read methods on ModuleDefinition and AssemblyDefinition
16                 to get them.
17
18         + ReadingMode:
19                 specifies if the assembly is either loaded in a deffered
20                 or immediate fashion.
21
22         + ReaderParameters
23                 + ReadingMode
24                 + ISymbolReaderProvider
25
26         + WriterParameters
27                 + ISymbolWriterProvider
28
29         * AssemblyDefinition:
30
31                         * Runtime, Kind: moved to ModuleDefiniton
32
33         * ModuleDefinition:
34
35                 properties:
36
37                         - Image
38                         - MemberReferences
39                         - TypeReferences
40                         - ExternTypes
41
42                         * Main -> IsMain. (set removed) : bool
43                         + FullyQualifiedName : string
44                         + Kind : ModuleKind
45                         + Runtime : TargetRuntime
46                         + Architecture : TargetArchitecture
47                         + Attributes : ModuleAttributes
48                         + HasSymbols : bool
49                         + HasExportedTypes : bool
50                         + ExportedTypes : ExportedTypeCollection
51
52                         * Types: doesn't contain NestedTypes anymore.
53
54         - AssemblyKind:
55                 renamed to ModuleKind.
56
57         + ModuleKind:
58                 + NetModule
59
60         + TargetArchitecture:
61                 + I386
62                 + AMD64
63                 + IA64
64
65         + ModuleAttributes:
66                 + ILOnly
67                 + Required32Bit
68                 + StrongNameSigned
69
70         * FieldDefinition:
71
72                 * RVA : int
73
74         * IMethodSignature:
75                 * ReturnType : TypeReference
76                 + MethodReturnType : MethodReturnType
77
78         * TypeDefinition:
79                 - HasConstructors
80                 - Constructors
81                 * ctor: swapped namespace and name parameter.
82
83         * ParameterDefinition:
84                 * Method : IMethodSignature
85                 * Sequence -> Index : int (0 based instead of 1)
86
87         * ArrayType:
88                 * IsSizedArray -> IsVector : bool
89
90         * IHasConstant -> IConstantProvider
91         * IHasSecurity -> ISecurityDeclarationProvider
92         * IHasMarshal -> IMarshalInfoProvider
93
94         * MemberReference
95                 + Module : ModuleDefinition
96
97         * MethodDefinition:
98                 - This: moved to MethodBody
99                 + HasPInvokeInfo : bool
100
101         * PInvokeInfo:
102                 - Method
103
104         * MarshalSpec -> MarshalInfo
105
106         - ModType
107
108         * ModifierRequiredType -> RequiredModifierType
109         * ModifierOptionalType -> OptionalModifierType
110         * ReferenceType -> ByReferenceType
111
112         * TypeReference
113                 + IsArray : bool
114                 + IsPointer : bool
115                 + IsByReference : bool
116                 + IsRequiredModifier : bool
117                 + IsOptionalModifier : bool
118                 + IsSentinel : bool
119                 + IsGenericInstance : bool
120                 + IsGenericParameter : bool
121                 + IsPinned : bool
122                 + IsFunctionPointer : bool
123                 + IsDefinition : bool
124
125                 * GetOriginalType -> GetElementType
126                 * ctor: swapped namespace and name parameter.
127
128         * MethodReference
129                 + IsGenericInstance : bool
130                 + IsDefinition : bool
131
132                 * GetOriginalMethod -> GetElementMethod
133
134         * FieldReference
135                 + IsDefinition : bool
136
137         + CustomAttributeArgument
138                 + Type : TypeReference
139                 + Value : object
140
141         * CustomAttribute
142                 * ConstructorParameters -> ConstructorArguments : CustomAttributeArgumentCollection
143                 * Properties : CustomAttributeNamedArgumentCollection
144                 * Fields : CustomAttributeNamedArgumentCollection
145
146         * SecurityDeclaration
147                 - PermissionSet
148                 + SecurityAttributes : SecurityAttributeCollection
149
150         + SecurityAttribute
151                 + AttributeType : TypeReference
152                 + Fields : CustomAttributeNamedArgumentCollection
153                 + Properties : CustomAttributeNamedArgumentCollection
154
155         * IMetadataScope
156                 + MetadataScopeType
157
158         + MetadataScopeType
159                 + AssemblyNameReference
160                 + ModuleDefinition
161                 + ModuleReference
162
163 Mono.Cecil.Cil:
164
165         * ExceptionHandler
166                 * Type -> HandlerType : TypeReference
167
168         * VariableDefinition
169                 - Method
170
171         * Document* : from Guid to enums, the reader/writers are responsible for assigning them.
172
173         * MethodBody
174                 * LocalVarToken : MetadataToken
175                 * MaxStack -> MaxStackSize : int
176                 + ThisParameter: from MethodDefinition
177
178         * OperandType
179                 * ShortInlineParam : ShortInlineArg
180                 * InlineParam : InlineArg
181
182         * CilWorker -> ILProcessor
183
184 TODO:
185
186         * Mono.Cecil.Rocks
187                 * ILGenerator
188
189         * HOWTOs