NonemptyCondition.ceylon
import ceylon.ast.core {
LIdentifier,
NonemptyCondition,
Pattern,
SpecifiedPattern,
Specifier
}
import ceylon.ast.redhat {
RedHatTransformer,
nonemptyConditionToCeylon,
compileNonemptyCondition
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JNonemptyCondition=NonemptyCondition
}
}
shared object nonemptyCondition satisfies ConcreteTest<NonemptyCondition,JNonemptyCondition> {
String->NonemptyCondition constructP(String->Pattern pattern, String->Specifier specifier, Boolean negated = false)
=> "`` negated then "!" else "" ``nonempty ``pattern.key`` ``specifier.key``"->NonemptyCondition(SpecifiedPattern(pattern.item, specifier.item), negated);
String->NonemptyCondition constructI(String->LIdentifier variable, Boolean negated = false)
=> "`` negated then "!" else "" ``nonempty ``variable.key``"->NonemptyCondition(variable.item, negated);
shared String->NonemptyCondition negatedNonemptyCollectionCondition = constructI(identifier.collectionLIdentifier, true);
shared String->NonemptyCondition nonemptyFirstRestSpecifyCondition = constructP(tuplePattern.firstRestTuplePattern, specifier.processArgumentsSequenceSpecifier);
compile = compileNonemptyCondition;
fromCeylon = RedHatTransformer.transformNonemptyCondition;
toCeylon = nonemptyConditionToCeylon;
codes = [negatedNonemptyCollectionCondition, nonemptyFirstRestSpecifyCondition];
}