aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux')
-rw-r--r--stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux27
1 files changed, 27 insertions, 0 deletions
diff --git a/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux
new file mode 100644
index 000000000..830632337
--- /dev/null
+++ b/stdlib/source/library/lux/meta/compiler/target/jvm/attribute/constant.lux
@@ -0,0 +1,27 @@
+(.require
+ [library
+ [lux (.except)
+ [abstract
+ [equivalence (.only Equivalence)]]
+ [data
+ [binary
+ [\\format (.only Format)]]]]]
+ ["[0]" ///
+ [constant (.only Value)]
+ ["[1][0]" index (.only Index)]
+ [encoding
+ ["[1][0]" unsigned (.only U2 U4)]]])
+
+(type .public (Constant a)
+ (Index (Value a)))
+
+(def .public equivalence
+ (All (_ a) (Equivalence (Constant a)))
+ ///index.equivalence)
+
+(def .public length
+ ///index.length)
+
+(def .public format
+ (All (_ a) (Format (Constant a)))
+ ///index.format)