void ( @NotNull DeclarationDescriptor descriptor, @NotNull Printer printer ) { boolean isPrimaryConstructor = conf.checkPrimaryConstructors && descriptor instanceof ConstructorDescriptor && ((ConstructorDescriptor) descriptor).isPrimary(); boolean isRecord = descriptor instanceof JavaClassDescriptor && ((JavaClassDescriptor) descriptor).isRecord(); boolean isRecordComponent = descriptor instanceof JavaMethodDescriptor && ((JavaMethodDescriptor) descriptor).isForRecordComponent(); StringBuilder prefix = new StringBuilder(); if (isPrimaryConstructor) { prefix.append("/*primary*/ "); } if (isRecord) { prefix.append("/*record*/ "); } if (isRecordComponent) { prefix.append("/*record component*/ "); } printer.print(prefix.toString(), conf.renderer.render(descriptor)); if (descriptor instanceof FunctionDescriptor && conf.checkFunctionContracts) { printEffectsIfAny((FunctionDescriptor) descriptor, printer); } }