MCPcopy Create free account
hub / github.com/Snapchat/Valdi / getOrCreateViewFactory

Method getOrCreateViewFactory

valdi/src/valdi/runtime/Context/ViewNodeTree.cpp:215–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

213}
214
215Ref<ViewFactory> ViewNodeTree::getOrCreateViewFactory(const StringBox& viewClassName) {
216 auto viewFactory = getViewFactory(viewClassName);
217 if (viewFactory != nullptr) {
218 return viewFactory;
219 }
220
221 if (viewClassName == AttributesManager::getDeferredClassName()) {
222 viewFactory = createDeferredViewFactory();
223 } else {
224 viewFactory =
225 getCompatibleViewFactory(getViewManagerContext()->getGlobalViewFactories()->getViewFactory(viewClassName));
226 }
227
228 // Register it in our ViewNodeTree to avoid the double lookup next time
229 registerLocalViewFactory(viewClassName, viewFactory);
230
231 return viewFactory;
232}
233
234Ref<ViewFactory> ViewNodeTree::createDeferredViewFactory() {
235 // For the deferred view factory, we create a ViewFactory that conforms to the default view class,

Callers 2

visitMethod · 0.80

Calls 1

getViewFactoryMethod · 0.45

Tested by

no test coverage detected