in stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Runtime.java [297:323]
public GetPropertiesResponse getProperties(JSONObject params) throws JsonRpcException {
GetPropertiesRequest request = mObjectMapper.convertValue(params, GetPropertiesRequest.class);
if (!request.ownProperties) {
GetPropertiesResponse response = new GetPropertiesResponse();
response.result = new ArrayList<>();
return response;
}
Object object = getObjectOrThrow(request.objectId);
if (object.getClass().isArray()) {
object = arrayToList(object);
}
if (object instanceof ObjectProtoContainer) {
return getPropertiesForProtoContainer((ObjectProtoContainer) object);
} else if (object instanceof List) {
return getPropertiesForIterable((List) object, /* enumerate */ true);
} else if (object instanceof Set) {
return getPropertiesForIterable((Set) object, /* enumerate */ false);
} else if (object instanceof Map) {
return getPropertiesForMap(object);
} else {
return getPropertiesForObject(object);
}
}