Ignoring alternative signature annotation if it has syntax errors.
This commit is contained in:
+6
@@ -1622,6 +1622,11 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
|||||||
String signature = method.getSignatureAnnotation().signature();
|
String signature = method.getSignatureAnnotation().signature();
|
||||||
if (!signature.isEmpty()) {
|
if (!signature.isEmpty()) {
|
||||||
JetNamedFunction altFunDeclaration = JetPsiFactory.createFunction(project, signature);
|
JetNamedFunction altFunDeclaration = JetPsiFactory.createFunction(project, signature);
|
||||||
|
List<PsiErrorElement> syntaxErrors = AnalyzingUtils.getSyntaxErrorRanges(altFunDeclaration);
|
||||||
|
if (!syntaxErrors.isEmpty()) {
|
||||||
|
// TODO report syntax error as diagnostic when method is used
|
||||||
|
}
|
||||||
|
else {
|
||||||
valueParameterDescriptors = AlternativeSignatureParsing
|
valueParameterDescriptors = AlternativeSignatureParsing
|
||||||
.computeAlternativeValueParameters(valueParameterDescriptors, altFunDeclaration);
|
.computeAlternativeValueParameters(valueParameterDescriptors, altFunDeclaration);
|
||||||
JetTypeReference returnTypeRef = altFunDeclaration.getReturnTypeRef();
|
JetTypeReference returnTypeRef = altFunDeclaration.getReturnTypeRef();
|
||||||
@@ -1630,6 +1635,7 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
|||||||
}
|
}
|
||||||
methodTypeParameters = AlternativeSignatureParsing.computeAlternativeTypeParameters(methodTypeParameters, altFunDeclaration);
|
methodTypeParameters = AlternativeSignatureParsing.computeAlternativeTypeParameters(methodTypeParameters, altFunDeclaration);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
functionDescriptorImpl.initialize(
|
functionDescriptorImpl.initialize(
|
||||||
valueParameterDescriptors.receiverType,
|
valueParameterDescriptors.receiverType,
|
||||||
|
|||||||
Reference in New Issue
Block a user