ValueSetterDefinition.ceylon
import ceylon.ast.core {
Annotations,
Block,
LazySpecifier,
LIdentifier,
ValueSetterDefinition
}
import ceylon.ast.redhat {
RedHatTransformer,
valueSetterDefinitionToCeylon,
compileValueSetterDefinition
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JAttributeSetterDefinition=AttributeSetterDefinition
}
}
shared object valueSetterDefinition satisfies ConcreteTest<ValueSetterDefinition,JAttributeSetterDefinition> {
String->ValueSetterDefinition construct(String->LIdentifier name, String->Block|LazySpecifier definition, String->Annotations annotations = package.annotations.emptyAnnotations)
=> "``annotations.key`` assign ``name.key````definition.key```` definition.item is LazySpecifier then ";" else "" ``"->ValueSetterDefinition(name.item, definition.item, annotations.item);
shared String->ValueSetterDefinition noopValueSetterDefinition = construct(identifier.noopLIdentifier, block.emptyBlock);
shared String->ValueSetterDefinition nameValueSetterDefinition = construct(identifier.nameLIdentifier, lazySpecifier.assignLazySpecifier);
compile = compileValueSetterDefinition;
fromCeylon = RedHatTransformer.transformValueSetterDefinition;
toCeylon = valueSetterDefinitionToCeylon;
codes = [noopValueSetterDefinition, nameValueSetterDefinition];
}