EA-39486 Fixed - IAE: AnnotationResolver.resolveAnnotationArgument
This commit is contained in:
@@ -120,14 +120,17 @@ public class AnnotationResolver {
|
|||||||
List<ValueArgument> valueArguments = descriptorToArgument.getValue().getArguments();
|
List<ValueArgument> valueArguments = descriptorToArgument.getValue().getArguments();
|
||||||
ValueParameterDescriptor parameterDescriptor = descriptorToArgument.getKey();
|
ValueParameterDescriptor parameterDescriptor = descriptorToArgument.getKey();
|
||||||
for (ValueArgument argument : valueArguments) {
|
for (ValueArgument argument : valueArguments) {
|
||||||
|
JetExpression argumentExpression = argument.getArgumentExpression();
|
||||||
|
if (argumentExpression != null) {
|
||||||
CompileTimeConstant<?> compileTimeConstant =
|
CompileTimeConstant<?> compileTimeConstant =
|
||||||
resolveAnnotationArgument(argument.getArgumentExpression(), parameterDescriptor.getType(), trace);
|
resolveAnnotationArgument(argumentExpression, parameterDescriptor.getType(), trace);
|
||||||
if (compileTimeConstant != null) {
|
if (compileTimeConstant != null) {
|
||||||
descriptor.setValueArgument(parameterDescriptor, compileTimeConstant);
|
descriptor.setValueArgument(parameterDescriptor, compileTimeConstant);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public CompileTimeConstant<?> resolveAnnotationArgument(@NotNull JetExpression expression, @NotNull final JetType expectedType, final BindingTrace trace) {
|
public CompileTimeConstant<?> resolveAnnotationArgument(@NotNull JetExpression expression, @NotNull final JetType expectedType, final BindingTrace trace) {
|
||||||
|
|||||||
Reference in New Issue
Block a user