reflection Alt ←

Статический метод :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":{}
	}
}