Changeset 218:128bfd1e9f57 in livinglogic.java.ul4

Show
Ignore:
Timestamp:
05/10/09 19:19:11 (10 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Add support for the iscolor() function.

Location:
library/src/com/livinglogic/ul4
Files:
2 modified

Legend:

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

    r216 r218  
    11551155                                    reg[code.r1] = ((null != reg[code.r2]) && (reg[code.r2] instanceof Template)) ? Boolean.TRUE : Boolean.FALSE; 
    11561156                                    break; 
     1157                                case Opcode.CF1_ISCOLOR: 
     1158                                    reg[code.r1] = ((null != reg[code.r2]) && (reg[code.r2] instanceof Color)) ? Boolean.TRUE : Boolean.FALSE; 
     1159                                    break; 
    11571160                                case Opcode.CF1_CHR: 
    11581161                                    reg[code.r1] = Utils.chr(reg[code.r2]); 
     
    19931996                            code(buffer, indent, "reg" + opcode.r1 + " = hasattr(reg" + opcode.r2 + ", '__call__')"); 
    19941997                            break; 
     1998                        case Opcode.CF1_ISCOLOR: 
     1999                            code(buffer, indent, "reg" + opcode.r1 + " = isinstance(reg" + opcode.r2 + ", color.Color)"); 
     2000                            break; 
    19952001                        case Opcode.CF1_REPR: 
    19962002                            code(buffer, indent, "reg" + opcode.r1 + " = ul4c._repr(reg" + opcode.r2 + ")"); 
  • library/src/com/livinglogic/ul4/Opcode.java

    r216 r218  
    352352        else if (name.equals("istemplate")) 
    353353            return CF1_ISTEMPLATE; 
     354        else if (name.equals("iscolor")) 
     355            return CF1_ISCOLOR; 
    354356        else if (name.equals("chr")) 
    355357            return CF1_CHR;