in src/main/kotlin/jetbrains/buildServer/server/querylang/parser/ConditionVisitor.kt [14:36]
override fun visitConditionInSubproject(ctx: QLangGrammarParser.ConditionInSubprojectContext?): RealConditionAST<NestedObj> {
var condition1: RealConditionAST<NestedObj>? = null
if (ctx!!.objectId() != null) {
condition1 = FilterConditionNode(
ProjectFilter(FilterConditionNode(IdFilter(
FilterConditionNode(EqualsStringFilter(ctx.objectId().text)))
)).checkAndCast(parentFilter)
?: throw IllegalStateException("visitConditionInSubproject was invoked from wrong context")
)
}
var condition2: RealConditionAST<NestedObj>? = null
if (ctx.condition() != null) {
condition2 = this.visit(ctx.condition())
}
if (condition1 != null && condition2 != null) {
return AndConditionNode(
condition1,
condition2
)
}
return condition1 ?: condition2!!
}