ImportTypeElement.ceylon
import ceylon.ast.core {
ImportElements,
ImportTypeElement,
ImportTypeAlias,
UIdentifier
}
import ceylon.ast.redhat {
RedHatTransformer,
importTypeElementToCeylon,
compileImportTypeElement
}
import com.redhat.ceylon.compiler.typechecker.tree {
Tree {
JImportMemberOrType=ImportMemberOrType
}
}
shared object importTypeElement satisfies ConcreteTest<ImportTypeElement,JImportMemberOrType> {
String->ImportTypeElement construct(String->UIdentifier name, <String->ImportTypeAlias>? importAlias = null, <String->ImportElements>? nestedImports = null)
=> "`` importAlias?.key else "" ````name.key```` nestedImports?.key else "" ``"->ImportTypeElement(name.item, importAlias?.item, nestedImports?.item);
shared String->ImportTypeElement uidImportElement = construct(identifier.uidUIdentifier);
shared String->ImportTypeElement lidAsUidImportElement = construct(identifier.lidUIdentifier, importTypeAlias.uidImportTypeAlias);
shared String->ImportTypeElement nestedImportElement = construct {
identifier.uidUIdentifier;
nestedImports = importElements.wildcardImportElements;
};
// not tested directly, but used by other tests
shared String->ImportTypeElement stringAsJStringImportElement = construct(identifier.stringUIdentifier, importTypeAlias.jstringImportTypeAlias);
shared String->ImportTypeElement systemImportElement = construct { identifier.systemUIdentifier; nestedImports = importElements.outAsSysoutImportElements; };
shared String->ImportTypeElement arrayListElement = construct(identifier.arrayListUIdentifier);
shared String->ImportTypeElement mutableListElement = construct(identifier.mutableListUIdentifier);
compile = compileImportTypeElement;
fromCeylon = RedHatTransformer.transformImportTypeElement;
toCeylon = importTypeElementToCeylon;
codes = [uidImportElement, lidAsUidImportElement];
}