InterfaceDec.ceylon
import ceylon.ast.core {
DecQualifier,
InterfaceDec,
UIdentifier
}
import ceylon.ast.redhat {
RedHatTransformer,
interfaceDecToCeylon,
compileInterfaceDec
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JInterfaceLiteral=InterfaceLiteral
}
}
shared object interfaceDec satisfies ConcreteTest<InterfaceDec,JInterfaceLiteral> {
String->InterfaceDec construct(<String->UIdentifier>? name, <String->DecQualifier>? qualifier = ""->DecQualifier()) {
String qualification;
if (exists qualifier, qualifier.item.children nonempty) {
qualification = qualifier.key + ".";
} else {
qualification = "";
}
return "` interface ``qualification```` name?.key else "" `` `"->InterfaceDec(name?.item, qualifier?.item);
}
shared String->InterfaceDec mutableListInterfaceDec = construct(identifier.mutableListUIdentifier);
shared String->InterfaceDec abcInterfaceDec = construct("C"->UIdentifier("C"), "A.B"->DecQualifier([UIdentifier("A"), UIdentifier("B")]));
shared String->InterfaceDec currentInterfaceDec = construct(null, null);
compile = compileInterfaceDec;
fromCeylon = RedHatTransformer.transformInterfaceDec;
toCeylon = interfaceDecToCeylon;
codes = [mutableListInterfaceDec, abcInterfaceDec, currentInterfaceDec];
}