static local_ref newObjectCxxArgs()

in cxx/fbjni/detail/Hybrid.h [226:241]


  static local_ref<JavaPart> newObjectCxxArgs(Args&&... args) {
    static bool isHybrid = detail::HybridClassBase::isHybridClassBase(javaClassStatic());
    auto cxxPart = std::unique_ptr<T>(new T(std::forward<Args>(args)...));

    local_ref<JavaPart> result;
    if (isHybrid) {
      result = JavaPart::newInstance();
      setNativePointer(result, std::move(cxxPart));
    }
    else {
      auto hybridData = makeHybridData(std::move(cxxPart));
      result = JavaPart::newInstance(hybridData);
    }

    return result;
  }