looksee 3.1.0-universal-java-1.8 → 4.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 +4 -4
- data/CHANGELOG +13 -0
- data/README.markdown +61 -81
- data/ext/extconf.rb +3 -7
- data/ext/mri/2.3.0/internal.h +1404 -0
- data/ext/mri/2.3.0/method.h +213 -0
- data/ext/mri/mri.c +21 -264
- data/ext/rbx/rbx.c +0 -9
- data/lib/looksee/JRuby.jar +0 -0
- data/lib/looksee/adapter/base.rb +19 -54
- data/lib/looksee/adapter/rubinius.rb +3 -62
- data/lib/looksee/clean.rb +5 -1
- data/lib/looksee/editor.rb +1 -1
- data/lib/looksee/help.rb +3 -2
- data/lib/looksee/lookup_path.rb +7 -3
- data/lib/looksee/version.rb +1 -1
- data/spec/looksee/adapter_spec.rb +72 -365
- data/spec/looksee/editor_spec.rb +1 -1
- data/spec/looksee/inspector_spec.rb +21 -21
- data/spec/looksee/lookup_path_spec.rb +34 -21
- data/spec/spec_helper.rb +2 -0
- data/spec/support/temporary_classes.rb +10 -14
- data/spec/support/test_adapter.rb +2 -53
- metadata +8 -29
- data/ext/mri/1.9.2/debug.h +0 -36
- data/ext/mri/1.9.2/id.h +0 -170
- data/ext/mri/1.9.2/method.h +0 -103
- data/ext/mri/1.9.2/node.h +0 -483
- data/ext/mri/1.9.2/thread_pthread.h +0 -27
- data/ext/mri/1.9.2/vm_core.h +0 -707
- data/ext/mri/1.9.2/vm_opts.h +0 -51
- data/ext/mri/1.9.3/atomic.h +0 -56
- data/ext/mri/1.9.3/debug.h +0 -41
- data/ext/mri/1.9.3/id.h +0 -175
- data/ext/mri/1.9.3/internal.h +0 -227
- data/ext/mri/1.9.3/internal_falcon.h +0 -248
- data/ext/mri/1.9.3/method.h +0 -105
- data/ext/mri/1.9.3/node.h +0 -503
- data/ext/mri/1.9.3/thread_pthread.h +0 -51
- data/ext/mri/1.9.3/vm_core.h +0 -755
- data/ext/mri/1.9.3/vm_opts.h +0 -51
- data/ext/mri/2.0.0/internal.h +0 -378
- data/ext/mri/2.0.0/method.h +0 -138
- data/ext/mri/env-1.8.h +0 -27
- data/ext/mri/eval_c-1.8.h +0 -27
- data/ext/mri/node-1.9.h +0 -35
- data/lib/looksee/rbx.bundle +0 -0
@@ -11,8 +11,20 @@ describe Looksee::LookupPath do
|
|
11
11
|
temporary_class(:C) { include M }
|
12
12
|
@object = Object.new
|
13
13
|
Looksee.adapter.ancestors[@object] = [C, M]
|
14
|
-
|
15
|
-
|
14
|
+
add_methods(
|
15
|
+
M,
|
16
|
+
public: [:pub1, :pub2],
|
17
|
+
protected: [:pro1, :pro2],
|
18
|
+
private: [:pri1, :pri2],
|
19
|
+
undefined: [:und1, :und2],
|
20
|
+
)
|
21
|
+
add_methods(
|
22
|
+
C,
|
23
|
+
public: [:pub1, :pub2],
|
24
|
+
protected: [:pro1, :pro2],
|
25
|
+
private: [:pri1, :pri2],
|
26
|
+
undefined: [:und1, :und2],
|
27
|
+
)
|
16
28
|
@lookup_path = Looksee::LookupPath.new(@object)
|
17
29
|
end
|
18
30
|
|
@@ -22,22 +34,22 @@ describe Looksee::LookupPath do
|
|
22
34
|
|
23
35
|
it "should include methods of all visibilities, including overridden ones" do
|
24
36
|
@lookup_path.entries[0].methods.should == {
|
25
|
-
'
|
26
|
-
'
|
27
|
-
'
|
28
|
-
'
|
37
|
+
'pub1' => :public, 'pub2' => :public,
|
38
|
+
'pro1' => :protected, 'pro2' => :protected,
|
39
|
+
'pri1' => :private, 'pri2' => :private,
|
40
|
+
'und1' => :undefined, 'und2' => :undefined,
|
29
41
|
}
|
30
42
|
@lookup_path.entries[1].methods.should == {
|
31
|
-
'
|
32
|
-
'
|
33
|
-
'
|
34
|
-
'
|
43
|
+
'pub1' => :public, 'pub2' => :public,
|
44
|
+
'pro1' => :protected, 'pro2' => :protected,
|
45
|
+
'pri1' => :private, 'pri2' => :private,
|
46
|
+
'und1' => :undefined, 'und2' => :undefined,
|
35
47
|
}
|
36
48
|
end
|
37
49
|
|
38
50
|
it "should know which methods have been overridden" do
|
39
|
-
@lookup_path.entries[0].overridden?('
|
40
|
-
@lookup_path.entries[1].overridden?('
|
51
|
+
@lookup_path.entries[0].overridden?('pub1').should == false
|
52
|
+
@lookup_path.entries[1].overridden?('pub1').should == true
|
41
53
|
end
|
42
54
|
end
|
43
55
|
|
@@ -52,7 +64,7 @@ describe Looksee::LookupPath do
|
|
52
64
|
lookup_path = Looksee::LookupPath.new(@object)
|
53
65
|
method = lookup_path.find('f')
|
54
66
|
method.owner.should == C
|
55
|
-
method.name.should ==
|
67
|
+
method.name.should == :f
|
56
68
|
end
|
57
69
|
|
58
70
|
it "should find methods in included modules" do
|
@@ -60,7 +72,7 @@ describe Looksee::LookupPath do
|
|
60
72
|
lookup_path = Looksee::LookupPath.new(@object)
|
61
73
|
method = lookup_path.find('g')
|
62
74
|
method.owner.should == M
|
63
|
-
method.name.should ==
|
75
|
+
method.name.should == :g
|
64
76
|
end
|
65
77
|
|
66
78
|
it "should return nil if the method does not exist" do
|
@@ -68,19 +80,20 @@ describe Looksee::LookupPath do
|
|
68
80
|
lookup_path.find('g').should be_nil
|
69
81
|
end
|
70
82
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
83
|
+
unless RUBY_VERSION >= '2.3.0'
|
84
|
+
it "should return nil if the method has been undefined" do
|
85
|
+
add_methods(C, undefined: [:f])
|
86
|
+
lookup_path = Looksee::LookupPath.new(@object)
|
87
|
+
lookup_path.find('f').should be_nil
|
88
|
+
end
|
75
89
|
end
|
76
90
|
end
|
77
91
|
|
78
92
|
describe Looksee::LookupPath::Entry do
|
79
93
|
it "should iterate over methods in alphabetical order" do
|
80
94
|
temporary_class(:C)
|
81
|
-
|
82
|
-
Looksee.
|
83
|
-
@lookup_path = Looksee::LookupPath.new(@object)
|
95
|
+
add_methods(C, public: [:a, :c, :b])
|
96
|
+
@lookup_path = Looksee::LookupPath.new(C.new)
|
84
97
|
@lookup_path.entries.first.map{|name, visibility| name}.should == ['a', 'b', 'c']
|
85
98
|
end
|
86
99
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -47,10 +47,6 @@ module TemporaryClasses
|
|
47
47
|
#
|
48
48
|
# +methods+ is a hash of visibilities to names.
|
49
49
|
#
|
50
|
-
# As Ruby's reflection on singleton classes of classes isn't quite
|
51
|
-
# adequate, you need to provide a :class_singleton option when such
|
52
|
-
# a class is given.
|
53
|
-
#
|
54
50
|
# e.g.:
|
55
51
|
#
|
56
52
|
# replace_methods MyClass, :public => [:a, :b]
|
@@ -63,16 +59,16 @@ module TemporaryClasses
|
|
63
59
|
send visibility, name
|
64
60
|
end
|
65
61
|
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
private # ---------------------------------------------------------
|
70
62
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
63
|
+
if (methods = options[:undefined])
|
64
|
+
Array(methods).each do |name|
|
65
|
+
define_method(name){} unless method_defined?(name)
|
66
|
+
undef_method(name)
|
67
|
+
end
|
68
|
+
if Looksee.adapter.is_a?(TestAdapter)
|
69
|
+
Looksee.adapter.set_undefined_methods(mod, methods)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
77
73
|
end
|
78
74
|
end
|
@@ -10,74 +10,23 @@ class TestAdapter < Looksee::Adapter::Base
|
|
10
10
|
ancestors[object]
|
11
11
|
end
|
12
12
|
|
13
|
-
def internal_public_instance_methods(mod)
|
14
|
-
public_methods[mod]
|
15
|
-
end
|
16
|
-
|
17
|
-
def internal_protected_instance_methods(mod)
|
18
|
-
protected_methods[mod]
|
19
|
-
end
|
20
|
-
|
21
|
-
def internal_private_instance_methods(mod)
|
22
|
-
private_methods[mod]
|
23
|
-
end
|
24
|
-
|
25
13
|
def internal_undefined_instance_methods(mod)
|
26
14
|
undefined_methods[mod]
|
27
15
|
end
|
28
16
|
|
29
|
-
def included_class?(object)
|
30
|
-
NATIVE_ADAPTER.included_class?(object)
|
31
|
-
end
|
32
|
-
|
33
|
-
def singleton_class?(object)
|
34
|
-
NATIVE_ADAPTER.singleton_class?(object)
|
35
|
-
end
|
36
|
-
|
37
17
|
def singleton_instance(object)
|
38
18
|
NATIVE_ADAPTER.singleton_instance(object)
|
39
19
|
end
|
40
20
|
|
41
|
-
def
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
def set_methods(mod, public, protected, private, undefined)
|
46
|
-
self.public_methods[mod] = public
|
47
|
-
self.protected_methods[mod] = protected
|
48
|
-
self.private_methods[mod] = private
|
49
|
-
self.undefined_methods[mod] = undefined
|
50
|
-
end
|
51
|
-
|
52
|
-
def source_location(method)
|
53
|
-
source_locations[[method.owner.name.to_s, method.name.to_s]]
|
54
|
-
end
|
55
|
-
|
56
|
-
def set_source_location(mod, method, location)
|
57
|
-
source_locations[[mod.name.to_s, method.to_s]] = location
|
21
|
+
def set_undefined_methods(mod, names)
|
22
|
+
self.undefined_methods[mod] = names
|
58
23
|
end
|
59
24
|
|
60
25
|
def ancestors
|
61
26
|
@ancestors ||= Hash.new { |h, k| h[k] = [] }
|
62
27
|
end
|
63
28
|
|
64
|
-
def public_methods
|
65
|
-
@public_methods ||= Hash.new { |h, k| h[k] = [] }
|
66
|
-
end
|
67
|
-
|
68
|
-
def protected_methods
|
69
|
-
@protected_methods ||= Hash.new { |h, k| h[k] = [] }
|
70
|
-
end
|
71
|
-
|
72
|
-
def private_methods
|
73
|
-
@private_methods ||= Hash.new { |h, k| h[k] = [] }
|
74
|
-
end
|
75
|
-
|
76
29
|
def undefined_methods
|
77
30
|
@undefined_methods ||= Hash.new { |h, k| h[k] = [] }
|
78
31
|
end
|
79
|
-
|
80
|
-
def source_locations
|
81
|
-
@source_locations ||= {}
|
82
|
-
end
|
83
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: looksee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: universal-java-1.8
|
6
6
|
authors:
|
7
7
|
- George Ogata
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -25,33 +25,13 @@ files:
|
|
25
25
|
- README.markdown
|
26
26
|
- Rakefile
|
27
27
|
- ext/extconf.rb
|
28
|
-
- ext/mri/1.9.2/debug.h
|
29
|
-
- ext/mri/1.9.2/id.h
|
30
|
-
- ext/mri/1.9.2/method.h
|
31
|
-
- ext/mri/1.9.2/node.h
|
32
|
-
- ext/mri/1.9.2/thread_pthread.h
|
33
|
-
- ext/mri/1.9.2/vm_core.h
|
34
|
-
- ext/mri/1.9.2/vm_opts.h
|
35
|
-
- ext/mri/1.9.3/atomic.h
|
36
|
-
- ext/mri/1.9.3/debug.h
|
37
|
-
- ext/mri/1.9.3/id.h
|
38
|
-
- ext/mri/1.9.3/internal.h
|
39
|
-
- ext/mri/1.9.3/internal_falcon.h
|
40
|
-
- ext/mri/1.9.3/method.h
|
41
|
-
- ext/mri/1.9.3/node.h
|
42
|
-
- ext/mri/1.9.3/thread_pthread.h
|
43
|
-
- ext/mri/1.9.3/vm_core.h
|
44
|
-
- ext/mri/1.9.3/vm_opts.h
|
45
|
-
- ext/mri/2.0.0/internal.h
|
46
|
-
- ext/mri/2.0.0/method.h
|
47
28
|
- ext/mri/2.1.0/internal.h
|
48
29
|
- ext/mri/2.1.0/method.h
|
49
30
|
- ext/mri/2.2.0/internal.h
|
50
31
|
- ext/mri/2.2.0/method.h
|
51
|
-
- ext/mri/
|
52
|
-
- ext/mri/
|
32
|
+
- ext/mri/2.3.0/internal.h
|
33
|
+
- ext/mri/2.3.0/method.h
|
53
34
|
- ext/mri/mri.c
|
54
|
-
- ext/mri/node-1.9.h
|
55
35
|
- ext/rbx/rbx.c
|
56
36
|
- lib/looksee.rb
|
57
37
|
- lib/looksee/JRuby.jar
|
@@ -65,7 +45,6 @@ files:
|
|
65
45
|
- lib/looksee/help.rb
|
66
46
|
- lib/looksee/inspector.rb
|
67
47
|
- lib/looksee/lookup_path.rb
|
68
|
-
- lib/looksee/rbx.bundle
|
69
48
|
- lib/looksee/version.rb
|
70
49
|
- spec/looksee/adapter_spec.rb
|
71
50
|
- spec/looksee/clean_spec.rb
|
@@ -88,17 +67,17 @@ require_paths:
|
|
88
67
|
- lib
|
89
68
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
69
|
requirements:
|
91
|
-
- -
|
70
|
+
- - ">="
|
92
71
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
72
|
+
version: '2.1'
|
94
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
74
|
requirements:
|
96
|
-
- -
|
75
|
+
- - ">="
|
97
76
|
- !ruby/object:Gem::Version
|
98
77
|
version: '0'
|
99
78
|
requirements: []
|
100
79
|
rubyforge_project:
|
101
|
-
rubygems_version: 2.4
|
80
|
+
rubygems_version: 2.6.4
|
102
81
|
signing_key:
|
103
82
|
specification_version: 3
|
104
83
|
summary: Supercharged method introspection in IRB.
|
data/ext/mri/1.9.2/debug.h
DELETED
@@ -1,36 +0,0 @@
|
|
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
DELETED
@@ -1,170 +0,0 @@
|
|
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 */
|
data/ext/mri/1.9.2/method.h
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
/**********************************************************************
|
2
|
-
|
3
|
-
method.h -
|
4
|
-
|
5
|
-
$Author: ko1 $
|
6
|
-
created at: Wed Jul 15 20:02:33 2009
|
7
|
-
|
8
|
-
Copyright (C) 2009 Koichi Sasada
|
9
|
-
|
10
|
-
**********************************************************************/
|
11
|
-
#ifndef METHOD_H
|
12
|
-
#define METHOD_H
|
13
|
-
|
14
|
-
typedef enum {
|
15
|
-
NOEX_PUBLIC = 0x00,
|
16
|
-
NOEX_NOSUPER = 0x01,
|
17
|
-
NOEX_PRIVATE = 0x02,
|
18
|
-
NOEX_PROTECTED = 0x04,
|
19
|
-
NOEX_MASK = 0x06,
|
20
|
-
NOEX_BASIC = 0x08,
|
21
|
-
NOEX_UNDEF = NOEX_NOSUPER,
|
22
|
-
NOEX_MODFUNC = 0x12,
|
23
|
-
NOEX_SUPER = 0x20,
|
24
|
-
NOEX_VCALL = 0x40,
|
25
|
-
NOEX_RESPONDS = 0x80
|
26
|
-
} rb_method_flag_t;
|
27
|
-
|
28
|
-
#define NOEX_SAFE(n) ((int)((n) >> 8) & 0x0F)
|
29
|
-
#define NOEX_WITH(n, s) ((s << 8) | (n) | (ruby_running ? 0 : NOEX_BASIC))
|
30
|
-
#define NOEX_WITH_SAFE(n) NOEX_WITH(n, rb_safe_level())
|
31
|
-
|
32
|
-
/* method data type */
|
33
|
-
|
34
|
-
typedef enum {
|
35
|
-
VM_METHOD_TYPE_ISEQ,
|
36
|
-
VM_METHOD_TYPE_CFUNC,
|
37
|
-
VM_METHOD_TYPE_ATTRSET,
|
38
|
-
VM_METHOD_TYPE_IVAR,
|
39
|
-
VM_METHOD_TYPE_BMETHOD,
|
40
|
-
VM_METHOD_TYPE_ZSUPER,
|
41
|
-
VM_METHOD_TYPE_UNDEF,
|
42
|
-
VM_METHOD_TYPE_NOTIMPLEMENTED,
|
43
|
-
VM_METHOD_TYPE_OPTIMIZED, /* Kernel#send, Proc#call, etc */
|
44
|
-
VM_METHOD_TYPE_MISSING /* wrapper for method_missing(id) */
|
45
|
-
} rb_method_type_t;
|
46
|
-
|
47
|
-
typedef struct rb_method_cfunc_struct {
|
48
|
-
VALUE (*func)(ANYARGS);
|
49
|
-
int argc;
|
50
|
-
} rb_method_cfunc_t;
|
51
|
-
|
52
|
-
typedef struct rb_method_attr_struct {
|
53
|
-
ID id;
|
54
|
-
VALUE location;
|
55
|
-
} rb_method_attr_t;
|
56
|
-
|
57
|
-
typedef struct rb_iseq_struct rb_iseq_t;
|
58
|
-
|
59
|
-
typedef struct rb_method_definition_struct {
|
60
|
-
rb_method_type_t type; /* method type */
|
61
|
-
ID original_id;
|
62
|
-
union {
|
63
|
-
rb_iseq_t *iseq; /* should be mark */
|
64
|
-
rb_method_cfunc_t cfunc;
|
65
|
-
rb_method_attr_t attr;
|
66
|
-
VALUE proc; /* should be mark */
|
67
|
-
enum method_optimized_type {
|
68
|
-
OPTIMIZED_METHOD_TYPE_SEND,
|
69
|
-
OPTIMIZED_METHOD_TYPE_CALL
|
70
|
-
} optimize_type;
|
71
|
-
} body;
|
72
|
-
int alias_count;
|
73
|
-
} rb_method_definition_t;
|
74
|
-
|
75
|
-
typedef struct rb_method_entry_struct {
|
76
|
-
rb_method_flag_t flag;
|
77
|
-
char mark;
|
78
|
-
rb_method_definition_t *def;
|
79
|
-
ID called_id;
|
80
|
-
VALUE klass; /* should be mark */
|
81
|
-
} rb_method_entry_t;
|
82
|
-
|
83
|
-
struct unlinked_method_entry_list_entry {
|
84
|
-
struct unlinked_method_entry_list_entry *next;
|
85
|
-
rb_method_entry_t *me;
|
86
|
-
};
|
87
|
-
|
88
|
-
#define UNDEFINED_METHOD_ENTRY_P(me) (!(me) || !(me)->def || (me)->def->type == VM_METHOD_TYPE_UNDEF)
|
89
|
-
|
90
|
-
void rb_add_method_cfunc(VALUE klass, ID mid, VALUE (*func)(ANYARGS), int argc, rb_method_flag_t noex);
|
91
|
-
rb_method_entry_t *rb_add_method(VALUE klass, ID mid, rb_method_type_t type, void *option, rb_method_flag_t noex);
|
92
|
-
rb_method_entry_t *rb_method_entry(VALUE klass, ID id);
|
93
|
-
|
94
|
-
rb_method_entry_t *rb_method_entry_get_without_cache(VALUE klass, ID id);
|
95
|
-
rb_method_entry_t *rb_method_entry_set(VALUE klass, ID mid, const rb_method_entry_t *, rb_method_flag_t noex);
|
96
|
-
|
97
|
-
int rb_method_entry_arity(const rb_method_entry_t *me);
|
98
|
-
|
99
|
-
void rb_mark_method_entry(const rb_method_entry_t *me);
|
100
|
-
void rb_free_method_entry(rb_method_entry_t *me);
|
101
|
-
void rb_sweep_method_entry(void *vm);
|
102
|
-
|
103
|
-
#endif /* METHOD_H */
|