Closed GoogleCodeExporter closed 8 years ago
Similarly (but different), trying to use a function like isFirst() within
{foreach}
rather than {for} results in a NullPointerException rather than a
SoySyntaxException:
{for $i in range(1, length($rows) - 1)}
<div id="{$rows[$i].symbol|id}"
class="{css row} {if $i % 2 == 0}even-row{else}odd-row{/if}">
// This assumes that the caller has made sure that the ticker symbol does
// not contain any malicious HTML.
{if isFirst($i)}hooray!{/if}
<div class="{css cell}">{$rows[$i].symbol|noAutoescape}</div>
<div class="{css cell} {css value-cell}">{$rows[$i].value}</div>
</div>
{/for}
[java] Exception in thread "main" java.lang.NullPointerException
[java] at java.util.ArrayDeque.addFirst(ArrayDeque.java:199)
[java] at java.util.ArrayDeque.push(ArrayDeque.java:466)
[java] at com.google.template.soy.jssrc.internal.TranslateToJsExprVisit
or.visitIsFirstFunction(Unknown Source)
[java] at com.google.template.soy.jssrc.internal.TranslateToJsExprVisit
or.visitInternal(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
Original comment by bolinf...@gmail.com
on 2 May 2010 at 7:55
Below is a minimal testcase for the first issue:
{namespace example}
/**
*/
{template .bad_template}
{index(0)}
{/template}
Original comment by msam...@google.com
on 18 Feb 2011 at 9:27
Original comment by kai.hu...@gmail.com
on 20 Sep 2011 at 12:07
Original issue reported on code.google.com by
mbo...@gmail.com
on 30 Apr 2010 at 4:45