looksee 3.0.0-universal-java-1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG +66 -0
- data/LICENSE +22 -0
- data/README.markdown +175 -0
- data/Rakefile +13 -0
- data/ext/extconf.rb +19 -0
- data/ext/mri/1.9.2/debug.h +36 -0
- data/ext/mri/1.9.2/id.h +170 -0
- data/ext/mri/1.9.2/method.h +103 -0
- data/ext/mri/1.9.2/node.h +483 -0
- data/ext/mri/1.9.2/thread_pthread.h +27 -0
- data/ext/mri/1.9.2/vm_core.h +707 -0
- data/ext/mri/1.9.2/vm_opts.h +51 -0
- data/ext/mri/1.9.3/atomic.h +56 -0
- data/ext/mri/1.9.3/debug.h +41 -0
- data/ext/mri/1.9.3/id.h +175 -0
- data/ext/mri/1.9.3/internal.h +227 -0
- data/ext/mri/1.9.3/internal_falcon.h +248 -0
- data/ext/mri/1.9.3/method.h +105 -0
- data/ext/mri/1.9.3/node.h +503 -0
- data/ext/mri/1.9.3/thread_pthread.h +51 -0
- data/ext/mri/1.9.3/vm_core.h +755 -0
- data/ext/mri/1.9.3/vm_opts.h +51 -0
- data/ext/mri/2.0.0/internal.h +378 -0
- data/ext/mri/2.0.0/method.h +138 -0
- data/ext/mri/2.1.0/internal.h +889 -0
- data/ext/mri/2.1.0/method.h +142 -0
- data/ext/mri/2.2.0/internal.h +1182 -0
- data/ext/mri/2.2.0/method.h +141 -0
- data/ext/mri/env-1.8.h +27 -0
- data/ext/mri/eval_c-1.8.h +27 -0
- data/ext/mri/mri.c +309 -0
- data/ext/mri/node-1.9.h +35 -0
- data/ext/rbx/rbx.c +13 -0
- data/lib/looksee.rb +2 -0
- data/lib/looksee/JRuby.jar +0 -0
- data/lib/looksee/adapter.rb +8 -0
- data/lib/looksee/adapter/base.rb +105 -0
- data/lib/looksee/adapter/rubinius.rb +84 -0
- data/lib/looksee/clean.rb +169 -0
- data/lib/looksee/columnizer.rb +73 -0
- data/lib/looksee/core_ext.rb +48 -0
- data/lib/looksee/editor.rb +64 -0
- data/lib/looksee/help.rb +54 -0
- data/lib/looksee/inspector.rb +70 -0
- data/lib/looksee/lookup_path.rb +95 -0
- data/lib/looksee/rbx.bundle +0 -0
- data/lib/looksee/version.rb +11 -0
- data/spec/looksee/adapter_spec.rb +588 -0
- data/spec/looksee/clean_spec.rb +41 -0
- data/spec/looksee/columnizer_spec.rb +52 -0
- data/spec/looksee/core_ext_spec.rb +17 -0
- data/spec/looksee/editor_spec.rb +107 -0
- data/spec/looksee/inspector_spec.rb +179 -0
- data/spec/looksee/lookup_path_spec.rb +87 -0
- data/spec/spec_helper.rb +29 -0
- data/spec/support/core_ext.rb +25 -0
- data/spec/support/temporary_classes.rb +78 -0
- data/spec/support/test_adapter.rb +83 -0
- metadata +116 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7b6440efe56457fd037f23768b3affcfade4de70
|
4
|
+
data.tar.gz: 77514ce0c17aeda4ef96bd91709402ccabf6a406
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 929395ec216550b73b552cf6bd7ef619cb8e551b8ab9e9289f06d4c63d8fc408b0970aa42353f1f912ff8b1924c67c0bc89f7fdc651b6f0dbc5c2d4eee3f05be
|
7
|
+
data.tar.gz: 78f1ab931681c436ad3843f356676f8aad679e3d6eade65bbda9f554413bf9402c37fd6f0a0b3555ceed1e2e1eb51d634756d06c6ef0a022fb424edc7acb5e15
|
data/CHANGELOG
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
== 3.0.0 2015-01-06
|
2
|
+
|
3
|
+
* Support for MRI 2.2.0.
|
4
|
+
* Work with pry.
|
5
|
+
* Remove wirble support.
|
6
|
+
|
7
|
+
== 2.1.1 2014-07-13
|
8
|
+
|
9
|
+
* Fix error for objects with an unnamed module in the lookup path.
|
10
|
+
* Fix editing for included methods.
|
11
|
+
|
12
|
+
== 2.1.0 2014-03-05
|
13
|
+
|
14
|
+
* Add alternative syntax: Looksee[object, *args]. Useful for BasicObject
|
15
|
+
instances, and proxies which delegate #ls via method_missing.
|
16
|
+
* Fix display of origin classes (used when modules are prepended).
|
17
|
+
|
18
|
+
== 2.0.0 2014-01-01
|
19
|
+
|
20
|
+
* Support for MRI 2.1, JRuby 1.7, Rubinius 2.2.
|
21
|
+
* Looksee now only adds #ls to Object. The old way would frequently conflict
|
22
|
+
with, e.g., Rails controller conventions.
|
23
|
+
|
24
|
+
- object.edit is now object.ls.edit.
|
25
|
+
- Looksee.rename now just takes the new name for :ls.
|
26
|
+
- The LOOKSEE_METHODS env var is now LOOKSEE_METHOD, and is simply the new
|
27
|
+
name for :ls.
|
28
|
+
* Raise informative errors when #edit fails (e.g., for methods without a source
|
29
|
+
location).
|
30
|
+
|
31
|
+
== 1.1.0 2013-03-22
|
32
|
+
|
33
|
+
* Support for MRI 2.0.0.
|
34
|
+
* Support for MRI 1.9.3 with funnyfalcon's patches.
|
35
|
+
* Fix listing methods of a class with an undefined allocator (e.g. Struct).
|
36
|
+
* Updated supported rubies in README.
|
37
|
+
|
38
|
+
== 1.0.3 2011-09-05
|
39
|
+
|
40
|
+
* MRI 1.9.3 support.
|
41
|
+
|
42
|
+
== 1.0.2 2011-03-27
|
43
|
+
|
44
|
+
* Fix JRuby extension name for case-sensitive filesystems.
|
45
|
+
|
46
|
+
== 1.0.1 2011-03-15
|
47
|
+
|
48
|
+
* Fix bug exception when trying to edit a primitive method on MRI.
|
49
|
+
* Allow customizing the method names added to every object. Either:
|
50
|
+
* Call Looksee.rename(:ls => new_name, :edit => new_name)
|
51
|
+
* Set LOOKSEE_METHODS='ls=new_name edit=new_name' in your environment.
|
52
|
+
|
53
|
+
== 1.0.0 2011-03-09
|
54
|
+
|
55
|
+
* New API.
|
56
|
+
* old: lp(object, :private => true, :undefined => false).grep(/blah/)
|
57
|
+
* new: object.ls :private, :noundefined, /blah/
|
58
|
+
* Configuration has changed accordingly.
|
59
|
+
* old: Looksee.default_lookup_path_options = {:private => true, :undefined => false}
|
60
|
+
* new: Looksee.default_specifiers = [:private, :noundefined]
|
61
|
+
* Require 'looksee' instead of 'looksee/shortcuts'. For
|
62
|
+
non-pollutiness, use "require 'looksee/clean'".
|
63
|
+
* All methods are now listed by default.
|
64
|
+
* Modules are now listed root class first.
|
65
|
+
* Support for Ruby MRI 1.9, JRuby, and Rubinius.
|
66
|
+
* Add Object#edit(METHOD), to open Object#METHOD in your text editor.
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
The MIT License
|
2
|
+
|
3
|
+
Copyright (c) George Ogata
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.markdown
ADDED
@@ -0,0 +1,175 @@
|
|
1
|
+
# Looksee [![Build Status](https://travis-ci.org/oggy/looksee.png)](https://travis-ci.org/oggy/looksee) [![Gem Version](https://badge.fury.io/rb/looksee.svg)](http://badge.fury.io/rb/looksee)
|
2
|
+
|
3
|
+
A tool for illustrating the ancestry and method lookup path of
|
4
|
+
objects. Handy for exploring unfamiliar codebases.
|
5
|
+
|
6
|
+
## How
|
7
|
+
|
8
|
+
Install me:
|
9
|
+
|
10
|
+
gem install looksee
|
11
|
+
|
12
|
+
Pop this in your `.irbrc`:
|
13
|
+
|
14
|
+
require 'looksee'
|
15
|
+
|
16
|
+
Now each object has a method `ls`, which shows you all its methods.
|
17
|
+
|
18
|
+
irb> [].ls
|
19
|
+
=> BasicObject
|
20
|
+
! __send__ instance_exec singleton_method_undefined
|
21
|
+
!= equal? method_missing
|
22
|
+
== initialize singleton_method_added
|
23
|
+
__id__ instance_eval singleton_method_removed
|
24
|
+
Kernel
|
25
|
+
!~ frozen? puts
|
26
|
+
<=> gem raise
|
27
|
+
=== gem_original_require rand
|
28
|
+
=~ gets readline
|
29
|
+
Array global_variables readlines
|
30
|
+
Complex hash remove_instance_variable
|
31
|
+
Float initialize_clone require
|
32
|
+
Integer initialize_copy require_relative
|
33
|
+
Rational initialize_dup respond_to?
|
34
|
+
String inspect respond_to_missing?
|
35
|
+
__callee__ instance_of? select
|
36
|
+
__method__ instance_variable_defined? send
|
37
|
+
` instance_variable_get set_trace_func
|
38
|
+
abort instance_variable_set singleton_class
|
39
|
+
at_exit instance_variables singleton_methods
|
40
|
+
autoload is_a? sleep
|
41
|
+
autoload? iterator? spawn
|
42
|
+
binding kind_of? sprintf
|
43
|
+
block_given? lambda srand
|
44
|
+
caller load syscall
|
45
|
+
catch local_variables system
|
46
|
+
class loop taint
|
47
|
+
clone method tainted?
|
48
|
+
define_singleton_method methods tap
|
49
|
+
display nil? test
|
50
|
+
dup object_id throw
|
51
|
+
enum_for open to_enum
|
52
|
+
eql? p to_s
|
53
|
+
eval print trace_var
|
54
|
+
exec printf trap
|
55
|
+
exit private_methods trust
|
56
|
+
exit! proc untaint
|
57
|
+
extend protected_methods untrace_var
|
58
|
+
fail public_method untrust
|
59
|
+
fork public_methods untrusted?
|
60
|
+
format public_send warn
|
61
|
+
freeze putc
|
62
|
+
Looksee::ObjectMixin
|
63
|
+
ls
|
64
|
+
Object
|
65
|
+
default_src_encoding irb_binding
|
66
|
+
Enumerable
|
67
|
+
all? each_cons flat_map min_by slice_before
|
68
|
+
any? each_entry grep minmax sort
|
69
|
+
chunk each_slice group_by minmax_by sort_by
|
70
|
+
collect each_with_index include? none? take
|
71
|
+
collect_concat each_with_object inject one? take_while
|
72
|
+
count entries map partition to_a
|
73
|
+
cycle find max reduce to_set
|
74
|
+
detect find_all max_by reject zip
|
75
|
+
drop find_index member? reverse_each
|
76
|
+
drop_while first min select
|
77
|
+
Array
|
78
|
+
& count hash rassoc size
|
79
|
+
* cycle include? reject slice
|
80
|
+
+ delete index reject! slice!
|
81
|
+
- delete_at initialize repeated_combination sort
|
82
|
+
<< delete_if initialize_copy repeated_permutation sort!
|
83
|
+
<=> drop insert replace sort_by!
|
84
|
+
== drop_while inspect reverse take
|
85
|
+
[] each join reverse! take_while
|
86
|
+
[]= each_index keep_if reverse_each to_a
|
87
|
+
assoc empty? last rindex to_ary
|
88
|
+
at eql? length rotate to_s
|
89
|
+
clear fetch map rotate! transpose
|
90
|
+
collect fill map! sample uniq
|
91
|
+
collect! find_index pack select uniq!
|
92
|
+
combination first permutation select! unshift
|
93
|
+
compact flatten pop shift values_at
|
94
|
+
compact! flatten! product shuffle zip
|
95
|
+
concat frozen? push shuffle! |
|
96
|
+
|
97
|
+
Methods are colored according to whether they're public, protected,
|
98
|
+
private, undefined (using Module#undef_method), or overridden.
|
99
|
+
|
100
|
+
You can hide, say, private methods like this:
|
101
|
+
|
102
|
+
irb> [].ls :noprivate
|
103
|
+
|
104
|
+
Or filter the list by Regexp:
|
105
|
+
|
106
|
+
irb> [].ls /^to_/
|
107
|
+
=> BasicObject
|
108
|
+
Kernel
|
109
|
+
to_enum to_s
|
110
|
+
Looksee::ObjectMixin
|
111
|
+
Object
|
112
|
+
to_yaml to_yaml_properties to_yaml_style
|
113
|
+
Enumerable
|
114
|
+
to_a to_set
|
115
|
+
Array
|
116
|
+
to_a to_ary to_s to_yaml
|
117
|
+
|
118
|
+
## Proxy objects
|
119
|
+
|
120
|
+
Objects that delegate everything via `method_missing` to some other object can
|
121
|
+
be tricky, because they will delegate `ls` itself. To view such objects, you can
|
122
|
+
always do:
|
123
|
+
|
124
|
+
Looksee[object]
|
125
|
+
|
126
|
+
This method inspects the object via interpreter extensions, so it works for the
|
127
|
+
most Byzantine object. It will also work for `BasicObject` instances that don't
|
128
|
+
have an `ls` method. `Object#ls` is simply a wrapper around `Looksee.[]`.
|
129
|
+
|
130
|
+
## To the source!
|
131
|
+
|
132
|
+
If you want to know more about any of those methods, Looksee can
|
133
|
+
take you straight to the source in your editor:
|
134
|
+
|
135
|
+
[].ls.edit :to_set
|
136
|
+
|
137
|
+
By default, this uses `vi`; customize it like this:
|
138
|
+
|
139
|
+
# %f = file, %l = line number
|
140
|
+
Looksee.editor = "mate -l%l %f"
|
141
|
+
|
142
|
+
## `ls` in your way?
|
143
|
+
|
144
|
+
If you have a library that for some reason can't handle an `ls` method existing
|
145
|
+
on `Object`, you may rename it like this:
|
146
|
+
|
147
|
+
Looksee.rename ls: :_ls
|
148
|
+
|
149
|
+
## Quick Reference
|
150
|
+
|
151
|
+
We've got one:
|
152
|
+
|
153
|
+
Looksee.help
|
154
|
+
|
155
|
+
Enjoy!
|
156
|
+
|
157
|
+
## Support
|
158
|
+
|
159
|
+
Looksee supports:
|
160
|
+
|
161
|
+
* MRI 1.9.3, 2.0, 2.1, 2.2
|
162
|
+
* JRuby 1.7
|
163
|
+
* Rubinius 2.4
|
164
|
+
|
165
|
+
## Contributing
|
166
|
+
|
167
|
+
* [Bug reports](https://github.com/oggy/looksee/issues)
|
168
|
+
* [Source](https://github.com/oggy/looksee)
|
169
|
+
* Patches: Fork on Github, send pull request.
|
170
|
+
* Include tests where practical.
|
171
|
+
* Leave the version alone, or bump it in a separate commit.
|
172
|
+
|
173
|
+
## Copyright
|
174
|
+
|
175
|
+
Copyright (c) George Ogata. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'ritual'
|
2
|
+
|
3
|
+
ruby_engine = (Object.const_defined?(:RUBY_ENGINE) ? RUBY_ENGINE : 'ruby')
|
4
|
+
if ruby_engine == 'jruby'
|
5
|
+
extension :type => :jruby, :path => 'ext/jruby', :install_as => "lib/looksee/JRuby"
|
6
|
+
else
|
7
|
+
name = ruby_engine == 'ruby' ? 'mri' : ruby_engine
|
8
|
+
extension :build_as => "ext/#{name}", :install_as => "lib/looksee/#{name}"
|
9
|
+
end
|
10
|
+
|
11
|
+
task :default => [:clobber, :ext] do
|
12
|
+
sh 'bundle exec rspec -I. spec'
|
13
|
+
end
|
data/ext/extconf.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
ruby_engine = Object.const_defined?(:RUBY_ENGINE) ? RUBY_ENGINE : 'ruby'
|
2
|
+
extension = ruby_engine == 'ruby' ? 'mri' : ruby_engine
|
3
|
+
|
4
|
+
require 'mkmf'
|
5
|
+
$CPPFLAGS << " -DRUBY_VERSION=#{RUBY_VERSION.tr('.', '')}"
|
6
|
+
if extension == 'mri'
|
7
|
+
if RUBY_VERSION >= '2.2.0'
|
8
|
+
$CPPFLAGS << " -Imri/2.2.0"
|
9
|
+
elsif RUBY_VERSION >= '2.1.0'
|
10
|
+
$CPPFLAGS << " -Imri/2.1.0"
|
11
|
+
elsif RUBY_VERSION >= '2.0.0'
|
12
|
+
$CPPFLAGS << " -Imri/2.0.0"
|
13
|
+
elsif RUBY_VERSION >= '1.9.3'
|
14
|
+
$CPPFLAGS << " -Imri/1.9.3"
|
15
|
+
elsif RUBY_VERSION >= '1.9.2'
|
16
|
+
$CPPFLAGS << " -Imri/1.9.2"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
create_makefile "looksee/#{extension}", extension
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/**********************************************************************
|
2
|
+
|
3
|
+
debug.h - YARV Debug function interface
|
4
|
+
|
5
|
+
$Author: akr $
|
6
|
+
created at: 04/08/25 02:33:49 JST
|
7
|
+
|
8
|
+
Copyright (C) 2004-2007 Koichi Sasada
|
9
|
+
|
10
|
+
**********************************************************************/
|
11
|
+
|
12
|
+
#ifndef RUBY_DEBUG_H
|
13
|
+
#define RUBY_DEBUG_H
|
14
|
+
|
15
|
+
#include "ruby/ruby.h"
|
16
|
+
#include "node.h"
|
17
|
+
|
18
|
+
#define dpv(h,v) ruby_debug_print_value(-1, 0, h, v)
|
19
|
+
#define dp(v) ruby_debug_print_value(-1, 0, "", v)
|
20
|
+
#define dpi(i) ruby_debug_print_id(-1, 0, "", i)
|
21
|
+
#define dpn(n) ruby_debug_print_node(-1, 0, "", n)
|
22
|
+
|
23
|
+
#define bp() ruby_debug_breakpoint()
|
24
|
+
|
25
|
+
VALUE ruby_debug_print_value(int level, int debug_level, const char *header, VALUE v);
|
26
|
+
ID ruby_debug_print_id(int level, int debug_level, const char *header, ID id);
|
27
|
+
NODE *ruby_debug_print_node(int level, int debug_level, const char *header, const NODE *node);
|
28
|
+
int ruby_debug_print_indent(int level, int debug_level, int indent_level);
|
29
|
+
void ruby_debug_breakpoint(void);
|
30
|
+
void ruby_debug_gc_check_func(void);
|
31
|
+
|
32
|
+
#ifdef RUBY_DEBUG_ENV
|
33
|
+
void ruby_set_debug_option(const char *str);
|
34
|
+
#endif
|
35
|
+
|
36
|
+
#endif /* RUBY_DEBUG_H */
|
data/ext/mri/1.9.2/id.h
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
/* DO NOT EDIT THIS FILE DIRECTLY */
|
2
|
+
/**********************************************************************
|
3
|
+
|
4
|
+
id.h -
|
5
|
+
|
6
|
+
$Author: akr $
|
7
|
+
created at: Sun Oct 19 21:12:51 2008
|
8
|
+
|
9
|
+
Copyright (C) 2007 Koichi Sasada
|
10
|
+
|
11
|
+
**********************************************************************/
|
12
|
+
|
13
|
+
#ifndef RUBY_ID_H
|
14
|
+
#define RUBY_ID_H
|
15
|
+
|
16
|
+
#define ID_SCOPE_SHIFT 3
|
17
|
+
#define ID_SCOPE_MASK 0x07
|
18
|
+
#define ID_LOCAL 0x00
|
19
|
+
#define ID_INSTANCE 0x01
|
20
|
+
#define ID_GLOBAL 0x03
|
21
|
+
#define ID_ATTRSET 0x04
|
22
|
+
#define ID_CONST 0x05
|
23
|
+
#define ID_CLASS 0x06
|
24
|
+
#define ID_JUNK 0x07
|
25
|
+
#define ID_INTERNAL ID_JUNK
|
26
|
+
|
27
|
+
#ifdef USE_PARSE_H
|
28
|
+
#include "parse.h"
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#define symIFUNC ID2SYM(idIFUNC)
|
32
|
+
#define symCFUNC ID2SYM(idCFUNC)
|
33
|
+
|
34
|
+
#if !defined tLAST_TOKEN && defined YYTOKENTYPE
|
35
|
+
#define tLAST_TOKEN tLAST_TOKEN
|
36
|
+
#endif
|
37
|
+
|
38
|
+
enum ruby_method_ids {
|
39
|
+
#ifndef tLAST_TOKEN
|
40
|
+
tUPLUS = 321,
|
41
|
+
tUMINUS = 322,
|
42
|
+
tPOW = 323,
|
43
|
+
tCMP = 324,
|
44
|
+
tEQ = 325,
|
45
|
+
tEQQ = 326,
|
46
|
+
tNEQ = 327,
|
47
|
+
tGEQ = 328,
|
48
|
+
tLEQ = 329,
|
49
|
+
tANDOP = 330,
|
50
|
+
tOROP = 331,
|
51
|
+
tMATCH = 332,
|
52
|
+
tNMATCH = 333,
|
53
|
+
tDOT2 = 334,
|
54
|
+
tDOT3 = 335,
|
55
|
+
tAREF = 336,
|
56
|
+
tASET = 337,
|
57
|
+
tLSHFT = 338,
|
58
|
+
tRSHFT = 339,
|
59
|
+
tLAMBDA = 352,
|
60
|
+
idNULL = 365,
|
61
|
+
idRespond_to = 366,
|
62
|
+
idIFUNC = 367,
|
63
|
+
idCFUNC = 368,
|
64
|
+
id_core_set_method_alias = 369,
|
65
|
+
id_core_set_variable_alias = 370,
|
66
|
+
id_core_undef_method = 371,
|
67
|
+
id_core_define_method = 372,
|
68
|
+
id_core_define_singleton_method = 373,
|
69
|
+
id_core_set_postexe = 374,
|
70
|
+
tLAST_TOKEN = 375,
|
71
|
+
#endif
|
72
|
+
idDot2 = tDOT2,
|
73
|
+
idDot3 = tDOT3,
|
74
|
+
idUPlus = tUPLUS,
|
75
|
+
idUMinus = tUMINUS,
|
76
|
+
idPow = tPOW,
|
77
|
+
idCmp = tCMP,
|
78
|
+
idPLUS = '+',
|
79
|
+
idMINUS = '-',
|
80
|
+
idMULT = '*',
|
81
|
+
idDIV = '/',
|
82
|
+
idMOD = '%',
|
83
|
+
idLT = '<',
|
84
|
+
idLTLT = tLSHFT,
|
85
|
+
idLE = tLEQ,
|
86
|
+
idGT = '>',
|
87
|
+
idGE = tGEQ,
|
88
|
+
idEq = tEQ,
|
89
|
+
idEqq = tEQQ,
|
90
|
+
idNeq = tNEQ,
|
91
|
+
idNot = '!',
|
92
|
+
idBackquote = '`',
|
93
|
+
idEqTilde = tMATCH,
|
94
|
+
idNeqTilde = tNMATCH,
|
95
|
+
idAREF = tAREF,
|
96
|
+
idASET = tASET,
|
97
|
+
idLAST_TOKEN = tLAST_TOKEN >> ID_SCOPE_SHIFT,
|
98
|
+
tIntern,
|
99
|
+
tMethodMissing,
|
100
|
+
tLength,
|
101
|
+
tSize,
|
102
|
+
tGets,
|
103
|
+
tSucc,
|
104
|
+
tEach,
|
105
|
+
tLambda,
|
106
|
+
tSend,
|
107
|
+
t__send__,
|
108
|
+
tInitialize,
|
109
|
+
#if SUPPORT_JOKE
|
110
|
+
tBitblt,
|
111
|
+
tAnswer,
|
112
|
+
#endif
|
113
|
+
tLAST_ID,
|
114
|
+
#define TOKEN2ID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)
|
115
|
+
#if SUPPORT_JOKE
|
116
|
+
TOKEN2ID(Bitblt),
|
117
|
+
TOKEN2ID(Answer),
|
118
|
+
#endif
|
119
|
+
TOKEN2ID(Intern),
|
120
|
+
TOKEN2ID(MethodMissing),
|
121
|
+
TOKEN2ID(Length),
|
122
|
+
TOKEN2ID(Size),
|
123
|
+
TOKEN2ID(Gets),
|
124
|
+
TOKEN2ID(Succ),
|
125
|
+
TOKEN2ID(Each),
|
126
|
+
TOKEN2ID(Lambda),
|
127
|
+
TOKEN2ID(Send),
|
128
|
+
TOKEN2ID(__send__),
|
129
|
+
TOKEN2ID(Initialize)
|
130
|
+
};
|
131
|
+
|
132
|
+
#ifdef tLAST_TOKEN
|
133
|
+
struct ruby_method_ids_check {
|
134
|
+
#define ruby_method_id_check_for(name, value) \
|
135
|
+
int checking_for_##name[name == value ? 1 : -1]
|
136
|
+
ruby_method_id_check_for(tUPLUS, 321);
|
137
|
+
ruby_method_id_check_for(tUMINUS, 322);
|
138
|
+
ruby_method_id_check_for(tPOW, 323);
|
139
|
+
ruby_method_id_check_for(tCMP, 324);
|
140
|
+
ruby_method_id_check_for(tEQ, 325);
|
141
|
+
ruby_method_id_check_for(tEQQ, 326);
|
142
|
+
ruby_method_id_check_for(tNEQ, 327);
|
143
|
+
ruby_method_id_check_for(tGEQ, 328);
|
144
|
+
ruby_method_id_check_for(tLEQ, 329);
|
145
|
+
ruby_method_id_check_for(tANDOP, 330);
|
146
|
+
ruby_method_id_check_for(tOROP, 331);
|
147
|
+
ruby_method_id_check_for(tMATCH, 332);
|
148
|
+
ruby_method_id_check_for(tNMATCH, 333);
|
149
|
+
ruby_method_id_check_for(tDOT2, 334);
|
150
|
+
ruby_method_id_check_for(tDOT3, 335);
|
151
|
+
ruby_method_id_check_for(tAREF, 336);
|
152
|
+
ruby_method_id_check_for(tASET, 337);
|
153
|
+
ruby_method_id_check_for(tLSHFT, 338);
|
154
|
+
ruby_method_id_check_for(tRSHFT, 339);
|
155
|
+
ruby_method_id_check_for(tLAMBDA, 352);
|
156
|
+
ruby_method_id_check_for(idNULL, 365);
|
157
|
+
ruby_method_id_check_for(idRespond_to, 366);
|
158
|
+
ruby_method_id_check_for(idIFUNC, 367);
|
159
|
+
ruby_method_id_check_for(idCFUNC, 368);
|
160
|
+
ruby_method_id_check_for(id_core_set_method_alias, 369);
|
161
|
+
ruby_method_id_check_for(id_core_set_variable_alias, 370);
|
162
|
+
ruby_method_id_check_for(id_core_undef_method, 371);
|
163
|
+
ruby_method_id_check_for(id_core_define_method, 372);
|
164
|
+
ruby_method_id_check_for(id_core_define_singleton_method, 373);
|
165
|
+
ruby_method_id_check_for(id_core_set_postexe, 374);
|
166
|
+
ruby_method_id_check_for(tLAST_TOKEN, 375);
|
167
|
+
};
|
168
|
+
#endif
|
169
|
+
|
170
|
+
#endif /* RUBY_ID_H */
|