Tom Alexander
250d428464
Updated Partial for the new architecture.
4 years ago
Tom Alexander
b396765488
Updated Exists/NotExists for the new architecture.
4 years ago
Tom Alexander
e28ebaf26a
Update IterationContext to be an IntoContextElement and finish implementing section.
4 years ago
Tom Alexander
00699b84ba
Finished converting back to Vec.
4 years ago
Tom Alexander
b0efe50410
Fixed new_breadcrumbs_section for the Vec based breadcrumbs.
4 years ago
Tom Alexander
256dcd03c5
Fixed tree_walking for the new breadcrumbs.
4 years ago
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.
4 years ago
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.
4 years ago
Tom Alexander
77b842f8de
Implement IntoContextElement for ParametersContext.
4 years ago
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.
4 years ago
Tom Alexander
3c15e35b67
Finished constructor for ParametersContext.
4 years ago
Tom Alexander
ed7d80de6c
Handling RVPath for ParametersContext constructor.
4 years ago
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.
4 years ago
Tom Alexander
7253c7d99e
Implement function to convert IceResult into a BreadcrumbTreeElement.
4 years ago
Tom Alexander
18c1687064
Starting the constructor for ParametersContext.
4 years ago
Tom Alexander
f4f309caad
Working implementation of into_context_element for RValue.
4 years ago
Tom Alexander
c5b927ca11
Fix bug in use of breadcrumbs in new_breadcrumbs_partial.
4 years ago
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.
4 years ago
Tom Alexander
adbc236836
Broke the problem area down into parts to make it easier to debug.
4 years ago
Tom Alexander
842f39e178
Minor syntax fix.
4 years ago
Tom Alexander
303f092c30
Running into lifetime issues again.
4 years ago
Tom Alexander
da15439946
Start of IceResult to return owned values from into_context_element.
4 years ago
Tom Alexander
7789e6245d
I need to be able to returned owned data from into_context_element.
4 years ago
Tom Alexander
064027e77b
Worked around a lifetime issue with into_context_element.
4 years ago
Tom Alexander
b74dc394a8
Switched to returning an Option for into_context_element().
4 years ago
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.
4 years ago
Tom Alexander
09e0b046a0
Copy over the implementation of ContextElement for OwnedLiteral which will be the result of calling IntoContextElement on RValues.
4 years ago
Tom Alexander
ff74d78fdb
Starting the new parameters context object.
4 years ago
Tom Alexander
7bf8012d6e
Need to mix back in parameterscontext.
4 years ago
Tom Alexander
bbc1a24631
Added back in reference.
4 years ago
Tom Alexander
da6655d4b6
General structure to the rendering code.
4 years ago
Tom Alexander
680fc167ea
Turns out it was just a lifetime issue.
4 years ago
Tom Alexander
2b8894f9c2
Most of new_breadcrumbs_partial, just need to get the return working.
4 years ago
Tom Alexander
6bde22b667
Re-enabled compiling templates from bin.rs.
4 years ago
Tom Alexander
f1ec0ffb9e
Got rid of most of the Clone traits on the parser types since some of the parser results now contain owned values rather than just references.
4 years ago
Tom Alexander
15c8e3bf28
Get rid of the CloneIntoBoxedContextElement trait for now because I don't know if its still going to be necessary with this overhaul.
4 years ago
Tom Alexander
b8b4759d45
Remove iteration_context, parameters_context, and most of bin.rs.
...
Since I'm changing a pretty core concept of the renderer, I'm going to be rebuilding it piece by piece. In the interest of being able to rapidly change things and check if they are valid through compilation, I need to eliminate most of the old code so I do not have that weighing me down.
4 years ago
Tom Alexander
acb8dfb58e
Replaced the old renderer file with a new renderer file.
4 years ago
Tom Alexander
283430a45b
Merge the breadcrumb tree trait and struct into just a struct.
4 years ago
Tom Alexander
439601bbb5
First I'll try to eliminate the duplication between the BreadcrumbTree and BreadcrumbTreeNode.
4 years ago
Tom Alexander
1111b48270
Due to traits I am going to have to start hard-replacing the old renderer file.
4 years ago
Tom Alexander
de5914417e
All but explicit context for new_breadcrumbs_section.
4 years ago
Tom Alexander
b381789422
Slight progress on new_breadcrumbs_section.
4 years ago
Tom Alexander
2b532e7eb4
Going to try switching to boxed owned values to remove the template.
4 years ago
Tom Alexander
92dca74505
Running into issue where I need to know the type to create new tree node elements.
4 years ago
Tom Alexander
ff27c2c85d
Basic structure for the new tree renderer.
4 years ago
Tom Alexander
65445cc8fc
Finished implementing the new tree walking.
4 years ago
Tom Alexander
863744c42d
Got rid of the IceTreeIterator by using map().
4 years ago
Tom Alexander
781b8f645a
Switch IntoIter over to the breadcrumb iterator.
4 years ago
Tom Alexander
ff13d22ab6
Renamed BreadcrumbTreeIterator to IceTreeIterator.
4 years ago