mt-lang 0.2.6 → 0.2.7
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/README.md +4 -1
- data/lib/milk_tea/base.rb +1 -1
- data/lib/milk_tea/core/semantic_analyzer/expressions.rb +5 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b02adcca2cd2665b97f3a32f18130ed355dad80950220475ff623ccc6254250b
|
|
4
|
+
data.tar.gz: f23de0c1d00fc7f9bd8f6275a921c2b92824b3920425b3fc9f0e1734ecfe2a1a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f29063940f36a621591a64f017e3357aef18db3b7f576f1a0af056514ffee08b67bf1ffd45dc6c2066fd6f27103b5a8e3bced0139415dd558a3e3a0dad5a7cc9
|
|
7
|
+
data.tar.gz: 4a07fd8a9469cec594b55a41fd7bb7f6220a5baa8653ec4a297d5e06ac80e79f4e1a3b4b69cde79185acb2863d1fe7372e5c9cd2d439a95d3bbe46423d5e2c9d
|
data/README.md
CHANGED
|
@@ -269,6 +269,7 @@ struct Rectangle:
|
|
|
269
269
|
- Nested structs may themselves contain nested structs to arbitrary depth.
|
|
270
270
|
- The generated C name uses underscore-separated path components (e.g., `module_Rectangle_Edge`).
|
|
271
271
|
|
|
272
|
+
```mt
|
|
272
273
|
union Number:
|
|
273
274
|
i: int
|
|
274
275
|
f: float
|
|
@@ -276,8 +277,10 @@ union Number:
|
|
|
276
277
|
enum State: ubyte
|
|
277
278
|
idle = 0
|
|
278
279
|
running = 1
|
|
280
|
+
```
|
|
279
281
|
|
|
280
|
-
|
|
282
|
+
Backing type defaults to int; values auto-increment from 0:
|
|
283
|
+
```mt
|
|
281
284
|
enum Color:
|
|
282
285
|
red
|
|
283
286
|
green
|
data/lib/milk_tea/base.rb
CHANGED
|
@@ -1342,7 +1342,11 @@ module MilkTea
|
|
|
1342
1342
|
imported_module = @ctx.imports.fetch(callee.receiver.name)
|
|
1343
1343
|
return [:function, imported_module.functions.fetch(callee.member), nil] if imported_module.functions.key?(callee.member)
|
|
1344
1344
|
imported_type = imported_module.types[callee.member]
|
|
1345
|
-
if imported_type.is_a?(Types::
|
|
1345
|
+
if imported_type.is_a?(Types::GenericStructDefinition) || imported_type.is_a?(Types::GenericVariantDefinition)
|
|
1346
|
+
raise_sema_error("generic type #{callee.receiver.name}.#{callee.member} requires type arguments", callee)
|
|
1347
|
+
end
|
|
1348
|
+
|
|
1349
|
+
if imported_type.is_a?(Types::Struct) || imported_type.is_a?(Types::StringView) || task_type?(imported_type) || imported_type.is_a?(Types::Vector) || imported_type.is_a?(Types::Matrix) || imported_type.is_a?(Types::Quaternion)
|
|
1346
1350
|
return [:struct, imported_module.types.fetch(callee.member), nil]
|
|
1347
1351
|
end
|
|
1348
1352
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mt-lang
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Long (Teefan) Tran
|
|
@@ -583,7 +583,7 @@ metadata:
|
|
|
583
583
|
homepage_uri: https://teefan.github.io/mt-lang/
|
|
584
584
|
source_code_uri: https://github.com/teefan/mt-lang
|
|
585
585
|
post_install_message: |
|
|
586
|
-
Milk Tea 0.2.
|
|
586
|
+
Milk Tea 0.2.7 installed!
|
|
587
587
|
|
|
588
588
|
System requirements:
|
|
589
589
|
- A C compiler (gcc or clang) must be available on PATH
|