looksee 3.0.0-universal-java-1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 [](https://travis-ci.org/oggy/looksee) [](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 */
|