make some more optimizations when generating the output
This commit is contained in:
@@ -2823,7 +2823,7 @@ void Generator<StreamType, is_pikotools_stream, is_autoescape_stream>::MakeEzcFr
|
||||
{
|
||||
StreamType * old_stream = output_stream;
|
||||
bool old_is_output_stream_allowed = is_output_stream_allowed;
|
||||
bool put_directly_to_one_frame = false;
|
||||
bool put_directly = false;
|
||||
bool is_current_frame_allowed = HasAskForSuchFrame(item.function);
|
||||
|
||||
if( !is_output_stream_allowed && is_current_frame_allowed )
|
||||
@@ -2836,10 +2836,19 @@ void Generator<StreamType, is_pikotools_stream, is_autoescape_stream>::MakeEzcFr
|
||||
/*
|
||||
* some optimization, put directly to the frame stream
|
||||
*/
|
||||
put_directly_to_one_frame = true;
|
||||
put_directly = true;
|
||||
output_stream = FindAddOutputStream(item.function.parameters[0]->name);
|
||||
}
|
||||
else
|
||||
if( old_is_output_stream_allowed && !is_current_frame_allowed )
|
||||
{
|
||||
/*
|
||||
* some optimization, put directly to the old stream
|
||||
*/
|
||||
put_directly = true;
|
||||
// do not modify output_stream here
|
||||
}
|
||||
else
|
||||
{
|
||||
output_stream = GetNewStreamForFrame();
|
||||
}
|
||||
@@ -2849,7 +2858,7 @@ void Generator<StreamType, is_pikotools_stream, is_autoescape_stream>::MakeEzcFr
|
||||
if( !item.item_tab.empty() )
|
||||
MakeText( *item.item_tab[0] ); // should be only one item - item_container
|
||||
|
||||
if( !put_directly_to_one_frame )
|
||||
if( !put_directly )
|
||||
{
|
||||
if( old_is_output_stream_allowed )
|
||||
{
|
||||
|
Reference in New Issue
Block a user