ClassBody.ceylon
import ceylon.ast.core {
ClassBody,
Declaration,
Statement
}
import ceylon.ast.redhat {
RedHatTransformer,
classBodyToCeylon,
compileClassBody
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JClassBody=ClassBody
}
}
shared object classBody satisfies ConcreteTest<ClassBody,JClassBody> {
String->ClassBody construct(<String->Declaration|Statement>[] content)
=> "{``"".join(content*.key)``}"->ClassBody(content*.item);
shared String->ClassBody emptyClassBody = construct([]);
shared String->ClassBody pointClassBody = construct([
valueDeclaration.sharedFloatXDeclaration,
valueDeclaration.sharedFloatYDeclaration,
valueDeclaration.sharedFloatRDeclaration,
valueDeclaration.sharedFloatPhiDeclaration,
callableConstructorDefinition.cartesianConstructorDefinition,
callableConstructorDefinition.polarConstructorDefinition,
valueConstructorDefinition.originValueConstructorDefinition,
valueDefinition.stringDefinition
]);
compile = compileClassBody;
fromCeylon = RedHatTransformer.transformClassBody;
toCeylon = classBodyToCeylon;
codes = [emptyClassBody, pointClassBody];
}