Changeset 372:584c695b0741 in livinglogic.java.ul4

Show
Ignore:
Timestamp:
02/15/11 18:36:03 (8 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Fix various bugs in the Java source code generation.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/src/com/livinglogic/ul4/JavaSource4Template.java

    r370 r372  
    102102                    if (opcode.arg.length() > 11) 
    103103                    { 
    104                         String hour = StringUtils.stripStart(opcode.arg.substring(8, 10), "0"); 
    105                         String minute = StringUtils.stripStart(opcode.arg.substring(11, 13), "0"); 
    106                         String second = StringUtils.stripStart(opcode.arg.substring(14, 16), "0"); 
    107                         if (opcode.arg.length() > 17) 
     104                        String hour = StringUtils.stripStart(opcode.arg.substring(11, 13), "0"); 
     105                        String minute = StringUtils.stripStart(opcode.arg.substring(14, 16), "0"); 
     106                        String second = StringUtils.stripStart(opcode.arg.substring(17, 19), "0"); 
     107                        if (opcode.arg.length() > 20) 
    108108                        { 
    109                             String microsecond = opcode.arg.substring(17); 
     109                            String microsecond = opcode.arg.substring(20); 
    110110                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.makeDate(" + year + ", " + month + ", " + day + ", " + hour + ", " + minute + ", " + second + ", " + microsecond + ");"); 
    111111                        } 
     
    133133                    break; 
    134134                case Opcode.OC_UPDATEDICT: 
    135                     code("((java.util.Map)r" + opcode.r1 + ").putAll(r" + opcode.r2 + ");"); 
     135                    code("((java.util.Map)r" + opcode.r1 + ").putAll((java.util.Map)r" + opcode.r2 + ");"); 
    136136                    break; 
    137137                case Opcode.OC_LOADVAR: 
     
    206206                case Opcode.OC_ENDDEF: 
    207207                    indent--; 
    208                     code("};"); 
     208                    code("}"); 
    209209                    indent--; 
    210                     code(");"); 
     210                    code("});"); 
    211211                    break; 
    212212                case Opcode.OC_BREAK: 
     
    539539                            break; 
    540540                        case Opcode.CM0_RENDER: 
    541                             code("r" + opcode.r1 + " = ((com.livinglogic.ul4.Template)r" + opcode.r2 + ").renders(new HashMap<String, Object>());"); 
     541                            code("r" + opcode.r1 + " = ((com.livinglogic.ul4.Template)r" + opcode.r2 + ").renders(null);"); 
    542542                            break; 
    543543                    } 
     
    547547                    { 
    548548                        case Opcode.CM1_JOIN: 
    549                             code("r" + opcode.r1 + " = ul4._me_join(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     549                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.join(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    550550                            break; 
    551551                        case Opcode.CM1_STRIP: 
    552                             code("r" + opcode.r1 + " = ul4._me_strip(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     552                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.strip(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    553553                            break; 
    554554                        case Opcode.CM1_LSTRIP: 
    555                             code("r" + opcode.r1 + " = ul4._me_lstrip(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     555                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.lstrip(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    556556                            break; 
    557557                        case Opcode.CM1_RSTRIP: 
    558                             code("r" + opcode.r1 + " = ul4._me_rstrip(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     558                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.rstrip(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    559559                            break; 
    560560                        case Opcode.CM1_STARTSWITH: 
    561                             code("r" + opcode.r1 + " = ul4._me_startswith(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     561                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.startswith(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    562562                            break; 
    563563                        case Opcode.CM1_ENDSWITH: 
    564                             code("r" + opcode.r1 + " = ul4._me_endswith(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     564                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.endswith(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    565565                            break; 
    566566                        case Opcode.CM1_FORMAT: 
    567                             code("r" + opcode.r1 + " = ul4._me_format(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     567                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.format(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    568568                            break; 
    569569                        case Opcode.CM1_WITHLUM: 
    570                             code("r" + opcode.r1 + " = ul4._me_withlum(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     570                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.withlum(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    571571                            break; 
    572572                        case Opcode.CM1_WITHA: 
    573                             code("r" + opcode.r1 + " = ul4._me_witha(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
     573                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.witha(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    574574                            break; 
    575575                        case Opcode.CM1_SPLIT: 
     
    580580                            break; 
    581581                        case Opcode.CM1_GET: 
    582                             code("r" + opcode.r1 + " = ul4._me_get(r" + opcode.r2 + ", r" + opcode.r3 + ", null);"); 
     582                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.get(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    583583                            break; 
    584584                        case Opcode.CM1_FIND: 
    585                             code("r" + opcode.r1 + " = ul4._me_find(r" + opcode.r2 + ", r" + opcode.r3 + ", null, null);"); 
     585                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.find(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    586586                            break; 
    587587                        case Opcode.CM1_RFIND: 
    588                             code("r" + opcode.r1 + " = ul4._me_rfind(r" + opcode.r2 + ", r" + opcode.r3 + ", null, null);"); 
     588                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.rfind(r" + opcode.r2 + ", r" + opcode.r3 + ");"); 
    589589                            break; 
    590590                    } 
     
    600600                            break; 
    601601                        case Opcode.CM2_REPLACE: 
    602                             code("r" + opcode.r1 + " = ul4._me_replace(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ");"); 
     602                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.replace(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ");"); 
    603603                            break; 
    604604                        case Opcode.CM2_GET: 
    605                             code("r" + opcode.r1 + " = ul4._me_get(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ");"); 
     605                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.get(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ");"); 
    606606                            break; 
    607607                        case Opcode.CM2_FIND: 
    608                             code("r" + opcode.r1 + " = ul4._me_find(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ", null);"); 
     608                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.find(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ");"); 
    609609                            break; 
    610610                        case Opcode.CM2_RFIND: 
    611                             code("r" + opcode.r1 + " = ul4._me_rfind(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ", null);"); 
     611                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.rfind(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ");"); 
    612612                            break; 
    613613                    } 
     
    617617                    { 
    618618                        case Opcode.CM3_FIND: 
    619                             code("r" + opcode.r1 + " = ul4._me_find(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ", r" + opcode.r5 + ");"); 
     619                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.find(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ", r" + opcode.r5 + ");"); 
    620620                            break; 
    621621                        case Opcode.CM3_RFIND: 
    622                             code("r" + opcode.r1 + " = ul4._me_rfind(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ", r" + opcode.r5 + ");"); 
     622                            code("r" + opcode.r1 + " = com.livinglogic.ul4.Utils.rfind(r" + opcode.r2 + ", r" + opcode.r3 + ", r" + opcode.r4 + ", r" + opcode.r5 + ");"); 
    623623                            break; 
    624624                    } 
     
    628628                    { 
    629629                        case Opcode.CMKW_RENDER: 
    630                             code("r" + opcode.r1 + " = r" + opcode.r2 + ".renders(r" + opcode.r3 + ");"); 
     630                            code("r" + opcode.r1 + " = ((com.livinglogic.ul4.Template)r" + opcode.r2 + ").renders((java.util.Map<String, Object>)r" + opcode.r3 + ");"); 
    631631                            break; 
    632632                    } 
     
    649649                    break; 
    650650                case Opcode.OC_RENDER: 
    651                     code("((com.livinglogic.ul4.Template)r" + opcode.r2 + ").render(out, (java.util.Map)r" + opcode.r2 + ");"); 
     651                    code("((com.livinglogic.ul4.Template)r" + opcode.r1 + ").render(out, (java.util.Map<String, Object>)r" + opcode.r2 + ");"); 
    652652                    break; 
    653653            }