stack. Стек вызовов методов   [3.4.5]

^reflection:stack[опции]

Метод возвращает текущее состояние стека вызовов методов на Parser. Для каждого стекового кадра возвращается хеш, содержащий
self, имя вызванного метода, имя файла и строку, в которой определен метод.

Можно задать хеш опций.
·$.args(false|true) - Дополнительно создавать хеш args, содержащий переданные методу параметры. По умолчанию - не создавать.  
·$.locals(false|true) - Дополнительно создавать хеш locals, содержащий локальные переменные метода. По умолчанию - не создавать.  
·$.limit(n) - Ограничить число возвращаемых стековых кадров. По умолчанию - возвращаются все.  
·$.offset(n) - Возвращать стековые кадры, начиная с указанного. По умолчанию - возвращаются начиная с первого.  


Пример

@example[value]
^json:string[^reflection:stack[ $.args(true) ]; $.indent(true) ]

@main[]
^example[
some value]


Выведет:

{
   "1":{
      "self":{},
      "name":"example",
      "file":"filename.html",
      "line":1,
      "args":{
         "value":"some value"
      }
   },
   "2":{
      "self":{},
      "name":"main",
      "file":"filename.html",
      "line":4,
      "args":{}
   }
}



Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 25.09.2024