Changeset 4574


Ignore:
Timestamp:
10/30/03 08:16:11 (18 years ago)
Author:
asimon
Message:

JFIELD uses javaInstance for automatic type conversion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Java.java

    r4567 r4574  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Java.java,v 1.15 2003-10-29 09:24:49 asimon Exp $
     5 * $Id: Java.java,v 1.16 2003-10-30 08:16:11 asimon Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    105105                }
    106106                f = c.getField(fieldName);
    107                 Class requiredType = f.getType();
     107
    108108                switch (args.length) {
    109109                    case 2:
     
    120120                            } else {
    121121                                // Case 3.
    122                                 if (args[2] instanceof Fixnum)
    123                                     f.set(instance, new Integer(((Fixnum)args[2]).getValue()));
    124                                 else if (args[2] instanceof LispFloat)
    125                                     f.set(instance, new Double(((LispFloat)args[2]).getValue()));
    126                                 else if (args[2] instanceof LispCharacter)
    127                                     f.set(instance, new Character(((LispCharacter)args[2]).getValue()));
    128                                 else
    129                                     throw new ConditionThrowable(new TypeError(
    130                                         "unsupported type in jfield"));
    131                                 return args[2];
     122            f.set(null,args[2].javaInstance());
     123            return args[2];
    132124                            }
    133125                        } else {
Note: See TracChangeset for help on using the changeset viewer.