jslt
jslt copied to clipboard
array * integer doesn't work
I've tried the following in the playground:
[0] * 4
It results in the following exception:
com.schibsted.spt.data.jslt.JsltException: Can't convert [0] to number at <inline>:1:1
at com.schibsted.spt.data.jslt.impl.NodeUtils.number(NodeUtils.java:127)
at com.schibsted.spt.data.jslt.impl.NodeUtils.number(NodeUtils.java:112)
at com.schibsted.spt.data.jslt.impl.NumericOperator.perform(NumericOperator.java:35)
at com.schibsted.spt.data.jslt.impl.MultiplyOperator.perform(MultiplyOperator.java:54)
at com.schibsted.spt.data.jslt.impl.AbstractOperator.apply(AbstractOperator.java:41)
at com.schibsted.spt.data.jslt.impl.AbstractOperator.optimize(AbstractOperator.java:57)
at com.schibsted.spt.data.jslt.impl.ExpressionImpl.optimize(ExpressionImpl.java:130)
at com.schibsted.spt.data.jslt.parser.ParserImpl.compile(ParserImpl.java:108)
at com.schibsted.spt.data.jslt.parser.ParserImpl.compileExpression(ParserImpl.java:56)
at com.schibsted.spt.data.jslt.Parser.compile(Parser.java:226)
at com.schibsted.spt.data.jslt.Parser.compileString(Parser.java:86)
at com.schibsted.spt.data.jslt.Parser.compileString(Parser.java:74)
at no.priv.garshol.jslt.playground.PlaygroundServer$JsltHandler.handle(PlaygroundServer.java:54)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:501)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.base/java.lang.Thread.run(Thread.java:829)
Given that it works with strings e.g. "a" * 4
outputs "aaaa"
, I think the operator should work with arrays too.