completeCompilationUnit.ceylon
import ceylon.ast.core {
CompilationUnit
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JCompilationUnit=CompilationUnit
}
}
import ceylon.ast.redhat {
RedHatTransformer,
compilationUnitToCeylon,
compileCompilationUnit,
TokenSourceTokenFactory
}
import ceylon.ast.samples.completeCompilationUnit {
completeCU=completeCompilationUnit
}
import ceylon.formatter {
format
}
import ceylon.file {
Writer
}
import org.antlr.runtime {
BufferedTokenStream
}
object completeCompilationUnit satisfies ConcreteTest<CompilationUnit,JCompilationUnit> {
value sb = StringBuilder();
value tokens = TokenSourceTokenFactory();
format {
node = completeCU.transform(RedHatTransformer(tokens));
object output satisfies Writer {
close() => flush();
shared actual void flush() {}
write(String string) => sb.append(string);
shared actual void writeLine(String line) {
throw AssertionError("Shouldn’t be used");
}
shared actual void writeBytes({Byte*} bytes) {
throw AssertionError("Shouldn’t be used");
}
}
tokens = BufferedTokenStream(tokens);
};
compile = compileCompilationUnit;
fromCeylon = RedHatTransformer.transformCompilationUnit;
toCeylon = compilationUnitToCeylon;
codes = [sb.string->completeCU];
}