Подтвердить что ты не робот

Распечатка переменных и значений в объекте Groovy

Как распечатать (общедоступные и внутренние) переменные и их значения объекта Groovy?

то есть

class X
{
  def X = 10
  def Y = 5

  private void doPrivate()
  {
      def Z = 3
  }
}

Должен дать

X, 10
Y, 5
Z, 3

Это должно быть динамическое решение, то есть во время выполнения.

4b9b3361

Ответ 1

dump()

Например

"ddd".dump()

Печать

[email protected] value = dddd offset = 0 count = 4 hash = 3078400

Ответ 2

Ты имеешь в виду вот это?

def a = "Hi"

a.properties.each { println "$it.key -> $it.value" }

дает:

class -> class java.lang.String
bytes -> [72, 105]
empty -> false

[править]

С вашим отредактированным вопросом это даст вам:

class -> class X
y -> 5
metaClass -> [email protected][[email protected][class X]]
x -> 10

Я не думаю, что можно получить значение Z во время выполнения... Единственный способ, которым я могу это сделать, - это использовать AST...