Markus Ewald
|
0fdad7c33d
|
There was still an issue with the cloners: private fields in base classes were not cloned properly - problem fixed and unit tests added to prevent regressions
git-svn-id: file:///srv/devel/repo-conversion/nusu@249 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 22:18:36 +00:00 |
|
Markus Ewald
|
0290444140
|
Fixed a bug in the cloners: if a class has properties with only a setter or only a getter, the property-based clones now ignore that property; added a unit test that verifies types without a default constructor can be cloned as well
git-svn-id: file:///srv/devel/repo-conversion/nusu@248 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 19:26:05 +00:00 |
|
Markus Ewald
|
48e1674912
|
Property-based shallow clones of value types are now also working correctly in the expression tree cloner
git-svn-id: file:///srv/devel/repo-conversion/nusu@247 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 18:47:45 +00:00 |
|
Markus Ewald
|
d091061baa
|
ExpressionTreeCloner now can create shallow field-based clones of objects without a default constructor (before this, only deep clones worked); search-and-replace fix - some comments referred to something called 'propertys'; all cloners now correctly handle being passed null values (a clone of 'null' is also 'null' per definition)
git-svn-id: file:///srv/devel/repo-conversion/nusu@246 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 17:38:20 +00:00 |
|
Markus Ewald
|
15300676ba
|
Streamlined the cloning API: whether a property-based clone is performed is no longer indicated through a parameter, but by calling the appropriate method
git-svn-id: file:///srv/devel/repo-conversion/nusu@245 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 17:13:08 +00:00 |
|
Markus Ewald
|
0f2bb60ea5
|
Fully implemented property-based cloning for the expression tree cloner
git-svn-id: file:///srv/devel/repo-conversion/nusu@244 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 16:51:58 +00:00 |
|
Markus Ewald
|
db8c93eabd
|
All cloners are now able to clone objects without default constructors; began work on a property-based expression tree cloner
git-svn-id: file:///srv/devel/repo-conversion/nusu@243 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 15:20:39 +00:00 |
|
Markus Ewald
|
91da3679a8
|
Removed a dead variable when cloning arrays
git-svn-id: file:///srv/devel/repo-conversion/nusu@242 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 12:47:35 +00:00 |
|
Markus Ewald
|
cd6cec42d3
|
Expression tree cloner can now also create shallow field based clones
git-svn-id: file:///srv/devel/repo-conversion/nusu@241 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 12:17:35 +00:00 |
|
Markus Ewald
|
e7d1c9720b
|
Arrays of reference types can now be cloned, too - deep expression tree cloner is finished!
git-svn-id: file:///srv/devel/repo-conversion/nusu@240 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 11:12:44 +00:00 |
|
Markus Ewald
|
e57140579c
|
Expression tree cloner now clones nested arrays in any depth (inline since deriving from an array is not possible, so it's pretty darn fast!), only scenario left open now is arrays of reference types
git-svn-id: file:///srv/devel/repo-conversion/nusu@239 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-08 11:05:07 +00:00 |
|
Markus Ewald
|
b2e484673d
|
Added more comments and and done some minor refactoring
git-svn-id: file:///srv/devel/repo-conversion/nusu@238 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-06 12:30:59 +00:00 |
|
Markus Ewald
|
28998dbdcf
|
Half way there cloning arrays of complex types - the array copy loop is built and executed correctly
git-svn-id: file:///srv/devel/repo-conversion/nusu@237 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-06 11:46:21 +00:00 |
|
Markus Ewald
|
40231aa15c
|
My code for creating new arrays was absurdly overkill -- there's a simple Linq expression that does everything in a one-liner, faster and safer
git-svn-id: file:///srv/devel/repo-conversion/nusu@236 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-06 09:50:15 +00:00 |
|
Markus Ewald
|
f5c282e840
|
Got rid of some unnecessary downcasts for the expression tree cloner
git-svn-id: file:///srv/devel/repo-conversion/nusu@235 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-06 09:04:10 +00:00 |
|
Markus Ewald
|
62d0c6611c
|
Expression tree cloner now transfers the fields of structures (of any nesting level)
git-svn-id: file:///srv/devel/repo-conversion/nusu@234 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-06 08:43:23 +00:00 |
|
Markus Ewald
|
3267e399ee
|
Expression tree cloner now clones nested reference types
git-svn-id: file:///srv/devel/repo-conversion/nusu@233 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-05 13:12:18 +00:00 |
|
Markus Ewald
|
79063f59c1
|
Expression tree cloner can now clone multi-dimensional arrays
git-svn-id: file:///srv/devel/repo-conversion/nusu@232 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-04 14:22:59 +00:00 |
|
Markus Ewald
|
1307976597
|
Expression tree cloner is now able to clone arrays of primitive types
git-svn-id: file:///srv/devel/repo-conversion/nusu@231 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-03 20:39:07 +00:00 |
|
Markus Ewald
|
4743b5d056
|
Expression tree cloner now is able to clone complex types (non-recursively, at the moment)
git-svn-id: file:///srv/devel/repo-conversion/nusu@230 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-03 18:06:46 +00:00 |
|
Markus Ewald
|
776a0749fd
|
Expression tree cloner can now clone primitive types
git-svn-id: file:///srv/devel/repo-conversion/nusu@229 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-03 16:10:21 +00:00 |
|
Markus Ewald
|
976b1ddba5
|
Cloners now offer their methods as static members for easy access in non-service oriented applications; began implementing the expression tree cloner
git-svn-id: file:///srv/devel/repo-conversion/nusu@228 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-03 14:49:31 +00:00 |
|
Markus Ewald
|
961f56157e
|
Added a cloner that uses a binary serializer to clone objects; converted unit tests for reflection cloner into a shared base class so they can be applied to the serialization-based cloner as well
git-svn-id: file:///srv/devel/repo-conversion/nusu@227 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-03 12:18:37 +00:00 |
|
Markus Ewald
|
7e61e27050
|
Reflection-based cloner no longer fails when cloning a complex type containing string members (since strings aren't primitive types, the cloner attempted to construct a string via its default constructor and then assign its members, which is nonsense)
git-svn-id: file:///srv/devel/repo-conversion/nusu@226 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-02 20:11:17 +00:00 |
|
Markus Ewald
|
7f7b9eff19
|
Reflection-based cloner now also clones arrays (including deep clones of array values if desired)
git-svn-id: file:///srv/devel/repo-conversion/nusu@225 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-02 17:59:34 +00:00 |
|
Markus Ewald
|
eb3083cf9e
|
Fixed a compilation error when targeting Windows Phone; ChainStream now uses a params list for its constructor; added object cloning framework with support for deep and shallow cloning as well as cloning based on fields or properties
git-svn-id: file:///srv/devel/repo-conversion/nusu@223 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-01 22:45:15 +00:00 |
|