Fix disambiguation of constructor declaration annotations

MOE_MIGRATED_REVID=138929417
diff --git a/java/com/google/turbine/binder/DisambiguateTypeAnnotations.java b/java/com/google/turbine/binder/DisambiguateTypeAnnotations.java
index 0f6c9b4..43e9f23 100644
--- a/java/com/google/turbine/binder/DisambiguateTypeAnnotations.java
+++ b/java/com/google/turbine/binder/DisambiguateTypeAnnotations.java
@@ -100,7 +100,11 @@
     ImmutableList.Builder<AnnoInfo> declarationAnnotations = ImmutableList.builder();
     Type returnType =
         disambiguate(
-            env, ElementType.METHOD, base.returnType(), base.annotations(), declarationAnnotations);
+            env,
+            base.name().equals("<init>") ? ElementType.CONSTRUCTOR : ElementType.METHOD,
+            base.returnType(),
+            base.annotations(),
+            declarationAnnotations);
     return new MethodInfo(
         base.sym(),
         base.tyParams(),
diff --git a/javatests/com/google/turbine/lower/LowerIntegrationTest.java b/javatests/com/google/turbine/lower/LowerIntegrationTest.java
index a7f1e26..7799c07 100644
--- a/javatests/com/google/turbine/lower/LowerIntegrationTest.java
+++ b/javatests/com/google/turbine/lower/LowerIntegrationTest.java
@@ -264,6 +264,7 @@
       "const_nonfinal.test",
       "enum_abstract.test",
       "deficient_types_classfile.test",
+      "ctor_anno.test",
     };
     List<Object[]> tests =
         ImmutableList.copyOf(testCases).stream().map(x -> new Object[] {x}).collect(toList());
diff --git a/javatests/com/google/turbine/lower/testdata/ctor_anno.test b/javatests/com/google/turbine/lower/testdata/ctor_anno.test
new file mode 100644
index 0000000..6999eb7
--- /dev/null
+++ b/javatests/com/google/turbine/lower/testdata/ctor_anno.test
@@ -0,0 +1,11 @@
+=== Anno.java ===
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+@Target(ElementType.CONSTRUCTOR)
+@interface Anno {}
+
+=== Test.java ===
+public class Test {
+  @Anno Test(int x) {}
+}