From 662d823597f8695c0e7af94a9eb3cdd5c1b7298e Mon Sep 17 00:00:00 2001 From: Brad Corso Date: Tue, 9 Jan 2024 15:01:19 -0800 Subject: Update Dagger XProcessing jars. The fix for https://github.com/google/dagger/issues/4199 is included in the new XProcessing jars (aosp/2891694), so this CL also adds a regression test for that issue. Fixes #4199 RELNOTES=Fixed #4199 PiperOrigin-RevId: 597054515 --- .../internal/codegen/xprocessing/xprocessing.jar | Bin 2420508 -> 2420617 bytes .../MembersInjectionWithTypeAliasSuperclassTest.kt | 55 +++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 javatests/dagger/functional/kotlinsrc/membersinject/MembersInjectionWithTypeAliasSuperclassTest.kt diff --git a/java/dagger/internal/codegen/xprocessing/xprocessing.jar b/java/dagger/internal/codegen/xprocessing/xprocessing.jar index 3189a28e3..24590f84d 100644 Binary files a/java/dagger/internal/codegen/xprocessing/xprocessing.jar and b/java/dagger/internal/codegen/xprocessing/xprocessing.jar differ diff --git a/javatests/dagger/functional/kotlinsrc/membersinject/MembersInjectionWithTypeAliasSuperclassTest.kt b/javatests/dagger/functional/kotlinsrc/membersinject/MembersInjectionWithTypeAliasSuperclassTest.kt new file mode 100644 index 000000000..e45f63e84 --- /dev/null +++ b/javatests/dagger/functional/kotlinsrc/membersinject/MembersInjectionWithTypeAliasSuperclassTest.kt @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2024 The Dagger Authors. + * + * 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 dagger.functional.kotlinsrc.membersinject + +import com.google.common.truth.Truth.assertThat +import dagger.Component +import javax.inject.Inject +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +/** This is a regression test for https://github.com/google/dagger/issues/4199 */ +@RunWith(JUnit4::class) +class MembersInjectionWithTypeAliasSuperclassTest { + @Test + fun testMembersInjection() { + val myClass = MyClass() + DaggerTestComponent.create().inject(myClass) + assertThat(myClass.foo).isNotNull() + assertThat(myClass.bar).isNotNull() + } +} + +@Component +interface TestComponent { + fun inject(myClass: MyClass) +} + +class MyClass: MyBaseClassAlias() { + @Inject lateinit var foo: Foo +} + +typealias MyBaseClassAlias = MyBaseClass + +abstract class MyBaseClass { + @Inject lateinit var bar: Bar +} + +class Foo @Inject constructor() +class Bar @Inject constructor() -- cgit v1.2.3