- Remove "all defaults" .Timings() overload, as it has no utility --
it would "automagically" determine the "appropriate" runs &
loopsPerRun values, but wouldn't communicate these to the caller,
and loopsPerRun is crucial to understanding the timings.
- Ensure that Stopwatch is pre-JITed as well as `self'.
- Generate documentation.
* Generator.pm: Add GetValueList() static method.
* Mono.Rocks/Delegates.cs: Flush (update .Timings() methods).
* Tests/Mono.Rocks.Tests/DelegateTest.cs: Update tests for .Timings().
svn path=/trunk/rocks/; revision=122146
* Generator.pm: Add GetTypeParameterList(), GetValue(), GetDocActionType(),
GetDocFuncType(), XmlValue(), Nth(); alter GetDocFunc() and GetDocAction()
to generate nicer-looking cref-able strings (e.g. Action{T1,T2} instead of
Action{``0, ``1}).
* Makefile: Don't warn on CS1591, and add additional dependency checks so
that when Generator.pm changes we rebuild all generated source.
* mkcurry: Generate XML documentation; remove Tuple null checks.
* mktuples.cs: Major changes: make Tuples structs instead of classes. This
means that, in order to continue supporting the collection interfaces,
each Tuple type needs to fully implement them instead of sharing
implementation in a base Tuple type (as was done before). Generate XML
documentation for all of these members. The reason for this change is
performance and semantics; value types were deemed as more logical and
faster (due to less GC pressure).
* doc/Makefile.include: Rename `update*' targets to `doc-update*'; run a
short sed script on doc/mono-rocks.xml before importing.
* doc/en/**: Flush (lots of imported docs from mkcurry and mktuples, plus
"manual" docs for TupleRocks.xml and KeyValuePairRocks.xml).
* doc/fixup.sed: Due to a gmcs bug bnc421815, the XML documentation
//member/@name for explicitly implemented interface members is wrong (or
at minimum completely different from CSC's output), so this sed script
corrects the doc/mono-rocks.xml file so that monodocer can properly import
the inline XML documentation for explicitly implemented members.
This file, in short, is a hack.
* Mono.Rocks/Curry.cs: Add XML documentation; remove Tuple null checks.
* Mono.Rocks/IEnumerable.cs: .ToTuple() now returns object, not Tuple.
* Mono.Rocks/Lambdas.cs: Flush doc changes.
* Mono.Rocks/Sequence.cs (GenerateReverse): Use Func<S,Tuple<R,S>?> instead of
Func<S,Tuple<R,S>> as Tuple is a struct now.
* Mono.Rocks/Tuple.cs: Major changes: Tuples are now structs, not classes;
remove interface member implementations.
* Mono.Rocks/Tuples.cs: Flush (major alterations; see mktuples description).
* Tests/Mono.Rocks.Tests/CurryTests.cs: Instead of using `int' for all type
parameters, use a variety of types to ensure that currying curries the
correct values (in left-to-right order), and remove Tuple null checks (as
Tuple is a struct).
* Tests/Mono.Rocks.Tests/IEnumerableTest.cs: Cope with .ToTuple() return type
change.
* Tests/Mono.Rocks.Tests/SequenceTest.cs: Cope with
Sequence.GenerateReverse() changes.
* Tests/Mono.Rocks.Tests/TuplesTest.cs: Remove ToKeyValuePair_TupleNull(), as
Tuples are now structs and thus can't be null.
svn path=/branches/rocks-playground/; revision=112002