Commit Graph

435 Commits

Author SHA1 Message Date
Tom Alexander
a749f91e8e
Ported over the comparison helpers to using the new tap function. 2020-06-07 16:49:15 -04:00
Tom Alexander
b35874f19e
Merge branch 'helper_sep' into render 2020-06-07 15:19:29 -04:00
Tom Alexander
78dad3273a
Remove $len from first helper since its not needed. 2020-06-07 15:18:03 -04:00
Tom Alexander
417466d17d
Implement the first and last helpers. 2020-06-07 15:16:39 -04:00
Tom Alexander
fdecdcb53b
Implemented the sep helper. 2020-06-07 15:09:37 -04:00
Tom Alexander
3fb91566bb
Implement get and tap functions. 2020-06-07 14:45:32 -04:00
Tom Alexander
3ef2facc92
Expanding the sep helpers test. 2020-06-07 14:07:32 -04:00
Tom Alexander
bb658284e6
Add a test for the sep helper. 2020-06-07 14:01:58 -04:00
Tom Alexander
d06fbea288
Remove unused code and clean up warnings. 2020-06-07 13:27:57 -04:00
Tom Alexander
4ab311c178
Merge branch 'into_context_element' into render 2020-06-07 01:48:44 -04:00
Tom Alexander
9b69ba7b09
Merge branch 'into_context_element_breadcrumb_tree' into into_context_element 2020-06-07 01:48:29 -04:00
Tom Alexander
e00f043c19
Merge branch 'there_and_back_again' into into_context_element_breadcrumb_tree 2020-06-07 01:48:05 -04:00
Tom Alexander
4e1259f1c7
All tests working. 2020-06-07 01:35:58 -04:00
Tom Alexander
865cba6f4e
Add a test proving that renamed variables are still equal, so its not just based on path. 2020-06-07 01:15:45 -04:00
Tom Alexander
4dee230780
Add some test cases for comparing equality on reference parameters. 2020-06-07 01:11:40 -04:00
Tom Alexander
b1a85165b0
All tests passing! 2020-06-07 01:04:00 -04:00
Tom Alexander
4789a7d931
Fix the same issue in the renderer. 2020-06-07 00:37:47 -04:00
Tom Alexander
09d015346c
Fixed a bug where I was failing to filter out pseudo elements during walking. 2020-06-07 00:29:51 -04:00
Tom Alexander
669a698575
Re-enable the ContextElement implementation for serde_json 2020-06-07 00:17:55 -04:00
Tom Alexander
422479bcf2
port over the remaining helpers. 2020-06-07 00:12:01 -04:00
Tom Alexander
8cbb31251c
port over the equals/not equals helpers. 2020-06-07 00:03:51 -04:00
Tom Alexander
c8de395038
Inline partials and blocks worked as-is. 2020-06-06 23:18:28 -04:00
Tom Alexander
250d428464
Updated Partial for the new architecture. 2020-06-06 23:17:50 -04:00
Tom Alexander
b396765488
Updated Exists/NotExists for the new architecture. 2020-06-06 23:15:12 -04:00
Tom Alexander
e28ebaf26a
Update IterationContext to be an IntoContextElement and finish implementing section. 2020-06-06 23:08:21 -04:00
Tom Alexander
00699b84ba
Finished converting back to Vec. 2020-06-06 22:45:58 -04:00
Tom Alexander
b0efe50410
Fixed new_breadcrumbs_section for the Vec based breadcrumbs. 2020-06-06 22:37:29 -04:00
Tom Alexander
256dcd03c5
Fixed tree_walking for the new breadcrumbs. 2020-06-06 22:29:39 -04:00
Tom Alexander
71592a9a32
Switching back to a Vec because inserting multiple elements into the linked list structure while maintaining ownership of each node proved to be difficult. 2020-06-06 22:24:27 -04:00
Tom Alexander
78bffb5f04
I think I need to switch back to a vec.
But with all I've built with IntoContextElement and BreadcrumbTreeElement I think the Vec will end up working in the end.
2020-06-06 21:46:02 -04:00
Tom Alexander
77b842f8de
Implement IntoContextElement for ParametersContext. 2020-06-06 20:48:29 -04:00
Tom Alexander
02259b9bd6
Create from_borrowed and from_owned constructors for IceResult and BreadcrumbTreeElement.
In an effort to keep track of how often memory is getting heap allocated, I am implementing constructors for IceResult and BreadcrumbTreeElement. This should limit the places that I call Rc::new and allow me to place tracing code into it later to ensure all code paths doing heap allocation make sense.
2020-06-06 20:24:01 -04:00
Tom Alexander
3c15e35b67
Finished constructor for ParametersContext. 2020-06-06 20:02:50 -04:00
Tom Alexander
ed7d80de6c
Handling RVPath for ParametersContext constructor. 2020-06-06 19:57:33 -04:00
Tom Alexander
f9dea70d23
Implement conversion from IceResult into BreadcrumbTreeNode.
I believe this change will remove an extra heap allocation I was doing in the new_breadcrumbs_* functions for the explicit context by adding support for converting from Rc<dyn ContextElement> to Rc<dyn IntoContextElement> without copying the underlying data. This should allow conversion of the IceResult::Owned variant to the BreadcrumbTreeElement::Owned variant without extra copying.
2020-06-06 19:39:44 -04:00
Tom Alexander
7253c7d99e
Implement function to convert IceResult into a BreadcrumbTreeElement. 2020-06-06 18:37:35 -04:00
Tom Alexander
18c1687064
Starting the constructor for ParametersContext. 2020-06-06 18:15:11 -04:00
Tom Alexander
f4f309caad
Working implementation of into_context_element for RValue. 2020-06-06 18:10:30 -04:00
Tom Alexander
c5b927ca11
Fix bug in use of breadcrumbs in new_breadcrumbs_partial. 2020-06-06 17:56:54 -04:00
Tom Alexander
e725728a65
I think I have solved the lifetime issue.
OwnedBreadcrumbTreeElement's needed a lifetime associated with them because IntoContextElement had lifetimes associated with it.
2020-06-06 17:52:46 -04:00
Tom Alexander
adbc236836
Broke the problem area down into parts to make it easier to debug. 2020-06-06 16:03:02 -04:00
Tom Alexander
842f39e178
Minor syntax fix. 2020-06-06 15:20:43 -04:00
Tom Alexander
303f092c30
Running into lifetime issues again. 2020-05-31 23:47:20 -04:00
Tom Alexander
da15439946
Start of IceResult to return owned values from into_context_element. 2020-05-31 23:29:12 -04:00
Tom Alexander
7789e6245d
I need to be able to returned owned data from into_context_element. 2020-05-31 22:35:46 -04:00
Tom Alexander
064027e77b
Worked around a lifetime issue with into_context_element. 2020-05-31 22:31:05 -04:00
Tom Alexander
b74dc394a8
Switched to returning an Option for into_context_element(). 2020-05-31 22:17:58 -04:00
Tom Alexander
3aaf7f9987
I think I need to make into_context_element return an Option.
The reason is, missing values for paths are not equal to null so I can't use an OwnedLiteral unless I create a special "walking failed" OwnedLiteral.
2020-05-31 22:06:12 -04:00
Tom Alexander
09e0b046a0
Copy over the implementation of ContextElement for OwnedLiteral which will be the result of calling IntoContextElement on RValues. 2020-05-31 21:59:24 -04:00
Tom Alexander
ff74d78fdb
Starting the new parameters context object. 2020-05-31 21:46:00 -04:00