dtr_to_rust 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generator.rb +4 -0
- data/lib/instruction/create_list.rb +15 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0e88ee729d6b75560b0b721116d5d01a09b0461be73ce60f7866811ac852ddb
|
4
|
+
data.tar.gz: ec23afaf87408739dc2e85a6c205dc70b58518a200c8aa7452d8cc65e867c3a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b81c54febc129a193a215dd67fd29e88b6378d469752d39c3a3a258eb3d702230f48f92560938cf0ba176360ad13c2e05d1fa78e2802dc67bccd173875a72024
|
7
|
+
data.tar.gz: 00ad6c66f66e8c162860db52d7518b1633e8ecf2877c0ccd3bc09bf0c28157fbdb1627b046039af04ca570828bf2cb6a6ecf8514a7aa5d32f7a8adf272bcfd13
|
data/lib/generator.rb
CHANGED
@@ -5,9 +5,23 @@ module DTRToRust
|
|
5
5
|
# This class is responsible for generating Rust code for the AddAndAssign instruction.
|
6
6
|
class CreateList < Handler
|
7
7
|
def handle
|
8
|
-
form_rust_string("let #{@instruction[:assign]} = vec![#{
|
8
|
+
form_rust_string("let #{@instruction[:assign]} = vec![#{handle_inputs}];",
|
9
9
|
@instruction[:scope])
|
10
10
|
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def handle_inputs
|
15
|
+
@instruction[:inputs].map { |input| handle_input(input) }.join(', ')
|
16
|
+
end
|
17
|
+
|
18
|
+
def handle_input(input)
|
19
|
+
if (input.start_with?('"') && input[-1] == ('"'))
|
20
|
+
"symbol_short!(#{input})"
|
21
|
+
else
|
22
|
+
input
|
23
|
+
end
|
24
|
+
end
|
11
25
|
end
|
12
26
|
end
|
13
27
|
end
|