Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ChangeLog « Gendarme.Framework.Rocks « framework « gendarme - github.com/mono/mono-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6fbff8fc47c98fe5bf643729293f8eab6fe9d646 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
2009-01-28  Jb Evain  <jbevain@novell.com>

	* TypeRocks.cs: Resolve: remove. Implements: handle types
	with a null BaseType.
	* MethodRocks.cs: Resolve: remove. IsOverride: handle types
	with a null BaseType.
	* FieldRocks.cs: remove Resolve.

2008-12-30  Sebastien Pouliot  <sebastien@ximian.com>

	* MethodRocks.cs (IsProperty, IsVisible): Check that resolved method
	is non null before continuing. Based on patch from Tamara Roberson.
	[partial fix for #462925]

2008-12-01  Sebastien Pouliot  <sebastien@ximian.com>

	* CustomAttributeRocks.cs: Use HasCustomAttributes
	* InstructionRocks.cs: Use HasParameters
	* MethodRocks.cs: Use HasConstraints and HasParameters
	* TypeRocks.cs: Use HasInterfaces, HasParameters, HasMethods and
	HasConstructors.

2008-11-29  Sebastien Pouliot  <sebastien@ximian.com>

	* FieldRocks.cs: Use HasCustomAttributes in IsGeneratedCode. Handle
	unresolvable fields in IsVisible.
	* MethodRocks.cs: Use HasCustomAttributes in IsGeneratedCode. Use
	HasParameters in IsEventCallback.
	* TypeRocks.cs: Use HasCustomAttributes in IsGeneratedCode. Handle
	unresolvable fields in IsFlag.

2008-11-19  Sebastien Pouliot  <sebastien@ximian.com>

	* TypeRocks.cs: Make GetMethod smarter and check only the methods
	or the constructors when possible. Split Implements in two parts
	to remove some checks when recursion is needed. Also avoid recursion
	for checking the base types. Add IsPrimitive rock.

2008-11-11  Sebastien Pouliot  <sebastien@ximian.com>

	* ModuleRocks.cs: Change the catch-all for a catch(FormatException)
	since Cecil has been fixed on HEAD.

2008-11-09  Sebastien Pouliot  <sebastien@ximian.com>

	* MethodRocks.cs: Make IsEventCallback safe if the method cannot be
	resolved.

2008-11-08  Sebastien Pouliot  <sebastien@ximian.com>

	* MethodRocks.cs: Fix IsEventCallback to work with generic TEventArgs

2008-11-02  Jesse Jones  <jesjones@mindspring.com>

	* InstructionRocks.cs: Fixed TraceBack so that it only goes back
	if the stack is non empty (the old code had problems with nullary
	static methods for example).

2008-11-02  Sebastien Pouliot  <sebastien@ximian.com>

	* ModuleRocks.cs: Add a catch-all since we can't catch the
	MonoSymbolFileException throw for earlier version of the MDB
	debugging symbols.

2008-10-26  Sebastien Pouliot  <sebastien@ximian.com>

	* CommonRocks.cs: Add Version.IsEmpty() rock

2008-10-25  Cedric Vivier <cedricv@neonux.com>

	* TypeRocks.cs: Make Implements() look at parent interfaces too.
	This avoid false negatives on assemblies generated by compilers
	which do not explicitely list interfaces implemented by inheritance
	(such as booc).

2008-10-12  Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: Simplify GetField by using OperandType.
	Simplify getting a FieldType in GetOperandType since there is no
	need to resolve the field into a FieldDefinition.

2008-10-11  Sebastien Pouliot  <sebastien@ximian.com> 

	* InstructionRocks.cs: Handle 'this' correctly in GetOperandType 
	rock. Add new rock to check for an operand loading the constant zero.

2008-10-11  Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: Add GetOperandType rock to be able, quickly,
	to determine on which type an instruction works.

2008-10-05  Sebastien Pouliot  <sebastien@ximian.com>

	* MethodRocks.cs: Add IsOverride rock.

2008-08-28  Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: Simplify some rocks (Is*) by using the new
	OpCodeBitmask helper class.

2008-08-27  Sebastien Pouliot  <sebastien@ximian.com>

	* AssemblyRocks.cs: Remove HasAttribute
	* CustomAttributeRocks.cs: Add HasAttribute extension method on 
	ICustomAttributeProvider
	* FieldRocks.cs: Remove HasAttribute
	* MethodRocks.cs: Remove HasAttribute
	* TypeRocks.cs: Remove HasAttribute

2008-08-26  Sebastien Pouliot  <sebastien@ximian.com> 

	* TypeRocks.cs: Fix parameter type comparison wrt generics.

2008-08-03  Sebastien Pouliot  <sebastien@ximian.com> 

	* InstructionRocks.cs: Add an overload to TraceBack that accept an
	offset. This makes it easier to find all parameters to a method call.

2008-07-24  Sebastien Pouliot  <sebastien@ximian.com>

	* ModuleRocks.cs: Exit early from LoadDebuggingSymbols if the symbols
	are already loaded (i.e. the reader was created). This avoid an 
	exception for the wizard since this is called each time a new analysis
	is performed (without the need to reload the assemblies).

2008-07-15  Nestor Salceda  <nestor.salceda@gmail.com>

	* ModuleRocks.cs: Look up the Mono.Cecil.Mdb.dll in the GAC if can't be
	found in the current folder.

2008-07-12  Sebastien Pouliot  <sebastien@ximian.com>

	* TypeRocks.cs: Added IsStatic for static types (2.0+). Fixed 
	IsVisible to work when resolving is required (or not possible).

2008-07-12  Sebastien Pouliot  <sebastien@ximian.com> 

	* InstructionRocks.cs: Change GetOperand to case Ldc_I4_S to an
	integer before returing it since it simplify the rules, e.g. when
	the value is used in a collection.

2008-07-07  Sebastien Pouliot  <sebastien@ximian.com>

	* CommonRocks.cs: Change rocks from IList<T> to ICollection<T> 
	since they will be more useful this way.
	* TypeRocks.cs: Avoid exceptions when a Resolve call fails.
	IsDelegate fix by Cedric Vivier.

2008-07-05  Sebastien Pouliot  <sebastien@ximian.com> 

	* InstructionRocks.cs: Add a special case for PopAll so we can
	abort the track back (without an exception). Fix XML documentation
	warning.

2008-07-05  Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: Add IsLoadElement, IsLoadIndirect and
	TraceBack rocks.

2008-06-29  Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: Change GetOperand to return a 
	TypeReference when "this" (ldarg_0 in an instance method) is 
	found.

2008-06-23  Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: Add GetParameter, IsLoadArgument and 
	IsStoreArgument rocks. Move GetPopCount and GetPushCount from 
	StackEntryAnalysis.

2008-06-15  Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: Add GetOperand rock to simplify the analysis
	of macro instructions.

2008-06-14 Sebastien Pouliot  <sebastien@ximian.com>

	* InstructionRocks.cs: New. Extension methods for Instruction.

2008-05-17 Sebastien Pouliot  <sebastien@ximian.com>

	* ModuleRocks.cs: New. Extension methods for ModuleDefinition.

2008-04-27 Jb Evain  <jbevain@novell.com>

	* MethodRocks.cs: Add a IsEventCallback method rock. Used
	to detect methods whose signature are of the form:
	void Method (object sender, EventArgs ea).

2008-03-30 Sebastien Pouliot  <sebastien@ximian.com>

	* TypeRocks.cs: Handle generic interfaces in Implements.

2008-03-30 Sebastien Pouliot  <sebastien@ximian.com> 

	* TypeRocks.cs: Don't break but continue if parameters don't match.
	There could be a matching overload just waiting to be found.

2008-03-16  Sebastien Pouliot  <sebastien@ximian.com> 

	* TypeRocks.cs: Add null check in Resolve.

2008-03-04  Sebastien Pouliot  <sebastien@ximian.com> 

	* TypeRocks.cs: Add Contains[Any]Type method extentions for 
	TypeReferenceCollection

2008-02-15  Sebastien Pouliot  <sebastien@ximian.com> 

	* AssemblyRocks.cs: Add References rock.
	* CommonRocks.cs: Add AddRangeIfNew<T> rock.
	* TypeRocks.cs: re-enable Gendarme.Framework.Helpers

2008-02-14  Sebastien Pouliot  <sebastien@ximian.com> 

	* FieldRocks.cs: Add Resolve (FieldReference to FieldDefinition) and
	change other rocks to accept FieldReference (and Resolve themselves).
	* MethodRocks.cs: Add Resolve (MethodReference to MethodDefinition) 
	and change other rocks to accept MethodReference (and Resolve 
	themselves).
	* TypeRocks.cs: Add Resolve (TypeReference to TypeDefinition) and
	change other rocks to accept TypeReference (and Resolve themselves).

2008-02-14  Sebastien Pouliot  <sebastien@ximian.com>

	* CecilRocks.cs: New. Shared rocks on other Cecil types 
	(IMetadataTokenProviderRock).
	* CustomAttributeRocks.cs: Fix exception argument.
	* TypeRocks.cs: Added AllMethods to return an IEnumerable with
	all methods *and* constructors. Fixed GetMethod methods to use it.
	Add IsDelegate.

2008-02-07  Sebastien Pouliot  <sebastien@ximian.com>

	* MethodRocks.cs: Remove IsGetter and IsSetter since they are now 
	properties in Cecil (SVH HEAD) and break the build.
	* TypeRocks.cs: Remove obsoleted GetFinalizer since Nestor fixed all
	their uses in the rules.

2008-02-06  Sebastien Pouliot  <sebastien@ximian.com>

	* TypeRocks.cs: IsAttribute now works on a TypeReference. Fix 
	IsVisible documentation (it needs a TypeDefinition). Rework 
	IsGeneratedCode to ensure it catch the <Module> type (which is not
	marked with an attribute).

2008-01-30  Sebastien Pouliot  <sebastien@ximian.com>

	* CommonRocks.cs: New. Shared but not Gendarme/Cecil specific rocks.
	ListRocks by Andreas Noever.

2008-01-21  Sebastien Pouliot  <sebastien@ximian.com> 

	* FieldRocks.cs: Add IsVisible rock [Andreas Noever]
	* MethodRocks.cs: Add IsVisible rock [Andreas Noever]
	* TypeRocks.cs: Add IsVisible rock [Andreas Noever]

2008-01-19  Sebastien Pouliot  <sebastien@ximian.com> 

	* TypeRocks.cs: Handle nested types in IsGeneratedCode for all
	framework versions.

2008-01-18  Sebastien Pouliot  <sebastien@ximian.com> 

	* TypeRocks.cs: Add [Get|Has]Method rocks from Andreas Noever. Mark
	GetFinalizer as obsolete (will be removed soon).

2008-01-13  Sebastien Pouliot  <sebastien@ximian.com> 

	* MethodRocks.cs: Add IsFinalizer [Daniel Abramov]
	* TypeRocks.cs: Rework GetFinalizer to use MethodRocks.IsFinalizer

2008-01-13  Sebastien Pouliot  <sebastien@ximian.com>

	* TypeRocks.cs: Add IsNative [Andreas Noever]

2008-01-12  Sebastien Pouliot  <sebastien@ximian.com>

	* TypeRocks.cs: Add IsFloatingPoint rock and update IsGeneratedCode
	to deal with code compiled before 2.0

2008-01-05  Sebastien Pouliot  <sebastien@ximian.com>

	* AssemblyRocks.cs: Rename calls to Contains[Any] -> Contains[Any]Type
	* CustomAttributeRocks.cs: Rename Contains to ContainsType (and
	ContainsAny to ContainsAnyType) to avoid an extension methods that
	would also be an overload to a Cecil method (revert JB's confusion ;-)
	* FieldRocks.cs: New. Extension methods for Cecil's FieldDefinition
	class.
	* MethodRocks.cs: Rename calls to Contains[Any] -> Contains[Any]Type
	* TypeRocks.cs: Rename calls to Contains[Any] -> Contains[Any]Type

2008-01-04  Sebastien Pouliot  <sebastien@ximian.com>

	* AssemblyRocks.cs: New. Extension methods for Cecil's 
	AssemblyDefinition class.
	* CustomAttributeRocks.cs: Add ContainsAny method that checks if 
	any of the specified attributes are present in the collection.
	* MethodRocks.cs: Replace IsCompilerGenerated by the more general
	IsGeneratedCode, which check for two similar attributes and also 
	checks if the type was generated.
	* TypeRocks.cs: Add GetFinalizer to return the type finalizer (if 
	any). Add IsGeneratedCode (similar to MethodRocks). Change 
	HasAttribute to work on a TypeReference (instead of TypeDefinition)

2008-01-02  Sebastien Pouliot  <sebastien@ximian.com> 

	* MethodRocks.cs: Added IsArray extension method (based on code 
	from Adrian Tsai).
	* TypeRocks.cs: Added IsAttribute and Inherits extensions methods
	(based on code from Daniel Abramov) and IsProperty (based on code
	from Adrian Tsai).

2007-12-26  Sebastien Pouliot  <sebastien@ximian.com> 

	* CustomAttributeRocks.cs: New. Extension methods for Cecil's 
	CustomAttribute[Collection] classes.
	* MethodRocks.cs: New. Extension methods for Cecil's 
	Method[Reference|Definition][Collection] classes.
	* TypeRocks.cs: New. Extension methods for Cecil's 
	Type[Reference|Definition][Collection] classes.