fOOrth 0.6.5 → 0.6.6
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 +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
|