org.jetbrains.kotlin.resolve.inline
Class InlineUtil
java.lang.Object
org.jetbrains.kotlin.resolve.inline.InlineUtil
public class InlineUtil
- extends java.lang.Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InlineUtil
public InlineUtil()
isInlineLambdaParameter
public static boolean isInlineLambdaParameter(@NotNull
ParameterDescriptor valueParameterOrReceiver)
isInline
public static boolean isInline(@Nullable
DeclarationDescriptor descriptor)
isInlineOrContainingInline
public static boolean isInlineOrContainingInline(@Nullable
DeclarationDescriptor descriptor)
getInlineStrategy
@NotNull
public static InlineStrategy getInlineStrategy(@NotNull
DeclarationDescriptor descriptor)
checkNonLocalReturnUsage
public static boolean checkNonLocalReturnUsage(@NotNull
DeclarationDescriptor fromFunction,
@NotNull
KtExpression startExpression,
@NotNull
BindingTrace trace)
isInlinedArgument
public static boolean isInlinedArgument(@NotNull
KtFunction argument,
@NotNull
BindingContext bindingContext,
boolean checkNonLocalReturn)
getInlineArgumentDescriptor
@Nullable
public static ValueParameterDescriptor getInlineArgumentDescriptor(@NotNull
KtFunction argument,
@NotNull
BindingContext bindingContext)
canBeInlineArgument
public static boolean canBeInlineArgument(@Nullable
com.intellij.psi.PsiElement functionalExpression)
isArrayConstructorWithLambda
public static boolean isArrayConstructorWithLambda(@NotNull
CallableDescriptor descriptor)
- Returns:
- true if the descriptor is the constructor of one of 9 array classes (Array<T>, IntArray, FloatArray, ...)
which takes the size and an initializer lambda as parameters. Such constructors are marked as 'inline' but they are not loaded
as such because the 'inline' flag is not stored for constructors in the binary metadata. Therefore we pretend that they are inline
getContainingClassOrFunctionDescriptor
@Nullable
public static DeclarationDescriptor getContainingClassOrFunctionDescriptor(@NotNull
DeclarationDescriptor descriptor,
boolean strict)
allowsNonLocalReturns
public static boolean allowsNonLocalReturns(@NotNull
CallableDescriptor lambda)
containsReifiedTypeParameters
public static boolean containsReifiedTypeParameters(@NotNull
CallableDescriptor descriptor)