fOOrth 0.6.5 → 0.6.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/integration/data_ref_lib_tests.rb +20 -0
- data/lib/fOOrth/debug/display_abort.rb +0 -2
- data/lib/fOOrth/library/data_ref_library.rb +8 -12
- data/lib/fOOrth/version.rb +1 -1
- data/reek.txt +59 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b78d9f4016b73209d62eaf5c8d01497f64b65582
|
4
|
+
data.tar.gz: 98ec2f26ae3bf20ea9a65d120ecb0d9bc6b2f88c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f04893f0850026b62865f1087298d8f8ad1a621da78d097a96106adcba71f00ba14abe1968992bcdda57ef14ed6a0bfc4969d9f3b291793b55618d0b7cad0e09
|
7
|
+
data.tar.gz: 0f17fc2d2d9dd61a37e6b3be5440346a18af935d591d261ef53a3d7b2eb9e94ef29460bf6b40babe243d39efb4139dc63bd97081cb098bac012a04ac03869dc6
|
@@ -22,6 +22,16 @@ class DataRefLibraryTester < Minitest::Test
|
|
22
22
|
|
23
23
|
foorth_equal('10 val#: #test2', [])
|
24
24
|
foorth_equal('#test2', [10])
|
25
|
+
|
26
|
+
foorth_run(': test_tv3 42 val#: #ttv3 ; ')
|
27
|
+
foorth_equal('#ttv3', [nil])
|
28
|
+
foorth_run('test_tv3')
|
29
|
+
foorth_equal('#ttv3', [42])
|
30
|
+
|
31
|
+
foorth_run(': test_tv5 42 var#: #ttv5 ; ')
|
32
|
+
foorth_raises('#ttv5 #')
|
33
|
+
foorth_run('test_tv5')
|
34
|
+
foorth_equal('#ttv5 @', [42])
|
25
35
|
end
|
26
36
|
|
27
37
|
def test_thread_vars_some_more
|
@@ -39,6 +49,16 @@ class DataRefLibraryTester < Minitest::Test
|
|
39
49
|
|
40
50
|
foorth_equal('10 val$: $test2', [])
|
41
51
|
foorth_equal('$test2', [10])
|
52
|
+
|
53
|
+
foorth_run(': test_gv4 69 val$: $tgv4 ; ')
|
54
|
+
foorth_equal('$tgv4', [nil])
|
55
|
+
foorth_run('test_gv4')
|
56
|
+
foorth_equal('$tgv4', [69])
|
57
|
+
|
58
|
+
foorth_run(': test_gv6 69 var$: $tgv6 ; ')
|
59
|
+
foorth_raises('$tgv6 @')
|
60
|
+
foorth_run('test_gv6')
|
61
|
+
foorth_equal('$tgv6 @', [69])
|
42
62
|
end
|
43
63
|
|
44
64
|
def test_shared_instance_variables
|
@@ -31,45 +31,41 @@ module XfOOrth
|
|
31
31
|
|
32
32
|
# Thread Variables
|
33
33
|
# [n] var#: #tv [], Thread.current[#tv] = [n]
|
34
|
-
VirtualMachine.create_shared_method('var#:', VmSpec, [], &lambda {|vm|
|
34
|
+
VirtualMachine.create_shared_method('var#:', VmSpec, [:immediate], &lambda {|vm|
|
35
35
|
name = vm.parser.get_word()
|
36
36
|
error "F10: Invalid var name #{name}" unless /^#[a-z][a-z0-9_]*$/ =~ name
|
37
37
|
symbol = XfOOrth::SymbolMap.add_entry(name)
|
38
|
-
|
39
|
-
|
38
|
+
process_text("vm.data[#{symbol.inspect}] = [vm.pop]; ")
|
40
39
|
vm.create_exclusive_method(name, ThreadVarSpec, [])
|
41
40
|
})
|
42
41
|
|
43
42
|
# Thread values.
|
44
43
|
# [n] val#: #tv [], Thread.current[#tv] = n
|
45
|
-
VirtualMachine.create_shared_method('val#:', VmSpec, [], &lambda {|vm|
|
44
|
+
VirtualMachine.create_shared_method('val#:', VmSpec, [:immediate], &lambda {|vm|
|
46
45
|
name = vm.parser.get_word()
|
47
46
|
error "F10: Invalid val name #{name}" unless /^#[a-z][a-z0-9_]*$/ =~ name
|
48
47
|
symbol = XfOOrth::SymbolMap.add_entry(name)
|
49
|
-
|
50
|
-
|
48
|
+
process_text("vm.data[#{symbol.inspect}] = vm.pop; ")
|
51
49
|
vm.create_exclusive_method(name, ThreadVarSpec, [])
|
52
50
|
})
|
53
51
|
|
54
52
|
# Global Variables
|
55
53
|
# [n] var$: $gv [], $gv = [n]
|
56
|
-
VirtualMachine.create_shared_method('var$:', VmSpec, [], &lambda {|vm|
|
54
|
+
VirtualMachine.create_shared_method('var$:', VmSpec, [:immediate], &lambda {|vm|
|
57
55
|
name = vm.parser.get_word()
|
58
56
|
error "F10: Invalid var name #{name}" unless /^\$[a-z][a-z0-9_]*$/ =~ name
|
59
57
|
symbol = XfOOrth::SymbolMap.add_entry(name)
|
60
|
-
|
61
|
-
|
58
|
+
process_text("#{'$' + symbol.to_s} = [vm.pop]; ")
|
62
59
|
$FOORTH_GLOBALS[symbol] = GlobalVarSpec.new(name, symbol, [])
|
63
60
|
})
|
64
61
|
|
65
62
|
# Global Values
|
66
63
|
# [n] val$: $gv [], $gv = n
|
67
|
-
VirtualMachine.create_shared_method('val$:', VmSpec, [], &lambda {|vm|
|
64
|
+
VirtualMachine.create_shared_method('val$:', VmSpec, [:immediate], &lambda {|vm|
|
68
65
|
name = vm.parser.get_word()
|
69
66
|
error "F10: Invalid val name #{name}" unless /^\$[a-z][a-z0-9_]*$/ =~ name
|
70
67
|
symbol = XfOOrth::SymbolMap.add_entry(name)
|
71
|
-
|
72
|
-
|
68
|
+
process_text("#{'$' + symbol.to_s} = vm.pop; ")
|
73
69
|
$FOORTH_GLOBALS[symbol] = GlobalVarSpec.new(name, symbol, [])
|
74
70
|
})
|
75
71
|
|
data/lib/fOOrth/version.rb
CHANGED
data/reek.txt
CHANGED
@@ -1 +1,59 @@
|
|
1
|
-
|
1
|
+
lib/fOOrth/compiler/context/map_name.rb -- 1 warning:
|
2
|
+
[31]:ControlParameter: XfOOrth::Context#do_map_name is controlled by argument allow_defaults [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
|
3
|
+
lib/fOOrth/library/compile_library.rb -- 2 warnings:
|
4
|
+
[230]:ControlParameter: XfOOrth#self.name_to_type is controlled by argument cast_spec [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
|
5
|
+
[191]:TooManyStatements: XfOOrth#self.add_common_compiler_locals has approx 8 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
6
|
+
lib/fOOrth/library/formatting/bullets.rb -- 10 warnings:
|
7
|
+
[20, 22]:DuplicateMethodCall: XfOOrth::BulletPoints#add calls raw_bullet.in_array 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
8
|
+
[62, 68]:DuplicateMethodCall: XfOOrth::BulletPoints#render_bullet calls ' ' * @key_length 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
9
|
+
[67, 76]:DuplicateMethodCall: XfOOrth::BulletPoints#render_bullet calls result << temp 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
10
|
+
[63, 69]:DuplicateMethodCall: XfOOrth::BulletPoints#render_bullet calls temp.length 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
11
|
+
[26, 27]:FeatureEnvy: XfOOrth::BulletPoints#add refers to items more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
12
|
+
[20, 22]:FeatureEnvy: XfOOrth::BulletPoints#add refers to raw_bullet more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
13
|
+
[18, 23]:FeatureEnvy: XfOOrth::BulletPoints#add refers to raw_item more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
14
|
+
[83]:IrresponsibleModule: Array has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
15
|
+
[103]:IrresponsibleModule: Hash has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
16
|
+
[51]:TooManyStatements: XfOOrth::BulletPoints#render_bullet has approx 15 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
17
|
+
lib/fOOrth/library/formatting/columns.rb -- 2 warnings:
|
18
|
+
[36]:NestedIterators: XfOOrth::ColumnizedPage#render contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
|
19
|
+
[31]:TooManyStatements: XfOOrth::ColumnizedPage#render has approx 8 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
20
|
+
lib/fOOrth/library/introspection/class.rb -- 15 warnings:
|
21
|
+
[35, 42]:DuplicateMethodCall: Class#foorth_method_info calls !spec.has_tag?(:stub) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
22
|
+
[36, 43]:DuplicateMethodCall: Class#foorth_method_info calls (results << ["", ""]).concat(info) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
23
|
+
[36, 43]:DuplicateMethodCall: Class#foorth_method_info calls (results << ["", ""]).concat(info).concat(spec.get_info) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
24
|
+
[36, 43]:DuplicateMethodCall: Class#foorth_method_info calls results << ["", ""] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
25
|
+
[36, 43]:DuplicateMethodCall: Class#foorth_method_info calls spec.get_info 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
26
|
+
[35, 42]:DuplicateMethodCall: Class#foorth_method_info calls spec.has_tag?(:stub) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
27
|
+
[62, 74]:DuplicateMethodCall: Class#get_info calls (results << ["", ""]).concat(info) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
28
|
+
[61, 73]:DuplicateMethodCall: Class#get_info calls XfOOrth::SymbolMap.map_info(name) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
29
|
+
[62, 74]:DuplicateMethodCall: Class#get_info calls results << ["", ""] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
30
|
+
[65, 77]:DuplicateMethodCall: Class#get_info calls results.concat(info) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
31
|
+
[65, 77]:DuplicateMethodCall: Class#get_info calls results.concat(info).concat(spec.get_info) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
32
|
+
[65, 77]:DuplicateMethodCall: Class#get_info calls spec.get_info 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
33
|
+
[35, 36, 42, 43]:FeatureEnvy: Class#foorth_method_info refers to spec more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
34
|
+
[28]:TooManyStatements: Class#foorth_method_info has approx 10 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
35
|
+
[54]:TooManyStatements: Class#get_info has approx 14 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
36
|
+
lib/fOOrth/library/introspection/context.rb -- 3 warnings:
|
37
|
+
[14, 28]:DuplicateMethodCall: XfOOrth::Context#get_info calls results << ["", ""] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
38
|
+
[14, 17, 18, 19, 21, 22, 28, 29]:FeatureEnvy: XfOOrth::Context#get_info refers to results more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
39
|
+
[10]:TooManyStatements: XfOOrth::Context#get_info has approx 11 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
40
|
+
lib/fOOrth/library/introspection/object.rb -- 3 warnings:
|
41
|
+
[53, 57]:FeatureEnvy: Object#foorth_method_info refers to results more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
42
|
+
[52, 53]:FeatureEnvy: Object#foorth_method_info refers to spec more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
43
|
+
[18]:TooManyStatements: Object#get_info has approx 12 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
44
|
+
lib/fOOrth/library/introspection/string.rb -- 10 warnings:
|
45
|
+
[17, 20]:DuplicateMethodCall: String#foorth_method_scan calls (results << ["", ""]).concat(info) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
46
|
+
[17, 20]:DuplicateMethodCall: String#foorth_method_scan calls (results << ["", ""]).concat(info).concat(spec.get_info) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
47
|
+
[17, 20]:DuplicateMethodCall: String#foorth_method_scan calls results << ["", ""] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
48
|
+
[17, 20]:DuplicateMethodCall: String#foorth_method_scan calls spec.get_info 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
49
|
+
[17, 20, 23]:FeatureEnvy: String#foorth_method_scan refers to found more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
50
|
+
[17, 20, 23]:FeatureEnvy: String#foorth_method_scan refers to results more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
51
|
+
[13, 17, 20]:FeatureEnvy: String#foorth_method_scan refers to spec more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
|
52
|
+
[7]:TooManyStatements: String#foorth_method_scan has approx 12 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
53
|
+
[14]:UncommunicativeVariableName: String#foorth_method_scan has the variable name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
54
|
+
[14]:UncommunicativeVariableName: String#foorth_method_scan has the variable name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
55
|
+
lib/fOOrth/library/introspection/vm.rb -- 3 warnings:
|
56
|
+
[10]:TooManyStatements: XfOOrth::VirtualMachine#get_info has approx 22 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
|
57
|
+
[47]:UncommunicativeVariableName: XfOOrth::VirtualMachine#get_info has the variable name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
58
|
+
[47]:UncommunicativeVariableName: XfOOrth::VirtualMachine#get_info has the variable name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
59
|
+
49 total warnings
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fOOrth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Camilleri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|