@@ -24,7 +24,7 @@ void ForStatement::RenderLoop(const InternalValue& loopVal, OutStream& os, Rende
2424 context[" loop" ] = MapAdapter::CreateAdapter (&loopVar);
2525 if (m_isRecursive)
2626 {
27- loopVar[" operator()" ] = Callable ([this ](const CallParams& params, OutStream& stream, RenderContext& context) {
27+ loopVar[" operator()" ] = Callable (Callable::GlobalFunc, [this ](const CallParams& params, OutStream& stream, RenderContext& context) {
2828 bool isSucceeded = false ;
2929 auto parsedParams = helpers::ParseCallParams ({{" var" , true }}, params, isSucceeded);
3030 if (!isSucceeded)
@@ -200,7 +200,7 @@ void ParentBlockStatement::Render(OutStream& os, RenderContext& values)
200200
201201 auto & scope = innerContext.EnterScope ();
202202 scope[" $$__super_block" ] = static_cast <RendererBase*>(this );
203- scope[" super" ] = Callable ([this ](const CallParams&, OutStream& stream, RenderContext& context) {
203+ scope[" super" ] = Callable (Callable::SpecialFunc, [this ](const CallParams&, OutStream& stream, RenderContext& context) {
204204 m_mainBody->Render (stream, context);
205205 });
206206 if (!m_isScoped)
@@ -212,7 +212,7 @@ void ParentBlockStatement::Render(OutStream& os, RenderContext& values)
212212 auto & globalScope = values.GetGlobalScope ();
213213 auto selfMap = GetIf<MapAdapter>(&globalScope[std::string (" self" )]);
214214 if (!selfMap->HasValue (m_name))
215- selfMap->SetValue (m_name, MakeWrapped (Callable ([this ](const CallParams&, OutStream& stream, RenderContext& context) {
215+ selfMap->SetValue (m_name, MakeWrapped (Callable (Callable::SpecialFunc, [this ](const CallParams&, OutStream& stream, RenderContext& context) {
216216 Render (stream, context);
217217 })));
218218}
@@ -322,7 +322,7 @@ void MacroStatement::Render(OutStream& os, RenderContext& values)
322322{
323323 PrepareMacroParams (values);
324324
325- values.GetCurrentScope ()[m_name] = Callable ([this ](const CallParams& callParams, OutStream& stream, RenderContext& context) {
325+ values.GetCurrentScope ()[m_name] = Callable (Callable::Macro, [this ](const CallParams& callParams, OutStream& stream, RenderContext& context) {
326326 InvokeMacroRenderer (callParams, stream, context);
327327 });
328328}
@@ -398,7 +398,7 @@ void MacroCallStatement::Render(OutStream& os, RenderContext& values)
398398 if (hasCallerVal)
399399 prevCaller = callerP->second ;
400400
401- curScope[" caller" ] = Callable ([this ](const CallParams& callParams, OutStream& stream, RenderContext& context) {
401+ curScope[" caller" ] = Callable (Callable::Macro, [this ](const CallParams& callParams, OutStream& stream, RenderContext& context) {
402402 InvokeMacroRenderer (callParams, stream, context);
403403 });
404404
0 commit comments