ObjectExpression.ceylon
import ceylon.ast.core {
ClassBody,
ExtendedType,
ObjectExpression,
SatisfiedTypes
}
import ceylon.ast.redhat {
RedHatTransformer,
objectExpressionToCeylon,
compileObjectExpression
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JObjectExpression=ObjectExpression
}
}
shared object objectExpression satisfies ConcreteTest<ObjectExpression,JObjectExpression> {
String->ObjectExpression construct(String->ClassBody body, <String->ExtendedType>? extendedType = null, <String->SatisfiedTypes>? satisfiedTypes = null)
=> "object `` extendedType?.key else "" `` `` satisfiedTypes?.key else "" `` ``body.key``"->ObjectExpression(body.item, extendedType?.item, satisfiedTypes?.item);
shared String->ObjectExpression emptyObjectExpression = construct(classBody.emptyClassBody);
shared String->ObjectExpression inheritanceObjectExpression = construct(classBody.emptyClassBody, extendedType.superInnerOfStringExtendedType, satisfiedTypes.satisfiesStringStarAndPrintableSatisfiedTypes);
compile = compileObjectExpression;
fromCeylon = RedHatTransformer.transformObjectExpression;
toCeylon = objectExpressionToCeylon;
codes = [emptyObjectExpression, inheritanceObjectExpression];
}