1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.android.hoststubgen.test.tinyframework;
17 
18 import android.hosttest.annotation.HostSideTestWholeClassKeep;
19 
20 // TODO: This annotation shouldn't be needed.
21 // We should infer it from HostSideTestNativeSubstitutionClass.
22 @HostSideTestWholeClassKeep
23 public class TinyFrameworkNative_host {
nativeAddTwo(int arg)24     public static int nativeAddTwo(int arg) {
25         return arg + 2;
26     }
27 
nativeLongPlus(long arg1, long arg2)28     public static long nativeLongPlus(long arg1, long arg2) {
29         return arg1 + arg2;
30     }
31 
32     // Note, the method must be static even for a non-static native method, but instead it
33     // must take the "source" instance as the first argument.
nativeNonStaticAddToValue(TinyFrameworkNative source, int arg)34     public static int nativeNonStaticAddToValue(TinyFrameworkNative source, int arg) {
35         return source.value + arg;
36     }
37 
nativeBytePlus(byte arg1, byte arg2)38     public static byte nativeBytePlus(byte arg1, byte arg2) {
39         return (byte) (arg1 + arg2);
40     }
41 }
42