From d624a7858c0a63a99f9982931a94e80ee3fc13fd Mon Sep 17 00:00:00 2001 From: Yohann Roussel Date: Wed, 17 Sep 2014 18:26:31 +0200 Subject: Fix visibility bridges flags. Visibility bridges should not inherit of all flags of the target method. Change-Id: Id8bf8b14be2d5ba04c899bea9fc6541513ffe2f4 --- .../android/jack/bridge/test009/jack/Caller.java | 36 ++++++++++++++++++++++ .../bridge/test009/jack/sub/PackageProtected.java | 32 +++++++++++++++++++ .../test009/jack/sub/PublicExtendsPackage.java | 21 +++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 jack-tests/tests/com/android/jack/bridge/test009/jack/Caller.java create mode 100644 jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PackageProtected.java create mode 100644 jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PublicExtendsPackage.java (limited to 'jack-tests') diff --git a/jack-tests/tests/com/android/jack/bridge/test009/jack/Caller.java b/jack-tests/tests/com/android/jack/bridge/test009/jack/Caller.java new file mode 100644 index 00000000..3495b9d2 --- /dev/null +++ b/jack-tests/tests/com/android/jack/bridge/test009/jack/Caller.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.jack.bridge.test009.jack; + +import com.android.jack.bridge.test009.jack.sub.PublicExtendsPackage; + + +public class Caller { + + public void call() { + PublicExtendsPackage obj = new PublicExtendsPackage() { + @Override + public void put(boolean key) { + } + }; + + obj.put(1.0f); + obj.put("", "toto"); + obj.put(2l); + obj.put(true); + } +} diff --git a/jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PackageProtected.java b/jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PackageProtected.java new file mode 100644 index 00000000..60300dce --- /dev/null +++ b/jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PackageProtected.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.jack.bridge.test009.jack.sub; + + +abstract class PackageProtected { + + public strictfp void put(float key) { + } + + public void put(Object... keys) { + } + + public native void put(long key); + + public abstract void put(boolean key); +} + diff --git a/jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PublicExtendsPackage.java b/jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PublicExtendsPackage.java new file mode 100644 index 00000000..b5be4d32 --- /dev/null +++ b/jack-tests/tests/com/android/jack/bridge/test009/jack/sub/PublicExtendsPackage.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.jack.bridge.test009.jack.sub; + + +public abstract class PublicExtendsPackage extends PackageProtected { +} -- cgit v1.2.3