[Generator] Reference generator class in generated code files

This commit is contained in:
Ilya Gorbunov
2023-08-29 04:33:02 +02:00
committed by Space Team
parent 74ac48851a
commit 68a9b9c312
35 changed files with 42 additions and 15 deletions
+1
View File
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.arrays.GenerateArrays
package kotlin
+1
View File
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.JvmBooleanGenerator
package kotlin
+1
View File
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.JvmCharGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.JvmPrimitivesGenerator
package kotlin
+2 -5
View File
@@ -10,15 +10,11 @@ import org.jetbrains.kotlin.generators.builtins.arrays.GenerateArrays
import org.jetbrains.kotlin.generators.builtins.functions.GenerateFunctions
import org.jetbrains.kotlin.generators.builtins.iterators.GenerateIterators
import org.jetbrains.kotlin.generators.builtins.numbers.GenerateFloorDivMod
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.JsPrimitivesGenerator
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.JvmPrimitivesGenerator
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.NativePrimitivesGenerator
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.WasmPrimitivesGenerator
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.*
import org.jetbrains.kotlin.generators.builtins.progressionIterators.GenerateProgressionIterators
import org.jetbrains.kotlin.generators.builtins.progressions.GenerateProgressions
import org.jetbrains.kotlin.generators.builtins.ranges.GenerateRanges
import org.jetbrains.kotlin.generators.builtins.unsigned.generateUnsignedTypes
import primitives.*
import java.io.File
import java.io.PrintWriter
@@ -52,6 +48,7 @@ abstract class BuiltInsSourceGenerator(val out: PrintWriter) : BuiltInsGenerator
// Don't include generator class name in the message: these are built-in sources,
// and we don't want to scare users with any internal information about our project
out.println("// Auto-generated file. DO NOT EDIT!")
out.println("// Generated by: ${this::class.qualifiedName}")
out.println()
getMultifileClassName()?.let { name ->
out.println("@file:kotlin.jvm.JvmName(\"$name\")")
@@ -234,7 +234,7 @@ abstract class BasePrimitivesGenerator(private val writer: PrintWriter) : BuiltI
}
private fun generateFile(): FileBuilder {
return file { generateClasses() }.apply { this.modifyGeneratedFile() }
return file(this::class) { generateClasses() }.apply { this.modifyGeneratedFile() }
}
private fun FileBuilder.generateClasses() {
@@ -3,11 +3,10 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package primitives
package org.jetbrains.kotlin.generators.builtins.numbers.primitives
import org.jetbrains.kotlin.generators.builtins.PrimitiveType
import org.jetbrains.kotlin.generators.builtins.generateBuiltIns.BuiltInsGenerator
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.*
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.NativePrimitivesGenerator.Companion.setAsExternal
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.WasmPrimitivesGenerator.Companion.implementAsIntrinsic
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.WasmPrimitivesGenerator.Companion.implementedAsIntrinsic
@@ -19,7 +18,7 @@ abstract class BooleanGenerator(private val writer: PrintWriter) : BuiltInsGener
}
private fun generateFile(): FileBuilder {
return file { generateClass() }.apply { this.modifyGeneratedFile() }
return file(this::class) { generateClass() }.apply { this.modifyGeneratedFile() }
}
private fun FileBuilder.generateClass() {
@@ -3,11 +3,10 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package primitives
package org.jetbrains.kotlin.generators.builtins.numbers.primitives
import org.jetbrains.kotlin.generators.builtins.PrimitiveType
import org.jetbrains.kotlin.generators.builtins.generateBuiltIns.BuiltInsGenerator
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.*
import org.jetbrains.kotlin.generators.builtins.numbers.primitives.NativePrimitivesGenerator.Companion.setAsExternal
import java.io.PrintWriter
@@ -17,7 +16,7 @@ abstract class CharGenerator(private val writer: PrintWriter) : BuiltInsGenerato
}
private fun generateFile(): FileBuilder {
return file { generateClass() }.apply { this.modifyGeneratedFile() }
return file(this::class) { generateClass() }.apply { this.modifyGeneratedFile() }
}
private fun FileBuilder.generateClass() {
+5 -3
View File
@@ -6,13 +6,14 @@
package org.jetbrains.kotlin.generators.builtins.numbers.primitives
import java.io.File
import kotlin.reflect.KClass
private fun String.shift(): String {
return this.split(END_LINE).joinToString(separator = END_LINE) { if (it.isEmpty()) it else " $it" }
}
internal fun file(init: FileBuilder.() -> Unit): FileBuilder {
val file = FileBuilder()
internal fun file(builtBy: KClass<*>, init: FileBuilder.() -> Unit): FileBuilder {
val file = FileBuilder(builtBy.qualifiedName!!)
file.init()
return file
}
@@ -76,7 +77,7 @@ internal abstract class AnnotatedAndDocumented {
}
}
internal class FileBuilder : PrimitiveBuilder {
internal class FileBuilder(private val builtBy: String) : PrimitiveBuilder {
private val suppresses: MutableList<String> = mutableListOf()
private val imports: MutableList<String> = mutableListOf()
private val fileComments: MutableList<String> = mutableListOf()
@@ -105,6 +106,7 @@ internal class FileBuilder : PrimitiveBuilder {
appendLine(File("license/COPYRIGHT_HEADER.txt").readText())
appendLine()
appendLine("// Auto-generated file. DO NOT EDIT!")
appendLine("// Generated by $builtBy")
appendLine()
if (suppresses.isNotEmpty()) {
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.NativeBooleanGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.NativeCharGenerator
@file:Suppress("NOTHING_TO_INLINE")
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.NativePrimitivesGenerator
@file:Suppress("OVERRIDE_BY_INLINE", "NOTHING_TO_INLINE")
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.JsBooleanGenerator
@file:Suppress("NON_ABSTRACT_FUNCTION_WITH_NO_BODY", "UNUSED_PARAMETER")
+1
View File
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.JsCharGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.JsPrimitivesGenerator
@file:Suppress("NON_ABSTRACT_FUNCTION_WITH_NO_BODY", "UNUSED_PARAMETER")
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.functions.GenerateFunctions
package kotlin.jvm.functions
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.arrayIterators.GenerateArrayIterators
package kotlin.jvm.internal
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.iterators.GenerateIterators
package kotlin.collections
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.ranges.GenerateRanges
package kotlin.ranges
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.progressionIterators.GenerateProgressionIterators
package kotlin.ranges
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.progressions.GenerateProgressions
package kotlin.ranges
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.numbers.GenerateFloorDivMod
@file:kotlin.jvm.JvmName("NumbersKt")
@file:kotlin.jvm.JvmMultifileClass
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedTypeGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedArrayGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedTypeGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedArrayGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedRangeGenerator
package kotlin.ranges
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedTypeGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedArrayGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedRangeGenerator
package kotlin.ranges
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedTypeGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by: org.jetbrains.kotlin.generators.builtins.unsigned.UnsignedArrayGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.WasmBooleanGenerator
@file:Suppress("UNUSED_PARAMETER")
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.WasmCharGenerator
package kotlin
@@ -4,6 +4,7 @@
*/
// Auto-generated file. DO NOT EDIT!
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.WasmPrimitivesGenerator
@file:Suppress("OVERRIDE_BY_INLINE", "NOTHING_TO_INLINE", "unused", "UNUSED_PARAMETER")