aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux')
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux10
1 files changed, 6 insertions, 4 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux
index 9ed84603f..1538e19ae 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux
@@ -336,12 +336,14 @@
rightG ..ensure_string
(_.invokevirtual ..$String "concat" (type.method [(list) (list ..$String) ..$String (list)]))))
-(def: (text::clip [startG endG subjectG])
+(def: (text::clip [offset! length! subject!])
(Trinary (Bytecode Any))
($_ _.composite
- subjectG ..ensure_string
- startG ..jvm_int
- endG ..jvm_int
+ subject! ..ensure_string
+ offset! ..jvm_int
+ _.dup
+ length! ..jvm_int
+ _.iadd
(_.invokevirtual ..$String "substring" (type.method [(list) (list type.int type.int) ..$String (list)]))))
(def: index_method (type.method [(list) (list ..$String type.int) type.int (list)]))