1*65c59e02SInna Palant /* 2*65c59e02SInna Palant * Copyright (c) Facebook, Inc. and its affiliates. 3*65c59e02SInna Palant * 4*65c59e02SInna Palant * Licensed under the Apache License, Version 2.0 (the "License"); 5*65c59e02SInna Palant * you may not use this file except in compliance with the License. 6*65c59e02SInna Palant * You may obtain a copy of the License at 7*65c59e02SInna Palant * 8*65c59e02SInna Palant * http://www.apache.org/licenses/LICENSE-2.0 9*65c59e02SInna Palant * 10*65c59e02SInna Palant * Unless required by applicable law or agreed to in writing, software 11*65c59e02SInna Palant * distributed under the License is distributed on an "AS IS" BASIS, 12*65c59e02SInna Palant * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*65c59e02SInna Palant * See the License for the specific language governing permissions and 14*65c59e02SInna Palant * limitations under the License. 15*65c59e02SInna Palant */ 16*65c59e02SInna Palant 17*65c59e02SInna Palant #pragma once 18*65c59e02SInna Palant 19*65c59e02SInna Palant namespace facebook { 20*65c59e02SInna Palant namespace jni { 21*65c59e02SInna Palant 22*65c59e02SInna Palant template <typename F> 23*65c59e02SInna Palant class JMethod; 24*65c59e02SInna Palant template <typename F> 25*65c59e02SInna Palant class JStaticMethod; 26*65c59e02SInna Palant template <typename F> 27*65c59e02SInna Palant class JNonvirtualMethod; 28*65c59e02SInna Palant template <typename F> 29*65c59e02SInna Palant struct JConstructor; 30*65c59e02SInna Palant template <typename F> 31*65c59e02SInna Palant class JField; 32*65c59e02SInna Palant template <typename F> 33*65c59e02SInna Palant class JStaticField; 34*65c59e02SInna Palant 35*65c59e02SInna Palant /// Type traits for Java types (currently providing Java type descriptors) 36*65c59e02SInna Palant template <typename T> 37*65c59e02SInna Palant struct jtype_traits; 38*65c59e02SInna Palant 39*65c59e02SInna Palant /// Type traits for Java methods (currently providing Java type descriptors) 40*65c59e02SInna Palant template <typename F> 41*65c59e02SInna Palant struct jmethod_traits; 42*65c59e02SInna Palant 43*65c59e02SInna Palant } // namespace jni 44*65c59e02SInna Palant } // namespace facebook 45