summaryrefslogtreecommitdiff
path: root/.gdbinit
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-20 04:53:04 (GMT)
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-09-20 04:53:04 (GMT)
commit1bf8b67c4f9a8d7d8439b780792ef434a2928abe (patch)
tree98ae3d39d1523b8e5ba85d88108695728555c65e /.gdbinit
parent52daf76ed9bf0fbcbef05a2d48804007053fd1a4 (diff)
.gdbinit: rp_id
* .gdbinit (rp_id): extract from rp and rb_id2name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to '.gdbinit')
-rw-r--r--.gdbinit161
1 files changed, 86 insertions, 75 deletions
diff --git a/.gdbinit b/.gdbinit
index 175c848..d649efe 100644
--- a/.gdbinit
+++ b/.gdbinit
@@ -27,75 +27,8 @@ define rp
else
if ((VALUE)($arg0) & ~(~(VALUE)0<<RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG
set $id = (($arg0) >> RUBY_SPECIAL_SHIFT)
- if $id == '!' || $id == '+' || $id == '-' || $id == '*' || $id == '/' || $id == '%' || $id == '<' || $id == '>' || $id == '`'
- printf "SYMBOL(:%c)\n", $id
- else
- if $id == idDot2
- printf "%sSYMBOL%s(:..)\n", $color_type, $color_end
- else
- if $id == idDot3
- printf "%sSYMBOL%s(:...)\n", $color_type, $color_end
- else
- if $id == idUPlus
- printf "%sSYMBOL%s(:+@)\n", $color_type, $color_end
- else
- if $id == idUMinus
- printf "%sSYMBOL%s(:-@)\n", $color_type, $color_end
- else
- if $id == idPow
- printf "%sSYMBOL%s(:**)\n", $color_type, $color_end
- else
- if $id == idCmp
- printf "%sSYMBOL%s(:<=>)\n", $color_type, $color_end
- else
- if $id == idLTLT
- printf "%sSYMBOL%s(:<<)\n", $color_type, $color_end
- else
- if $id == idLE
- printf "%sSYMBOL%s(:<=)\n", $color_type, $color_end
- else
- if $id == idGE
- printf "%sSYMBOL%s(:>=)\n", $color_type, $color_end
- else
- if $id == idEq
- printf "%sSYMBOL%s(:==)\n", $color_type, $color_end
- else
- if $id == idEqq
- printf "%sSYMBOL%s(:===)\n", $color_type, $color_end
- else
- if $id == idNeq
- printf "%sSYMBOL%s(:!=)\n", $color_type, $color_end
- else
- if $id == idEqTilde
- printf "%sSYMBOL%s(:=~)\n", $color_type, $color_end
- else
- if $id == idNeqTilde
- printf "%sSYMBOL%s(:!~)\n", $color_type, $color_end
- else
- if $id == idAREF
- printf "%sSYMBOL%s(:[])\n", $color_type, $color_end
- else
- if $id == idASET
- printf "%sSYMBOL%s(:[]=)\n", $color_type, $color_end
- else
- printf "%sSYMBOL%s(%ld)\n", $color_type, $color_end, $id
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
+ printf "%sSYMBOL%s", $color_type, $color_end
+ rp_id $id
else
if ($arg0) == RUBY_Qfalse
echo false\n
@@ -362,6 +295,88 @@ document rp
Print a Ruby's VALUE.
end
+define rp_id
+ set $id = (ID)$arg0
+ if $id == '!' || $id == '+' || $id == '-' || $id == '*' || $id == '/' || $id == '%' || $id == '<' || $id == '>' || $id == '`'
+ printf "(:%c)\n", $id
+ else
+ if $id == idDot2
+ printf "(:..)\n"
+ else
+ if $id == idDot3
+ printf "(:...)\n"
+ else
+ if $id == idUPlus
+ printf "(:+@)\n"
+ else
+ if $id == idUMinus
+ printf "(:-@)\n"
+ else
+ if $id == idPow
+ printf "(:**)\n"
+ else
+ if $id == idCmp
+ printf "(:<=>)\n"
+ else
+ if $id == idLTLT
+ printf "(:<<)\n"
+ else
+ if $id == idLE
+ printf "(:<=)\n"
+ else
+ if $id == idGE
+ printf "(:>=)\n"
+ else
+ if $id == idEq
+ printf "(:==)\n"
+ else
+ if $id == idEqq
+ printf "(:===)\n"
+ else
+ if $id == idNeq
+ printf "(:!=)\n"
+ else
+ if $id == idEqTilde
+ printf "(:=~)\n"
+ else
+ if $id == idNeqTilde
+ printf "(:!~)\n"
+ else
+ if $id == idAREF
+ printf "(:[])\n"
+ else
+ if $id == idASET
+ printf "(:[]=)\n"
+ else
+ printf "(%ld): ", $id
+ rb_numtable_entry global_symbols.id_str $id
+ if $rb_numtable_rec
+ rp $rb_numtable_rec
+ else
+ echo undef\n
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+end
+document rp_id
+ Print an ID.
+end
+
define rp_class
printf "(struct RClass *) %p", (void*)$arg0
if ((struct RClass *)($arg0))->ptr.origin != $arg0
@@ -689,12 +704,8 @@ define rb_numtable_entry
end
define rb_id2name
- rb_numtable_entry global_symbols.id_str (ID)$arg0
- if $rb_numtable_rec
- rp $rb_numtable_rec
- else
- echo undef\n
- end
+ printf "%sID%s: ", $color_type, $color_end
+ rp_id $arg0
end
document rb_id2name
Print the name of id