From: Samuele P. <ped...@us...> - 2001-01-15 04:44:42
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv21563 Modified Files: PyJavaClass.java __builtin__.java Log Message: minimal changes to core for jreload. should be safe. Index: PyJavaClass.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyJavaClass.java,v retrieving revision 2.28 retrieving revision 2.29 diff -C2 -r2.28 -r2.29 *** PyJavaClass.java 2000/12/16 13:37:14 2.28 --- PyJavaClass.java 2001/01/15 04:44:33 2.29 *************** *** 19,22 **** --- 19,25 ---- } + public static final boolean isLazy(PyJavaClass jc) { // ?? for jreload + return jc.proxyClass == null; + } public static final PyJavaClass lookup(String name,PackageManager mgr) { *************** *** 794,798 **** public Object __tojava__(Class c) { ! initialize(); return super.__tojava__(c); } --- 797,801 ---- public Object __tojava__(Class c) { ! if (c != PyJavaClass.class) initialize(); // ?? for isLazy return super.__tojava__(c); } Index: __builtin__.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/__builtin__.java,v retrieving revision 2.22 retrieving revision 2.23 diff -C2 -r2.22 -r2.23 *** __builtin__.java 2000/12/11 18:43:15 2.22 --- __builtin__.java 2001/01/15 04:44:33 2.23 *************** *** 59,62 **** --- 59,66 ---- case 9: return __builtin__.apply(arg1, arg2); + case 10: + if (!(arg2 instanceof PyClass)) + throw Py.TypeError("isinstance(): 2nd arg is not a class"); + return Py.newBoolean(__builtin__.isinstance(arg1,(PyClass) arg2)); default: throw argCountError(2); *************** *** 117,120 **** --- 121,125 ---- dict.__setitem__("tuple", new BuiltinFunctions("tuple", 8, 1)); dict.__setitem__("apply", new BuiltinFunctions("apply", 9, 2, 3)); + dict.__setitem__("isinstance", new BuiltinFunctions("isinstance", 10, 2)); // ?? for jreload dict.__setitem__("__import__", new ImportFunction()); } |