VariablePattern.ceylon
import ceylon.ast.core {
UnspecifiedVariable,
VariablePattern,
LIdentifier,
Type,
ValueModifier
}
import ceylon.ast.redhat {
RedHatTransformer,
variablePatternToCeylon,
compileVariablePattern
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JVariablePattern=VariablePattern
}
}
shared object variablePattern satisfies ConcreteTest<VariablePattern,JVariablePattern> {
String->VariablePattern construct(String->LIdentifier name, <String->Type|ValueModifier>? type = null)
=> "`` type?.key else "" `` ``name.key``"->VariablePattern(UnspecifiedVariable(name.item, type?.item));
shared String->VariablePattern eVariablePattern = construct(identifier.eLIdentifier);
shared String->VariablePattern firstVariablePattern = construct(identifier.firstLIdentifier);
shared String->VariablePattern stringLineVariablePattern = construct(identifier.lineLIdentifier, baseType.stringType);
compile = compileVariablePattern;
fromCeylon = RedHatTransformer.transformVariablePattern;
toCeylon = variablePatternToCeylon;
codes = [eVariablePattern, firstVariablePattern, stringLineVariablePattern];
}