@Override
				public AnnotationVisitor visitAnnotation(String descriptor, boolean visible) {
					if (!descriptor.equals("Lkotlin/jvm/JvmName;"))
						return null;
					return new AnnotationVisitor(RecafConstants.getAsmVersion()) {
						private static final Pattern NAME_PATTERN = RegexUtil.pattern("\\w{1, 50}");

						@Override
						public void visit(String name, Object value) {
							if ("name".equals(name) && value instanceof String sourceName && NAME_PATTERN.matches(sourceName)) {
								mappings.addClass(ownerName, initialClassState.getPackageName() + '/' + sourceName);
							}
						}
					};
				}
A transformer that renames classes and members based on Kotlin metadata.

@author Matt Coley
recaf-core/src/main/java/software/coley/recaf/services/deobfuscation/transform/generic/KotlinNameRestorationTransformer.java