All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlin.annotation.AnnotationWriter.kt Maven / Gradle / Ivy

There is a newer version: 2.1.20-Beta1
Show newest version
package org.jetbrains.kotlin.annotation

import java.io.Writer
import org.jetbrains.kotlin.annotation.CompactNotationType as Notation

abstract class AnnotationWriter(private val writer: Writer) {
    companion object {
        private val LINE_SEP = System.getProperty("line.separator")
    }

    abstract fun writeClassDeclaration(classFqName: String)
    abstract fun writeAnnotatedClass(annotationName: String, classFqName: String)
    abstract fun writeAnnotatedMethod(annotationName: String, classFqName: String, methodName: String)
    abstract fun writeAnnotatedField(annotationName: String, classFqName: String, fieldName: String)

    protected fun writeLine(vararg parts: String?) {
        var i = 0
        for (part in parts) {
            if (part == null) continue
            if (i > 0) {
                writer.write(" ")
            }
            writer.write(part)
            i++
        }
        writer.write(LINE_SEP)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy