ImportElement.ceylon
"A single import element, that is,
the name of an imported program element,
optionally preceded by an [[alias|importAlias]]
and/or followed by [[nested import elements|nestedImports]].
Examples:
HashMap
ln=log
System { sysout=out }"
shared abstract class ImportElement()
of ImportTypeElement | ImportFunctionValueElement
extends Node() {
"The name of the imported element."
shared formal Identifier name;
"The visible name of the imported element."
shared formal ImportAlias? importAlias;
"The nested imported elements, if present.
(The specification only blesses these for
[[type import elements|ImportTypeElement]],
and you only very rarely need them for
[[function or value import elements|ImportFunctionValueElement]].)"
shared formal ImportElements? nestedImports;
// TODO use more precise type when backend bug is fixed
//shared actual formal [ImportAlias, Identifier, ImportElements=]|[Identifier, ImportElements=] children;
shared actual formal Node[] children;
}