Moved containsReifiedTypeParameters to DescriptorUtils
This commit is contained in:
committed by
Alexander Udalov
parent
0231aeb017
commit
b86e19782c
+2
-9
@@ -22,6 +22,7 @@ import org.jetbrains.jet.lang.descriptors.*;
|
|||||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
import org.jetbrains.jet.lang.psi.*;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
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.resolve.FunctionAnalyzerExtension;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
import org.jetbrains.jet.lang.types.lang.InlineUtil;
|
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 |= checkInlinableParameter(receiverParameter, receiver, functionDescriptor, trace);
|
||||||
}
|
}
|
||||||
|
|
||||||
hasInlinable |= containsReifiedTypeParameters(functionDescriptor);
|
hasInlinable |= DescriptorUtils.containsReifiedTypeParameters(functionDescriptor);
|
||||||
|
|
||||||
if (!hasInlinable) {
|
if (!hasInlinable) {
|
||||||
trace.report(Errors.NOTHING_TO_INLINE.on(function, functionDescriptor));
|
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(
|
public static boolean checkInlinableParameter(
|
||||||
@NotNull CallableDescriptor parameter,
|
@NotNull CallableDescriptor parameter,
|
||||||
@NotNull JetElement expression,
|
@NotNull JetElement expression,
|
||||||
|
|||||||
@@ -470,4 +470,13 @@ public class DescriptorUtils {
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean containsReifiedTypeParameters(@NotNull CallableDescriptor descriptor) {
|
||||||
|
for (TypeParameterDescriptor typeParameterDescriptor : descriptor.getTypeParameters()) {
|
||||||
|
if (typeParameterDescriptor.isReified()) return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user