Moved containsReifiedTypeParameters to DescriptorUtils

This commit is contained in:
Denis Zharkov
2014-12-08 18:27:06 +03:00
committed by Alexander Udalov
parent 0231aeb017
commit b86e19782c
2 changed files with 11 additions and 9 deletions
@@ -22,6 +22,7 @@ import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.diagnostics.Errors;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.FunctionAnalyzerExtension;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.lang.InlineUtil;
@@ -128,21 +129,13 @@ public class InlineAnalyzerExtension implements FunctionAnalyzerExtension.Analyz
hasInlinable |= checkInlinableParameter(receiverParameter, receiver, functionDescriptor, trace);
}
hasInlinable |= containsReifiedTypeParameters(functionDescriptor);
hasInlinable |= DescriptorUtils.containsReifiedTypeParameters(functionDescriptor);
if (!hasInlinable) {
trace.report(Errors.NOTHING_TO_INLINE.on(function, functionDescriptor));
}
}
private static boolean containsReifiedTypeParameters(@NotNull FunctionDescriptor descriptor) {
for (TypeParameterDescriptor typeParameterDescriptor : descriptor.getTypeParameters()) {
if (typeParameterDescriptor.isReified()) return true;
}
return false;
}
public static boolean checkInlinableParameter(
@NotNull CallableDescriptor parameter,
@NotNull JetElement expression,
@@ -470,4 +470,13 @@ public class DescriptorUtils {
return false;
}
public static boolean containsReifiedTypeParameters(@NotNull CallableDescriptor descriptor) {
for (TypeParameterDescriptor typeParameterDescriptor : descriptor.getTypeParameters()) {
if (typeParameterDescriptor.isReified()) return true;
}
return false;
}
}