Create visitor generator for FIR (KT-24062 in progress)

This commit is contained in:
Simon Ogorodnik
2018-03-14 18:44:41 +03:00
committed by Mikhail Glukhikh
parent 4755a494f1
commit 1a80477c1c
8 changed files with 583 additions and 2 deletions
+28 -2
View File
@@ -10,13 +10,39 @@ plugins {
jvmTarget = "1.6"
val generatorClasspath by configurations.creating
dependencies {
compile(project(":core:descriptors"))
generatorClasspath(project("visitors-generator"))
// Necessary only to store bound PsiElement inside FirElement
compileOnly(intellijCoreDep()) { includeJars("intellij-core", "annotations") }
}
sourceSets {
"main" { projectDefault() }
"main" {
projectDefault()
java.srcDir("visitors")
}
"test" {}
}
}
val generateVisitors by tasks.creating(JavaExec::class) {
val generationRoot = "$projectDir/src/org/jetbrains/kotlin/fir/"
val output = "$projectDir/visitors"
val allSourceFiles = fileTree(generationRoot) {
include("**/*.kt")
}
inputs.files(allSourceFiles)
outputs.files(output)
classpath = generatorClasspath
args(generationRoot, output)
main = "org.jetbrains.kotlin.fir.visitors.generator.VisitorsGeneratorKt"
}
val compileKotlin by tasks
compileKotlin.dependsOn(generateVisitors)