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

ChangeLog « gui-compare - github.com/mono/mono-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: cc3dd547bbf5548f6780120c2dc25f142934cdaf (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
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
2009-01-06  Jb Evain  <jbevain@novell.com>

	* CecilMetadata.cs: support some more operators.

2008-12-25  Chris Toshok  <toshok@ximian.com>

	* CompareContext.cs: Make sure we compare attributes in
	CompareTypeLists too, otherwise we drop missing attribute nodes if
	the type is present.
	
2008-12-25  Chris Toshok  <toshok@ximian.com>

	* CompareContext.cs: split out the comparison of base types into a
	separate method.  Also, if we're adding a missing type, add a tree
	node for the base type.

2008-12-19  Jb Evain  <jbevain@novell.com>

	* InfoManager.cs: add SL2SDK assemblies: System.Xml.Linq,
	System.Windows.Controls and System.Windows.Controls.Data.

2008-12-17  Jb Evain  <jbevain@novell.com>

	* CecilMetadata.cs: in the process of fixing our interface story.
	Always include all the interfaces for a type, by walking down its
	hierarchy. mono-api-info does the same as well now. This make it easier
	to compare interface implementation.

2008-12-17  Jb Evain  <jbevain@novell.com>

	* MainWindow.cs
	* InfoManager.cs
	* CompareContext.cs:
		Avoid defining our own delegate when we can use Func and Action.

2008-12-17  Jb Evain  <jbevain@novell.com>

	* MainWindow.cs
	* Metadata.cs
	* Comparison.cs
	* CompareContext.cs:
		PascalCase public fields in Comparison.

2008-12-17  Jb Evain  <jbevain@novell.com>

	* CecilMetadata.cs: treat Finalizers as an implementation detail
	and ignore it for the comparison.

2008-12-16  Jb Evain  <jbevain@novell.com>

	* CecilMetadata.cs: fix the comparison of the definition
	of System.Delegate and System.MulticastDelegate.

2008-12-05  Jb Evain  <jbevain@novell.com>

	* CecilMetadata.cs
	* CompareContext.cs
	* Comparison.cs
	* Main.cs
	* MasterMetadata.cs
	* Masterinfo.cs
	* Metadata.cs:
		add license and copyright information.

2008-12-05  Jb Evain  <jbevain@novell.com>

	* CecilMetadata.cs
	* CompareContext.cs
	* Comparison.cs
	* MasterMetadata.cs
	* Metadata.cs:
		cleanup usings.

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

	* CompareContext.cs
	* MainWindow.cs: move the Gtk dependant code from the CompareContext
	to the MainWindow, so that CompareContext can be used in a non Gtk
	application.

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

	* AssemblyResolver.cs: update.

2008-12-02  Chris Toshok  <toshok@ximian.com>

	* CecilMetadata.cs: fix TODO attribute handling.  they aren't
	public, so we need to handle them before we check for
	public/private.

2008-11-21  Jb Evain  <jbevain@novell.com>

	* CecilMetadata.cs: improve pretty printing of Cecil types.
	* InfoManager.cs: update masterinfos uri to point to the new files.
	* MasterMetadata.cs, Masterinfo.cs: adjust to the mono-api-info format
	changes, which add a generic-parameters group to every generic method
	or type, and which can have a generic-parameter-constraints subgroup.

2008-08-15  Chris Toshok  <toshok@ximian.com>

	* MasterMetadata.cs (MasterUtils.ShouldSkipAttribute): we can't
	just use a string comparison here for CodeAnalysis attributes -
	they contains lots of info in the name string, we only cafe if it
	starts with
	"System.Diagnostics.CodeAnalysis.SuppressMessageAttribute".

2008-08-13  Chris Toshok  <toshok@ximian.com>

	* CecilMetadata.cs: go back to ignoring all private methods.  if
	there are missing methods due to this, we need to fix the .xml
	generation.

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

	* CecilMetadata.cs: PrettyPrint nullable types correctly.

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

	* CecilMetadata.cs: Don't recurse on BaseType when looking at 
	interfaces, otherwise we end up with a lot of extras (compared to 
	the XML definition). Process private methods that are implementing 
	an explicit interface requirement. Add NotSerialized to the 
	FieldAttributes mask. 
	* MasterMetadata.cs: Add NonSerializedAttribute to ShouldSkipAttribute
	since this pseudo-attribute is part of the XML definition. Add 
	FamORAssem checks (replace by Family) since this introduce false 
	errors in the reports (we don't care about the internal/assembly part)
	* Masterinfo.cs: Fix bad check with FamORAssem that turned private
	stuff into Family.

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

	* CecilMetadata.cs (CecilUtils.GetCustomAttributes): don't
	crash if the custom attribute constructor's declaring type
	can not be resolved.

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

	* InfoManager.cs: System.Xml.Core is renamed to System.Xml
	in SL 2.0b.

2008-02-10  Chris Toshok  <toshok@ximian.com>

	[ Fix a couple of bugs reported by jpobst ]
	
	* CecilMetadata.cs (CecilProperty.ctor): we can't just use the
	name - multiple "Item" properties were screwing things up.
	(CecilProperty.FormatName): format the name for display and for
	comparison against the masterinfo.  Masterinfo version is "Type
	Name [ param-types ]", and display version if "Name [
	param-types]" (including the type in the display version made it a
	little hard to actually see what the name of the property was.)
	(CecilField.GetMemberAccess): convert FamORAssem to just Family.
	(CecilMethod.GetMemberAccess): same.

	* MasterMetadata.cs (MasterProperty.ctor): we need to format the
	name based on the key, not on the name attribute alone.
	(MasterProperty.FormatName): format the name to match up with
	CecilProperty.FormatName.
	
2008-02-07  Stephane Delcroix  <sdelcroix@novell.com>

	* MainWindow.cs: move the LoadConfiguration part at the end of
	the ctor.

2008-02-01  Andrew Jorgensen  <ajorgensen@novell.com>

	* Makefile.am: gui-compare is generated by autotools

2008-01-16  Chris Toshok <toshok@ximian.com> 

	* configure: pointless update from generating makefiles...
	* Metadata.cs: assemblies are attribute containers.
	* MasterMetadata.cs: create the list of assembly attributes.
	* CecilMetadata.cs: get the list of assembly attributes.
	* CompareContext.cs: compare the attributes on reference/target assemblies.
	* Masterinfo.cs: make attributes on assemblies public.

2008-01-15  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: add a history entry for the current CompareDefinition, if
	  the counts are different than the previous one.
	* InfoManager.cs: when doing a preset compare, set the title to be the
	  assemblyname.
	* MasterMetadata.cs: Skip over MS's CodeAnalysis attributes.
	* CecilMetadata.cs: skip over MS's CodeAnalysis attributes.
	* CompareContext.cs: add Constructors as missing
	* Config.cs: Add CompareHistory class, which is just a timestamped class
	  containing all the counts from a comparison run.  Add an array of them
	  to CompareDefinition.
	
	  
	
	  Also, fix AddRecent to look for an existing entry in the Recent array
	  (by using the new CompareDefinition.GetKey), moving it to the top.  This
	  pretty much removes the need for MoveToTop, as it could be folded in
	  here, but leave it for now.

2008-01-14  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: hide the progress bar when we're done, and implement the
	  OnShowNotImplementedToggled method
	* InfoManager.cs: fix the remote file downloading.  can't believe the bugs
	  this thing has had...
	* gtk-gui/MainWindow.cs: add Show Notimplemented menu item and signal
	  handler
	* gtk-gui/gui.stetic: add ShowNotImplemented action
	* Config.cs: add ShowNotImplemented

2008-01-14  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: add the niex counts to the counts column
	* gui-compare.mdp: add the mn.png resource
	* cm/mn.png: steal jpobst's NIEX icon
	* CompareContext.cs: set throws_niex instead of adding an error.
	* gtk-gui/MainWindow.cs: add the ShowNotImplemented action
	* Comparison.cs: count NIEX's

2008-01-14  Chris Toshok <toshok@ximian.com> 

	* Metadata.cs: add GetLiteralValue() abstract method to CompField.
	* InfoManager.cs: wex might be null here since we're in the else branch, so
	  don't look in it.
	* MasterMetadata.cs: implement MasterField.GetLiteralField.
	* CecilMetadata.cs: Implement CecilField.GetLiteralValue.
	* CompareContext.cs: check literal field values (fixes enum comparing)

2008-01-13  Chris Toshok <toshok@ximian.com> 

	* InfoManager.cs: fix this obvious brokenness.

2008-01-13  Chris Toshok <toshok@ximian.com> 

	* CecilMetadata.cs: only include the generic parameters of the method in the
	  beautified version of the method name.

2008-01-11  Chris Toshok <toshok@ximian.com> 

	* CecilMetadata.cs: Fix explicit interface definitions of events.

2008-01-11  Chris Toshok <toshok@ximian.com> 

	* InfoManager.cs: add support for IfModifiedSince to the download logic, so
	  we'll redownload a masterinfo .tar.gz file automatically if there's a
	  newer one on the server.

2008-01-11  Chris Toshok <toshok@ximian.com> 

	* MasterMetadata.cs: deal with a null masterinfo.
	* Masterinfo.cs: deal with empty masterinfo files (with no assemblies)
	  correctly.

2008-01-03  Miguel de Icaza  <miguel@novell.com>

	* InfoManager.cs: For people that are abusing XDG_DATA_HOME,
	ignore their setting.

2008-01-09  Chris Toshok <toshok@ximian.com> 

	* Metadata.cs: add abstract bool ThrowsNotImplementedException method to
	  CompMethod.
	* MasterMetadata.cs: always return false from ThrowsNotImplementedException,
	  since we have no idea (but can assume it doesn't, since most of our
	  masterinfos are generated from MS source).
	* CecilMetadata.cs: Copy MoMA's implementation of
	  ThrowsNotImplementedException
	* CompareContext.cs: for two methods, check to see if the target throws
	  NotImplementedException when the reference doesn't.

2008-01-03  Miguel de Icaza <miguel@novell.com> 

	* CecilMetadata.cs: Ignore internal attributes applies to public classes;  
	  Fixes the warnings in System.Drawing

2008-01-03  Miguel de Icaza <miguel@novell.com> 

	* MainWindow.cs: SetComparedefinition allow setting target/reference on a
	  single call fro mthe CompareDefinition
	* CustomCompare.cs: New dialog box for custom compares.
	* InfoManager.cs: Refactor code, move body to MainWindow
	* ProviderSelector.cs: Spice this up.
	* gtk-gui/gui.stetic: Widget to pick XML files or assemblies.
	* Config.cs: Add new ToString override that formats the comparison for
	  consistent titles

2008-01-02  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: move the "summary.Visible = false" to StartCompare() so
	  that regardless of how we start a new run, the summary goes away.
	* CompareContext.cs: rename master -> reference and assembly -> target.

2008-01-02  Chris Toshok <toshok@ximian.com> 

	* Metadata.cs: make the class, interface, delegate, and enum classes
	  implement ICompHasBaseType, and add DisplayName to CompNamed, which
	  we'll use instead of Name to populate the tree.
	* CecilMetadata.cs: Add type prettification to set the DisplayName on the
	  comparison nodes (show the actual operator, type name replacement for
	  system types, etc).  Also, implement the GetBaseType stuff.
	* CompareContext.cs: compare base types.  use ComparisonNode.AddError
	* MasterMetadata.cs: implement all the GetBaseType methods.
	* Masterinfo.cs: remove tons of stuff from corcompare that we no longer
	  need.
	* Comparison.cs: add ComparisonNode.AddError which sets the status and adds
	  the message.

2008-01-02  Miguel de Icaza <miguel@novell.com> 

	* MainWindow.cs: Load defauls from the configuration file
	* InfoManager.cs: Track recently used comparisons
	* Config.cs: Add new API to manage our recently used list

2008-01-02  Miguel de Icaza <miguel@novell.com> 

	

2008-01-02  Miguel de Icaza <miguel@novell.com> 

	* CompareContext.cs: Provide some hints, not a great way of doing it.

2008-01-02  Miguel de Icaza <miguel@novell.com> 

	

2008-01-02  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: hide the summary when we start refreshing
	* CecilMetadata.cs: add generic parameters to the method name, and remove
	  all those Replace('/','+')'s from everywhere and stick them in
	  CecilUtils.FormatTypeLikeCorCompare.
	* gtk-gui/MainWindow.cs: add a separator to the file menu

2008-01-01  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: Remove the checks of the Show* actions in our populate
	  code.  limitting display is done via the filter logic, not when
	  populating the tree.  Also, fill in and show/hide the summary label when
	  we need to.
	* CecilMetadata.cs: Fix the interface comparisons - walk the hierarchy,
	  collecting a list.  just for kicks, due it in the least efficient way
	  possible.  also find the TODO attributes and remember their messages. 
	  Make sure to grab the list of attributes in the appropriate constructor,
	  instead of in GetAttributes, because if we do it there, it's already too
	  late to register the counts with the proper comparison nodes.  Also,
	  only check certain field/property/method attributes.  mask them to what
	  corcompare seems to generate.
	* Metadata.cs: add a todo list that we can fill in via the CecilMetadata
	  code.  also, add abstract GetMemberAccess method.
	* CompareContext.cs: Make sure to GetComparisonNode from the assembly_list
	  if we can help it, since that node will contain all the MonoTODO's. 
	  Also, compare constructors.
	* MasterMetadata.cs: fill in our attributes and method/field/property
	  access.
	* AssemblyResolver.cs: steal this code from the linker
	* gtk-gui/gui.stetic: add in a summary label that we auto show/hide, and get
	  rid of that toolbar.  move Refresh under the File menu.
	* Masterinfo.cs: make the various ConvertToString methods public instead of
	  protected.
	* Comparison.cs: keep track of a list of error messages and todo's, and
	  propagate the todo count properly.

2007-12-28  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: change the line foreground based on the node's status. 
	  also, add Todo stats.
	* CecilMetadata.cs: lot of changes.  copy some code from the linker, and use
	  it to walk up the hierarchy adding interfaces so we match corcompare. 
	  Don't ignore the "op_" methods.  Also, make sure we flag System.Delegate
	  and System.MulticastDelegate as delegates.  Do a similar fudging for
	  System.Enum.  Also, if we initialize a CecilInterface from a
	  TypeReference, don't include the attributes on it.  Lastly, include the
	  return type of methods in their name so we can correctly sort them.
	* Metadata.cs: add GetMemberType() to CompMember.
	* CompareContext.cs: start listing errors.  if the types of the members
	  differ, it's an error.  also, add missing attributes in AddMissing.
	* MasterMetadata.cs: lot of changes. add return types to MasterMethod, and
	  add that to the name.  handle nested types, and duplicate the
	  CecilMetadata PopulateTypeLists.
	* gtk-gui/MainWindow.cs, gtk-gui/gui.stetic: add "Show Todo" action
	* Masterinfo.cs: make the field stuff public.
	* Comparison.cs: tally up the errors properly.

2007-12-28  Miguel de Icaza <miguel@novell.com> 

	* CompareWindow.cs: Add the 3.5 assemblies to the list;   With 3.5 replacing
	  2.0 assemblies to effectively be an SP1, should we deprecate 2.0?

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: rework the "Show {present, missing, extra, etc}" stuff
	  using a gtk treemodelfilter.  It's slower than recreating the tree, but
	  it maintains expanded state and selection across changes, which is nice.
	* CompareContext.cs: add more missing elements to the tree, and also keep
	  track of the counts from the reference assembly so we can give *some*
	  indication of progress,

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* cm/*.gif: make all these transparent as a
	  first pass at making them not look like ass.

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* CecilMetadata.cs: rename Utils to CecilUtils. Also, fix the broken logic
	  that was resulting in private properties being included in the list of
	  properties (and therefore showing up as extras).
	* MasterMetadata.cs: abstract out a lot of the list creation stuff into a
	  Utils class, like we do in CecilMetadata.cs  Call it MasterUtils.

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* CecilMetadata.cs: add a ctor for CecilMetadata that takes a TypeDefinition
	  (along with one that takes a TypeReference).  in the type_def case, we
	  populate the member lists just as we would for a class, so we can check
	  them.  currently they all show up as extra, since the MasterMetadata
	  doesn't populate its interfaces properly yet.

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* CecilMetadata.cs: factor out all the duplicate attribute list handling
	  code.  also, make it deal with MonoTODO attributes.
	* CompareContext.cs: fix progress message

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: add handling for the refresh button.  also, remove the
	  counts of various things if the View menu has them disabled.
	* gtk-gui/MainWindow.cs, gtk-gui/gui.stetic: add a refresh button to re-run
	  the current comparison.  this is a stopgap for the planned
	  inotify/fam/whatever based code that will notice when the assembly
	  changes and will automatically refresh.

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* MainWindow.cs: repopulate the model if any of the View actions change. 
	  also, take into account the view actions when populating the tree model.
	* gtk-gui/MainWindow.cs, gtk-gui/gui.stetic: add a View menu for showing
	  errors/missing/extra/present items

2007-12-27  Chris Toshok <toshok@ximian.com> 

	* CecilMetadata.cs: skip special named fields, and start dealing with
	  attributes.
	* Metadata.cs: kinda gross, but make CompProperty subclass from
	  ICompMemberContainer so that we can reuse all the code to check if the
	  methods (set_*/get_*) match.  Also, add CompAttribute
	* CompareContext.cs: duplicate some code to deal with attribute comparisons
	  (need to factor this out somehow).
	* MasterMetadata.cs: start dealing with attributes
	* Masterinfo.cs: make more stuff public.

2007-12-26  Chris Toshok <toshok@ximian.com> 

	* CecilMetadata.cs: populate the property/event lists, and add
	  CecilProperty/CecilEvent.  return the enum list properly.
	* MasterMetadata.cs: more stuff added
	* Masterinfo.cs: make more things public

2007-12-26  Miguel de Icaza <miguel@novell.com>

	* CecilMetadata.cs: Do not crash on empty type_def.BaseType (happens 
	for System.Object).
	
	(CecilAssembly): skip over nested types, and ignore NotPublic types 
	as well.
	
	(PopulateTypeLists): Do not insert NestedPrivate and NestedAssembly as
	public APIs either.

2007-12-18  Miguel de Icaza <miguel@novell.com>

	* InfoManager.cs: 

2007-12-18  Miguel de Icaza <miguel@novell.com> 

	* MainWindow.cs: New file, from MonoDevelop, copy mot of the code from
	  CompareWindow here.
	* Main.cs: new file, generated by MonoDevelop
	* InfoManager.cs: New file, this tracks and downloads new masterinfos if
	  required on demand.
	* CompareContext.cs: Now the CompareContext uses two delegates of type
	  LoadCompAssembly to do the comparison. 

2007-12-07  Chris Toshok  <toshok@ximian.com>

	* Metadata.cs (CompClass): add GetNestedClass() method.

	* Masterinfo.cs (XMLClass): make nested public.

	* CompareWindow.cs (PerformCompare): abstract out what was in the
	body of SetAssemblyPath, so we can restart a comparison whenever
	we want -- when a new masterinfo is available, when the .dll has
	changed, etc.

	* CompareContext.cs (CompareThread): comment out call to
	DumpComparison.
	(CompareClassLists): abstract out the body of CompareClasses so it
	can be reused for nested classes as well as toplevel.  Call
	CompareClassLists recursively to handle nested classes.  Also, fix
	an &&/|| thinko.
	(CompareTypes): just call CompareClassLists.
	(CompareMethods): start implementation.
	(AddExtraMethod, AddMissingMethod): implement.

	* MasterMetadata.cs (MasterClass.GetMethods,
	MasterClass.GetConstructors): don't throw NIE.  instead return an
	empty list.  this causes all methods to show up as extra, but it
	keeps us from crashing.
	(MasterClass.GetNestedClasses): implement.

	* CecilMetadata.cs (CecilClass.GetConstructors): return empty
	list, don't throw NIE.
	(CecilClass.GetNestedClasses): implement.