| # Copyright 2023 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| |
| def Generate(jni_objs, *, gen_jni_class, script_name): |
| sb = [] |
| sb.append(f"""\ |
| // |
| // This file is a placeholder. It was generated by {script_name} |
| // |
| |
| package {gen_jni_class.package_with_dots}; |
| |
| public class {gen_jni_class.name} {{ |
| public static boolean TESTING_ENABLED; |
| public static boolean REQUIRE_MOCK; |
| """) |
| |
| for jni_obj in jni_objs: |
| for native in jni_obj.proxy_natives: |
| sig_params = native.proxy_params.to_java_declaration() |
| sb.append(f""" |
| public static native {native.proxy_return_type.to_java()} {native.proxy_name}\ |
| ({sig_params});""") |
| |
| sb.append('\n}\n') |
| return ''.join(sb) |