# HG changeset patch # User Jaroslav Tulach # Date 1361285676 -3600 # Node ID 2b1cf4f012f2621fa8deec90535583fde8210b9f # Parent 06d89ffe489e01a374a72719f96ebde83e58c7d4 When computing VM method name use erasured type diff -r 06d89ffe489e -r 2b1cf4f012f2 javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Tue Feb 19 15:42:41 2013 +0100 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Tue Feb 19 15:54:36 2013 +0100 @@ -397,7 +397,9 @@ continue; } ExecutableElement ee = (ExecutableElement)e; - final String tn = ee.getReturnType().toString(); + final TypeMirror rt = ee.getReturnType(); + TypeMirror ert = processingEnv.getTypeUtils().erasure(rt); + final String tn = ert.toString(); final String sn = ee.getSimpleName().toString(); String[] gs = toGetSet(sn, tn, false); diff -r 06d89ffe489e -r 2b1cf4f012f2 javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java Tue Feb 19 15:42:41 2013 +0100 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java Tue Feb 19 15:54:36 2013 +0100 @@ -17,6 +17,7 @@ */ package org.apidesign.bck2brwsr.htmlpage; +import java.util.List; import org.apidesign.bck2brwsr.core.JavaScriptBody; import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty; import org.apidesign.bck2brwsr.htmlpage.api.OnEvent; @@ -71,11 +72,35 @@ assert cnt == 2 : "Two children now, but was " + cnt; } + @HtmlFragment( + "\n" + ) + @BrwsrTest public void displayContentOfDerivedArray() { + KnockoutModel m = new KnockoutModel(); + m.getResults().add("Ahoj"); + m.applyBindings(); + + int cnt = countChildren("ul"); + assert cnt == 1 : "One child, but was " + cnt; + + m.getResults().add("hello"); + + cnt = countChildren("ul"); + assert cnt == 2 : "Two children now, but was " + cnt; + } + @ComputedProperty static String helloMessage(String name) { return "Hello " + name + "!"; } + @ComputedProperty + static List cmpResults(List results) { + return results; + } + @Factory public static Object[] create() { return VMTest.create(KnockoutTest.class);