system/src/sc/lang/DynObject.java
public static Object createVirtual(String typeName, Object outerObj, String constructorSig, Object...args) {
      TypeDeclaration dynType = LayeredSystem.getCurrent().getSrcTypeDeclaration(typeName, null, true);
      if (dynType == null)
         throw new IllegalArgumentException("No type named: " + typeName + " for dynamic new operation");
      dynType = dynType.getVirtualTypeForInstance(outerObj);
      return create(true, dynType, outerObj, constructorSig, args);
   }
/**
    * When generating getX inner object methods in dynamic stubs, to allow these to be overridden without adding a new getX method to a modifyInherited type, look up the most specific
    * version of the dype for the given instance.  I think this is a little bit of runtime overhead but avoids a lot of changing the compiled definition.
    */
When generating getX inner object methods in dynamic stubs, to allow these to be overridden without adding a new getX method to a modifyInherited type, look up the most specific
version of the dype for the given instance.  I think this is a little bit of runtime overhead but avoids a lot of changing the compiled definition.
When generating getX inner object methods in dynamic stubs to allow these to be overridden without adding a new getX method to a modifyInherited type look up the most specific version of the dype for the given instance . I think this is a little bit of runtime overhead but avoids a lot of changing the compiled definition .
public static Object createVirtual(String typeName, Object outerObj, String constructorSig, Object...args) {
      TypeDeclaration dynType = LayeredSystem.getCurrent().getSrcTypeDeclaration(typeName, null, true);
      if (dynType == null)
         throw new IllegalArgumentException("No type named: " + typeName + " for dynamic new operation");
      dynType = dynType.getVirtualTypeForInstance(outerObj);
      return create(true, dynType, outerObj, constructorSig, args);
   }
public static Object createVirtual ( String typeName , Object outerObj , String constructorSig , Object ... args ) { TypeDeclaration dynType = LayeredSystem . getCurrent ( ) . getSrcTypeDeclaration ( typeName , null , true ) ; if ( dynType == null ) throw new IllegalArgumentException ( "No type named: " + typeName + " for dynamic new operation" ) ; dynType = dynType . getVirtualTypeForInstance ( outerObj ) ; return create ( true , dynType , outerObj , constructorSig , args ) ; }
When generating getX inner object methods in dynamic stubs, to allow these to be overridden without adding a new getX method to a modifyInherited type, look up the most specific
 version of the dype for the given instance.
When generating getX inner object methods in dynamic stubs to allow these to be overridden without adding a new getX method to a modifyInherited type look up the most specific version of the dype for the given instance .