ceylon.language.meta.declaration.package.ceylon Maven / Gradle / Ivy
"""The Ceylon metamodel open type and declaration package.
As described in the [ceylon.language.meta](../index.html) documentation, this package contains all
the types that represent Ceylon declarations and open types.
### Usage example
The following code will list all the classes in the `ceylon.language` package and print their
extended type:
for(decl in `package ceylon.language`.members()){
if(exists extendedType = decl.extendedType){
print("Class ``decl.name`` extends: ``extendedType``");
}else{
print("Class ``decl.name`` does not extend anything");
}
}
The following code will iterate all the class declarations in the `ceylon.language` package that
are not abstract, anonymous or annotations, and that have no type parameters nor initialiser
parameters. For each matching class, we will apply it to get a class model which we can then
use to instantiate the class and display its instance:
for(decl in `package ceylon.language`.members()){
if(!decl.abstract
&& !decl.anonymous
&& !decl.annotation
&& decl.parameterDeclarations.empty
&& decl.typeParameterDeclarations.empty){
Class
© 2015 - 2024 Weber Informatics LLC | Privacy Policy