| 76 | } |
| 77 | } |
| 78 | } else if (typeId & asTYPEID_SCRIPTOBJECT) { |
| 79 | // Dereference handles, so we can see what it points to |
| 80 | if (typeId & asTYPEID_OBJHANDLE) |
| 81 | value = *(void **)value; |
| 82 | |
| 83 | asIScriptObject *obj = (asIScriptObject *)value; |
| 84 | |
| 85 | // Print the address of the object |
| 86 | s << "{" << obj << "}"; |
| 87 | |
| 88 | // Print the members |
| 89 | if (obj && expandMembers > 0) { |
| 90 | asITypeInfo *type = obj->GetObjectType(); |
| 91 | for (asUINT n = 0; n < obj->GetPropertyCount(); n++) { |
| 92 | if (n == 0) |
| 93 | s << " "; |
| 94 | else |
| 95 | s << ", "; |
| 96 | |
| 97 | s << type->GetPropertyDeclaration(n) << " = " << ToString(obj->GetAddressOfProperty(n), obj->GetPropertyTypeId(n), expandMembers - 1, type->GetEngine()); |
| 98 | } |
| 99 | } |
| 100 | } else { |
| 101 | // Dereference handles, so we can see what it points to |
| 102 | if (typeId & asTYPEID_OBJHANDLE) |
| 103 | value = *(void **)value; |
no test coverage detected