diff options
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.lux | 10 |
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)])) |