AliasDec.ceylon
import ceylon.ast.core {
AliasDec,
DecQualifier,
UIdentifier
}
import ceylon.ast.redhat {
RedHatTransformer,
aliasDecToCeylon,
compileAliasDec
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JAliasLiteral=AliasLiteral
}
}
shared object aliasDec satisfies ConcreteTest<AliasDec,JAliasLiteral> {
String->AliasDec construct(String->UIdentifier name, String->DecQualifier qualifier = ""->DecQualifier()) {
String qualification;
if (qualifier.item.children nonempty) {
qualification = qualifier.key + ".";
} else {
qualification = "";
}
return "` alias ``qualification````name.key`` `"->AliasDec(name.item, qualifier.item);
}
shared String->AliasDec typeNameAliasDec = construct(identifier.typeNameUIdentifier);
shared String->AliasDec abcAliasDec = construct("C"->UIdentifier("C"), "A.B"->DecQualifier([UIdentifier("A"), UIdentifier("B")]));
compile = compileAliasDec;
fromCeylon = RedHatTransformer.transformAliasDec;
toCeylon = aliasDecToCeylon;
codes = [typeNameAliasDec, abcAliasDec];
}