From 4033c9f8352f14f8e58e6ad2bbf1bc33736ea3ba Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Fri, 21 Sep 2012 00:59:20 +0400 Subject: [PATCH] Saving alternative signature parsing errors to binding trace. --- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 3 +++ .../src/org/jetbrains/jet/lang/resolve/BindingContext.java | 2 ++ 2 files changed, 5 insertions(+) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 370bc7b8727..92c74bf8c92 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -1579,6 +1579,9 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes returnType = alternativeSignatureData.getReturnType(); methodTypeParameters = alternativeSignatureData.getTypeParameters(); } + else if (alternativeSignatureData.getError() != null) { + trace.record(BindingContext.ALTERNATIVE_SIGNATURE_DATA_ERROR, functionDescriptorImpl, alternativeSignatureData.getError()); + } functionDescriptorImpl.initialize( valueParameterDescriptors.receiverType, diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java index 48fe2cb0e8e..0cd11b2fba6 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/BindingContext.java @@ -252,6 +252,8 @@ public interface BindingContext { WritableSlice INCOMPLETE_HIERARCHY = Slices.createCollectiveSetSlice(); + WritableSlice ALTERNATIVE_SIGNATURE_DATA_ERROR = Slices.createSimpleSlice(); + @SuppressWarnings("UnusedDeclaration") @Deprecated // This field is needed only for the side effects of its initializer Void _static_initializer = BasicWritableSlice.initSliceDebugNames(BindingContext.class);