Lines Matching defs:args
106 // Type trait. Returns true if "T" is the same type as one of the types in Args...
108 // Logically equal to OR(std::same_type<T, U> for all U in Args).
109 template <typename T, typename ... Args>
112 template <typename T, typename U, typename ... Args>
113 struct is_any_of<T, U, Args ...> {
115 static constexpr const bool value = std::is_same<T, U>::value || is_any_of<T, Args ...>::value;
134 template <typename ... Args>
140 template <typename Arg, typename ... Args>
141 struct count_refs_helper<Arg, Args ...> {
144 (jni_type_traits<Arg>::is_ref ? 1 : 0) + count_refs_helper<Args ...>::value;
150 template <typename R, typename ... Args, R fn(Args...)>
151 struct count_refs_fn_helper<R(Args...), fn> : public count_refs_helper<Args...> {};
184 template <typename T, typename ... Args>
185 size_t count_nonnull_refs_helper(T arg, Args ... args) {
186 return count_nonnull_refs_single_helper(arg) + count_nonnull_refs_helper(args...);
195 template <typename ... Args>
196 size_t count_nonnull_refs(Args ... args) {
197 return count_nonnull_refs_helper(args...);
203 template <typename R, typename Arg1, typename Arg2, typename ... Args, R fn(Arg1, Arg2, Args...)>
204 struct remove_extra_parameters_helper<R(Arg1, Arg2, Args...), fn> {
205 // Note: Do not use Args&& here to maintain C-style parameter types.
206 static R apply(Args... args) {
209 return fn(env, kls, args...);
580 template <typename R, typename ... Args, R fn(JNIEnv*, jclass, Args...)>
581 struct make_jni_test_decorator<R(JNIEnv*, jclass kls, Args...), fn> {
582 static R apply(JNIEnv* env, jclass kls, Args ... args) {
587 EXPECT_NUM_STACK_REFERENCES(count_nonnull_refs(kls, args...),
588 (count_refs_helper<jclass, Args...>::value));
590 return fn(env, kls, args...);
595 template <typename R, typename ... Args, R fn(JNIEnv*, jobject, Args...)>
596 struct make_jni_test_decorator<R(JNIEnv*, jobject, Args...), fn> {
597 static R apply(JNIEnv* env, jobject thisObj, Args ... args) {
602 EXPECT_NUM_STACK_REFERENCES(count_nonnull_refs(thisObj, args...),
603 (count_refs_helper<jobject, Args...>::value));
605 return fn(env, thisObj, args...);
1888 jvalue args[254];
1892 args[i].l = nullptr;
1895 env_->CallNonvirtualVoidMethodA(jobj_, jklass_, jmethod_, args);
1900 args[i].l = tmp;
1901 EXPECT_NE(args[i].l, nullptr);
1904 env_->CallNonvirtualVoidMethodA(jobj_, jklass_, jmethod_, args);