[pypy-svn] r28473 - in pypy/dist/pypy/translator/cli: . src

antocuni at codespeak.net antocuni at codespeak.net
Wed Jun 7 18:52:28 CEST 2006


Author: antocuni
Date: Wed Jun  7 18:52:27 2006
New Revision: 28473

Modified:
   pypy/dist/pypy/translator/cli/opcodes.py
   pypy/dist/pypy/translator/cli/src/pypylib.cs
Log:
Added support for 'subclassof'



Modified: pypy/dist/pypy/translator/cli/opcodes.py
==============================================================================
--- pypy/dist/pypy/translator/cli/opcodes.py	(original)
+++ pypy/dist/pypy/translator/cli/opcodes.py	Wed Jun  7 18:52:27 2006
@@ -48,6 +48,7 @@
     'oois':                     'ceq',
     'oononnull':                [PushAllArgs, 'ldnull', 'ceq']+Not,
     'instanceof':               [CastTo, 'ldnull', 'cgt.un'],
+    'subclassof':               [PushAllArgs, 'call bool [pypylib]pypy.runtime.Utils::SubclassOf(class [mscorlib]System.Type, class[mscorlib]System.Type)'],
     
     'same_as':                  DoNothing, # TODO: does same_as really do nothing else than renaming?    
     'direct_call':              [Call],

Modified: pypy/dist/pypy/translator/cli/src/pypylib.cs
==============================================================================
--- pypy/dist/pypy/translator/cli/src/pypylib.cs	(original)
+++ pypy/dist/pypy/translator/cli/src/pypylib.cs	Wed Jun  7 18:52:27 2006
@@ -35,6 +35,11 @@
         {
             return t.GetConstructor(new Type[0]).Invoke(new object[0]);
         }
+
+        public static bool SubclassOf(Type a, Type b)
+        {
+            return (a == b || a.IsSubclassOf(b));
+        }
     }
 
     //The public interface List must implement is defined in



More information about the Pypy-commit mailing list