Граф коммитов

6 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Pryor 4df0e9db75 * mkdelegates: Alter .Timings():
- 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
2008-12-27 02:27:53 +00:00
Jonathan Pryor 431e6f40cb * Generator.pm (ValueList): Return a value when $max==0.
svn path=/trunk/rocks/; revision=121127
2008-12-09 18:08:57 +00:00
Jonathan Pryor 1934aeef52 * doc/en/**: Flush.
* Generator.pm: Fix GetDocAction(), GetDocFunc() to pass the correct number
	  of types to GetDoc*Type(); allow GetDocFunc() to accept the return type
	  name (needed for .Compose() documentation).
	* Makefile: Rename mkcurry to mkdelegates.
	* mkcurry: Rename to mkdelegates.
	* mkdelegates: Add .Compose() extension methods.
	* Mono.Rocks.dll.sources, Mono.Rocks.csproj: Rename Mono.Rocks/Curry.cs 
	  to Mono.Rocks/Delegates.cs.
	* Mono.Rocks.Tests.dll.sources, Tests/Mono.Rocks.Tests.csproj: Rename
	  Tests/Mono.Rocks.Tests/CurryTest.cs to 
	  Tests/Mono.Rocks.Tests/DelegateTest.cs.
	* Mono.Rocks/Check.cs: Add Check.Composer() method.
	* Mono.Rocks/Curry.cs: Rename to Delegates.cs.
	* Mono.Rocks/Delegates.cs: Add .Compose() extension methods.
	* Tests/Mono.Rocks.Tests/CurryTest.cs: Rename to DelegateTest.cs.
	* Tests/Mono.Rocks.Tests/DelegateTest.cs: Add .Compose() tests.

svn path=/branches/rocks-playground/; revision=112350
2008-09-05 02:59:31 +00:00
Jonathan Pryor 8848c5620c * gendarme.ignore: Update ignored members.
* 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
2008-09-01 00:26:41 +00:00
Jonathan Pryor 89410f0ef3 * Makefile: Generate an XML documentation file, extracting the
documentation generated by mklambda.
	* doc/ (svn:ignore): Ignore generated files.
	* doc/Makefile.include: Import the documentation generated by gmcs into
	  monodoc format.
	* doc/en/**: Flush.
	* mklambda: Generate inline XML documentation; change parameter names to
	  simplify documentation generation.
	* Generator.cs: Add new methods to assist XML documentation generation.
	* Mono.Rocks/Lambdas.cs: Flush (adds inline XML documentation; changes 
	  some method parameter names for consistency/easier code/doc 
	  generation).

svn path=/branches/rocks-playground/; revision=111593
2008-08-26 04:32:19 +00:00
Jonathan Pryor d5177bc258 * Generator.pm: Added; utility type for C# source generation.
* mkcurry: Added; generator for Mono.Rocks/Curry.cs
	* mklambda, mktuple: Refactor/rewrite using Generator.pm.
	* Makefile: Generate Mono.Rocks/Curry.cs.
	* Mono.Rocks.dll.sources, Mono.Rocks.csproj: Add Mono.Rocks/Curry.cs 
	  to the build.
	* Mono>Rocks.Tests.dll.sources, Tests/Mono.Rocks.Tests.csproj: Add
	  Tests/Mono.Rocks.Tests/CurryTest.cs to the build.
	* Mono.Rocks/Curry.cs: Added; currying extension methods for Action, Func.
	* Mono.Rocks/Lambda.cs, Mono.Rocks/Tuples.cs: Flush (minor changes due 
	  to rewrites of mklambda and mktuple
	* Tests/Mono.Rocks.Tests/CurryTest.cs: Added; tests for .Curry 
	  extension methods.

svn path=/branches/rocks-playground/; revision=110968
2008-08-19 18:22:07 +00:00