зеркало из https://github.com/github/ruby.git
LLDB: Print actual node structure [ci skip]
This commit is contained in:
Родитель
c3fc70cc93
Коммит
7de6908a28
|
@ -249,6 +249,216 @@ class RbInspector(LLDBInterface):
|
|||
val = val.Cast(tRNode)
|
||||
|
||||
self._append_command_output("p (node_type) %d" % nd_type)
|
||||
|
||||
if nd_type == self.ruby_globals["NODE_SCOPE"]:
|
||||
self._append_command_output("p *(struct RNode_SCOPE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_BLOCK"]:
|
||||
self._append_command_output("p *(struct RNode_BLOCK *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_IF"]:
|
||||
self._append_command_output("p *(struct RNode_IF *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_UNLESS"]:
|
||||
self._append_command_output("p *(struct RNode_UNLESS *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CASE"]:
|
||||
self._append_command_output("p *(struct RNode_CASE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CASE2"]:
|
||||
self._append_command_output("p *(struct RNode_CASE2 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CASE3"]:
|
||||
self._append_command_output("p *(struct RNode_CASE3 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_WHEN"]:
|
||||
self._append_command_output("p *(struct RNode_WHEN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_IN"]:
|
||||
self._append_command_output("p *(struct RNode_IN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_WHILE"]:
|
||||
self._append_command_output("p *(struct RNode_WHILE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_UNTIL"]:
|
||||
self._append_command_output("p *(struct RNode_UNTIL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ITER"]:
|
||||
self._append_command_output("p *(struct RNode_ITER *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_FOR"]:
|
||||
self._append_command_output("p *(struct RNode_FOR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_FOR_MASGN"]:
|
||||
self._append_command_output("p *(struct RNode_FOR_MASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_BREAK"]:
|
||||
self._append_command_output("p *(struct RNode_BREAK *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_NEXT"]:
|
||||
self._append_command_output("p *(struct RNode_NEXT *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_REDO"]:
|
||||
self._append_command_output("p *(struct RNode_REDO *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_RETRY"]:
|
||||
self._append_command_output("p *(struct RNode_RETRY *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_BEGIN"]:
|
||||
self._append_command_output("p *(struct RNode_BEGIN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_RESCUE"]:
|
||||
self._append_command_output("p *(struct RNode_RESCUE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_RESBODY"]:
|
||||
self._append_command_output("p *(struct RNode_RESBODY *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ENSURE"]:
|
||||
self._append_command_output("p *(struct RNode_ENSURE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_AND"]:
|
||||
self._append_command_output("p *(struct RNode_AND *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OR"]:
|
||||
self._append_command_output("p *(struct RNode_OR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_MASGN"]:
|
||||
self._append_command_output("p *(struct RNode_MASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_LASGN"]:
|
||||
self._append_command_output("p *(struct RNode_LASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DASGN"]:
|
||||
self._append_command_output("p *(struct RNode_DASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_GASGN"]:
|
||||
self._append_command_output("p *(struct RNode_GASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_IASGN"]:
|
||||
self._append_command_output("p *(struct RNode_IASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CDECL"]:
|
||||
self._append_command_output("p *(struct RNode_CDECL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CVASGN"]:
|
||||
self._append_command_output("p *(struct RNode_CVASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OP_ASGN1"]:
|
||||
self._append_command_output("p *(struct RNode_OP_ASGN1 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OP_ASGN2"]:
|
||||
self._append_command_output("p *(struct RNode_OP_ASGN2 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OP_ASGN_AND"]:
|
||||
self._append_command_output("p *(struct RNode_OP_ASGN_AND *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OP_ASGN_OR"]:
|
||||
self._append_command_output("p *(struct RNode_OP_ASGN_OR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OP_CDECL"]:
|
||||
self._append_command_output("p *(struct RNode_OP_CDECL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CALL"]:
|
||||
self._append_command_output("p *(struct RNode_CALL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OPCALL"]:
|
||||
self._append_command_output("p *(struct RNode_OPCALL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_FCALL"]:
|
||||
self._append_command_output("p *(struct RNode_FCALL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_VCALL"]:
|
||||
self._append_command_output("p *(struct RNode_VCALL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_QCALL"]:
|
||||
self._append_command_output("p *(struct RNode_QCALL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_SUPER"]:
|
||||
self._append_command_output("p *(struct RNode_SUPER *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ZSUPER"]:
|
||||
self._append_command_output("p *(struct RNode_ZSUPER *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_LIST"]:
|
||||
self._append_command_output("p *(struct RNode_LIST *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ZLIST"]:
|
||||
self._append_command_output("p *(struct RNode_ZLIST *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_HASH"]:
|
||||
self._append_command_output("p *(struct RNode_HASH *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_RETURN"]:
|
||||
self._append_command_output("p *(struct RNode_RETURN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_YIELD"]:
|
||||
self._append_command_output("p *(struct RNode_YIELD *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_LVAR"]:
|
||||
self._append_command_output("p *(struct RNode_LVAR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DVAR"]:
|
||||
self._append_command_output("p *(struct RNode_DVAR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_GVAR"]:
|
||||
self._append_command_output("p *(struct RNode_GVAR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CONST"]:
|
||||
self._append_command_output("p *(struct RNode_CONST *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CVAR"]:
|
||||
self._append_command_output("p *(struct RNode_CVAR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_NTH_REF"]:
|
||||
self._append_command_output("p *(struct RNode_NTH_REF *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_BACK_REF"]:
|
||||
self._append_command_output("p *(struct RNode_BACK_REF *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_MATCH"]:
|
||||
self._append_command_output("p *(struct RNode_MATCH *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_MATCH2"]:
|
||||
self._append_command_output("p *(struct RNode_MATCH2 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_MATCH3"]:
|
||||
self._append_command_output("p *(struct RNode_MATCH3 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_LIT"]:
|
||||
self._append_command_output("p *(struct RNode_LIT *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_STR"]:
|
||||
self._append_command_output("p *(struct RNode_STR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DSTR"]:
|
||||
self._append_command_output("p *(struct RNode_DSTR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_XSTR"]:
|
||||
self._append_command_output("p *(struct RNode_XSTR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DXSTR"]:
|
||||
self._append_command_output("p *(struct RNode_DXSTR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_EVSTR"]:
|
||||
self._append_command_output("p *(struct RNode_EVSTR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DREGX"]:
|
||||
self._append_command_output("p *(struct RNode_DREGX *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ONCE"]:
|
||||
self._append_command_output("p *(struct RNode_ONCE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ARGS"]:
|
||||
self._append_command_output("p *(struct RNode_ARGS *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ARGS_AUX"]:
|
||||
self._append_command_output("p *(struct RNode_ARGS_AUX *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_OPT_ARG"]:
|
||||
self._append_command_output("p *(struct RNode_OPT_ARG *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_KW_ARG"]:
|
||||
self._append_command_output("p *(struct RNode_KW_ARG *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_POSTARG"]:
|
||||
self._append_command_output("p *(struct RNode_POSTARG *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ARGSCAT"]:
|
||||
self._append_command_output("p *(struct RNode_ARGSCAT *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ARGSPUSH"]:
|
||||
self._append_command_output("p *(struct RNode_ARGSPUSH *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_SPLAT"]:
|
||||
self._append_command_output("p *(struct RNode_SPLAT *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DEFN"]:
|
||||
self._append_command_output("p *(struct RNode_DEFN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DEFS"]:
|
||||
self._append_command_output("p *(struct RNode_DEFS *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ALIAS"]:
|
||||
self._append_command_output("p *(struct RNode_ALIAS *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_VALIAS"]:
|
||||
self._append_command_output("p *(struct RNode_VALIAS *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_UNDEF"]:
|
||||
self._append_command_output("p *(struct RNode_UNDEF *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_CLASS"]:
|
||||
self._append_command_output("p *(struct RNode_CLASS *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_MODULE"]:
|
||||
self._append_command_output("p *(struct RNode_MODULE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_SCLASS"]:
|
||||
self._append_command_output("p *(struct RNode_SCLASS *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_COLON2"]:
|
||||
self._append_command_output("p *(struct RNode_COLON2 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_COLON3"]:
|
||||
self._append_command_output("p *(struct RNode_COLON3 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DOT2"]:
|
||||
self._append_command_output("p *(struct RNode_DOT2 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DOT3"]:
|
||||
self._append_command_output("p *(struct RNode_DOT3 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_FLIP2"]:
|
||||
self._append_command_output("p *(struct RNode_FLIP2 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_FLIP3"]:
|
||||
self._append_command_output("p *(struct RNode_FLIP3 *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_SELF"]:
|
||||
self._append_command_output("p *(struct RNode_SELF *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_NIL"]:
|
||||
self._append_command_output("p *(struct RNode_NIL *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_TRUE"]:
|
||||
self._append_command_output("p *(struct RNode_TRUE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_FALSE"]:
|
||||
self._append_command_output("p *(struct RNode_FALSE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ERRINFO"]:
|
||||
self._append_command_output("p *(struct RNode_ERRINFO *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DEFINED"]:
|
||||
self._append_command_output("p *(struct RNode_DEFINED *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_POSTEXE"]:
|
||||
self._append_command_output("p *(struct RNode_POSTEXE *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_DSYM"]:
|
||||
self._append_command_output("p *(struct RNode_DSYM *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ATTRASGN"]:
|
||||
self._append_command_output("p *(struct RNode_ATTRASGN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_LAMBDA"]:
|
||||
self._append_command_output("p *(struct RNode_LAMBDA *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ARYPTN"]:
|
||||
self._append_command_output("p *(struct RNode_ARYPTN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_HSHPTN"]:
|
||||
self._append_command_output("p *(struct RNode_HSHPTN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_FNDPTN"]:
|
||||
self._append_command_output("p *(struct RNode_FNDPTN *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_ERROR"]:
|
||||
self._append_command_output("p *(struct RNode_ERROR *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_RIPPER"]:
|
||||
self._append_command_output("p *(struct RNode_RIPPER *) %0#x" % val.GetValueAsUnsigned())
|
||||
elif nd_type == self.ruby_globals["NODE_RIPPER_VALUES"]:
|
||||
self._append_command_output("p *(struct RNode_RIPPER_VALUES *) %0#x" % val.GetValueAsUnsigned())
|
||||
else:
|
||||
self._append_command_output("p *(struct RNode *) %0#x" % val.GetValueAsUnsigned())
|
||||
|
||||
elif rval.is_type("RUBY_T_IMEMO"):
|
||||
|
|
Загрузка…
Ссылка в новой задаче