JS: support enumValues<E>() and enumValueOf<E>("name") intrinsics.
This commit is contained in:
@@ -587,4 +587,17 @@ public class DescriptorUtils {
|
||||
ClassDescriptor containingClass = getContainingClass(descriptor);
|
||||
return containingClass != null && isEffectivelyExternal(containingClass);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static FunctionDescriptor getFunctionByName(@NotNull MemberScope scope, @NotNull Name name) {
|
||||
Collection<DeclarationDescriptor> functions = scope.getContributedDescriptors(DescriptorKindFilter.FUNCTIONS,
|
||||
MemberScope.Companion.getALL_NAME_FILTER());
|
||||
for (DeclarationDescriptor d : functions) {
|
||||
if (d instanceof FunctionDescriptor && name.equals(d.getOriginal().getName())) {
|
||||
return (FunctionDescriptor) d;
|
||||
}
|
||||
}
|
||||
|
||||
throw new IllegalStateException("Function not found");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user