Commit Graph

19 Commits

Author SHA1 Message Date
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
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
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