Commit Graph

393 Commits

Author SHA1 Message Date
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
Tom Alexander
7bf8012d6e Need to mix back in parameterscontext. 2020-05-31 21:30:36 -04:00
Tom Alexander
bbc1a24631 Added back in reference. 2020-05-31 21:26:31 -04:00
Tom Alexander
da6655d4b6 General structure to the rendering code. 2020-05-31 21:18:54 -04:00
Tom Alexander
680fc167ea Turns out it was just a lifetime issue. 2020-05-31 20:43:07 -04:00
Tom Alexander
2b8894f9c2 Most of new_breadcrumbs_partial, just need to get the return working. 2020-05-31 20:41:27 -04:00
Tom Alexander
6bde22b667 Re-enabled compiling templates from bin.rs. 2020-05-31 19:08:10 -04:00
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. 2020-05-31 19:01:51 -04:00
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. 2020-05-31 18:31:49 -04:00
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.
2020-05-31 18:27:55 -04:00
Tom Alexander
acb8dfb58e Replaced the old renderer file with a new renderer file. 2020-05-31 18:18:21 -04:00
Tom Alexander
283430a45b Merge the breadcrumb tree trait and struct into just a struct. 2020-05-31 18:14:26 -04:00
Tom Alexander
439601bbb5 First I'll try to eliminate the duplication between the BreadcrumbTree and BreadcrumbTreeNode. 2020-05-31 18:05:49 -04:00
Tom Alexander
1111b48270 Due to traits I am going to have to start hard-replacing the old renderer file. 2020-05-31 18:02:02 -04:00
Tom Alexander
de5914417e All but explicit context for new_breadcrumbs_section. 2020-05-31 17:56:07 -04:00
Tom Alexander
b381789422 Slight progress on new_breadcrumbs_section. 2020-05-31 17:32:06 -04:00
Tom Alexander
2b532e7eb4 Going to try switching to boxed owned values to remove the template. 2020-05-31 17:25:41 -04:00
Tom Alexander
92dca74505 Running into issue where I need to know the type to create new tree node elements. 2020-05-31 16:40:39 -04:00
Tom Alexander
ff27c2c85d Basic structure for the new tree renderer. 2020-05-31 16:21:13 -04:00
Tom Alexander
65445cc8fc Finished implementing the new tree walking. 2020-05-31 16:16:21 -04:00
Tom Alexander
863744c42d Got rid of the IceTreeIterator by using map(). 2020-05-31 16:02:30 -04:00
Tom Alexander
781b8f645a Switch IntoIter over to the breadcrumb iterator. 2020-05-31 15:58:29 -04:00
Tom Alexander
ff13d22ab6 Renamed BreadcrumbTreeIterator to IceTreeIterator. 2020-05-31 15:52:46 -04:00
Tom Alexander
89c751e849 I think I need to implement iterating on the tree nodes. 2020-05-31 15:51:18 -04:00
Tom Alexander
3f49519bea Initial structure for new implementation of walking functions using the heterogeneous tree. 2020-05-31 15:44:09 -04:00
Tom Alexander
456da98bed Added an iter function which I think will let me automatically make iterators without having to explicitly take a reference to the tree. 2020-05-31 14:29:59 -04:00
Tom Alexander
bebedf56e4 Implement IntoIterator for references to a BreadcrumbTreeNode. 2020-05-31 14:27:31 -04:00
Tom Alexander
1be60511ed Implement an iterator over the tree. 2020-05-31 14:17:21 -04:00
Tom Alexander
645b251f13 Initial setup for a heterogenous tree of IntoContextElement. 2020-05-31 13:52:20 -04:00
Tom Alexander
a578b57f12 Switch the call for IntoContextElement back to a static integer so it compiles again. 2020-05-31 13:21:47 -04:00
Tom Alexander
21b9e9282b Ran into issue: Can't returned owned data when its expecting a trait object. 2020-05-30 18:28:33 -04:00
Tom Alexander
737c98d8b7 Add the renderer to calls to convert to a context element. 2020-05-30 18:16:58 -04:00
Tom Alexander
917da5a073 Put IntoContextElement everywhere. It compiles again. 2020-05-30 17:50:27 -04:00
Tom Alexander
975ab278ef Starting an IntoContextElement trait to allow for delayed evaluation. 2020-05-30 16:34:32 -04:00
Tom Alexander
581f9f7e97 Update parser to treat all string rvalues as templates. 2020-05-30 15:49:13 -04:00
Tom Alexander
3352b777ae Factor out the parsing of partial template names into its own parser for reuse as an rvalue. 2020-05-30 15:45:44 -04:00
Tom Alexander
4932a4bb6f Add tests for reference parameters. 2020-05-30 15:20:54 -04:00
Tom Alexander
0236f882b7 Delete the old new_breadcrumbs function that is no longer used. 2020-05-30 14:45:48 -04:00
Tom Alexander
d07ac3dcc9 Merge branch 'explicit_context_priority' into render 2020-05-30 14:43:23 -04:00
Tom Alexander
e7c05f597f Add a test proving exists does not support parameters. 2020-05-30 14:42:34 -04:00
Tom Alexander
add77cf6a5 Get rid of the concept of NamedBlock and replace it with a ParameterizedBlock special case that does not support an else block. 2020-05-30 14:39:31 -04:00
Tom Alexander
eb0eb8d4ca Add priority tests for the other block types except helpers since I do not yet have a helper implemented that sets a value. 2020-05-30 13:47:13 -04:00
Tom Alexander
9bdc398a6d Merge branch 'pseudo_context' into explicit_context_priority 2020-05-30 12:26:11 -04:00