Create Function From Usage: Wrap build() function in try-finally

This commit is contained in:
Alexey Sedunov
2014-09-26 17:36:30 +04:00
parent 6043c6d0a7
commit afd8809ff5
@@ -142,7 +142,19 @@ class FunctionBuilder(val config: FunctionBuilderConfiguration) {
}
}
private inner class Context() {
fun build() {
try {
if (finished) throw IllegalStateException("Current builder has already finished")
val context = Context()
runWriteAction { context.buildAndRunTemplate() }
}
finally {
finished = true
}
}
private inner class Context {
val isUnit: Boolean
val isExtension: Boolean
val containingFile: JetFile
@@ -479,15 +491,7 @@ class FunctionBuilder(val config: FunctionBuilderConfiguration) {
}
})
}
}
fun build() {
if (finished) throw IllegalStateException("Current builder has already finished")
val context = Context()
runWriteAction { context.buildAndRunTemplate() }
finished = true
}
}