Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract class EcoreEnabledParser<R : Node, P : Parser, C : ParserRuleContext, T : KolasuToken>(tokenFactory: TokenFactory<T>) : KolasuANTLRParser<R, P, C, T> , EMFMetamodelSupport

A Kolasu parser that supports exporting AST's to EMF/Ecore.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class KolasuClassHandler(val kolasuKClass: KClass<*>, val kolasuEClass: EClass) : EClassTypeHandler
Link copied to clipboard
class KolasuDataTypeHandler(val kolasuKClass: KClass<*>, val kolasuDataType: EDataType) : EDataTypeHandler
Link copied to clipboard
Link copied to clipboard
class MetamodelBuilder(packageName: String, nsURI: String, nsPrefix: String, resource: Resource? = null) : ClassifiersProvider

When building multiple related EPackages use MetamodelsBuilder instead.

Link copied to clipboard
class MetamodelsBuilder(val resource: Resource? = null)

This class is a composite around MetamodelBuilder which permits to build EPackages from Kotlin packages of classes which has relations among them.

Link copied to clipboard
class ResourceClassTypeHandler(val resource: Resource, val ownPackage: EPackage) : EClassTypeHandler

Functions

Link copied to clipboard
fun EEnum.addAllLiterals(enumClass: KClass<out Enum<*>>)
Link copied to clipboard
fun EClass.addAttribute(name: String, type: EDataType, min: Int, max: Int): EAttribute
Link copied to clipboard
fun EClass.addContainment(name: String, type: EClass, min: Int, max: Int): EReference
Link copied to clipboard
fun EEnum.addLiteral(enumEntry: Enum<*>)
fun EEnum.addLiteral(name: String)
Link copied to clipboard
fun EClass.addReference(name: String, type: EClass, min: Int, max: Int): EReference
Link copied to clipboard
fun EPackage.createEClass(name: String, isAbstract: Boolean = false): EClass
Link copied to clipboard
fun createResource(uri: URI): Resource?
Link copied to clipboard
fun createResourceSet(): ResourceSet
Link copied to clipboard
fun Any.dataToEObject(ePackage: EPackage): EObject
Link copied to clipboard
fun EObject.eGet(name: String): Any?
Link copied to clipboard
fun EPackage.findEClass(name: String): EClass?
fun EPackage.findEClass(klass: KClass<*>): EClass?
fun Resource.findEClass(klass: KClass<*>): EClass?
Link copied to clipboard
fun Resource.findEClassJustInThisResource(klass: KClass<*>): EClass?
Link copied to clipboard
fun EPackage.getEClass(javaClass: Class<*>): EClass
fun EPackage.getEClass(name: String): EClass
fun EPackage.getEClass(klass: KClass<*>): EClass
fun Resource.getEClass(klass: KClass<*>): EClass
Link copied to clipboard
fun EPackage.getEDataType(name: String): EDataType
Link copied to clipboard
fun EPackage.getEEnum(javaClass: Class<*>): EEnum
Link copied to clipboard
fun Node.getOrCreateEObject(ePackage: EPackage, mapping: KolasuToEMFMapping = KolasuToEMFMapping()): EObject
fun Node.getOrCreateEObject(eResource: Resource, mapping: KolasuToEMFMapping = KolasuToEMFMapping()): EObject

This method retrieves the EObject already built for this Node or create it if it does not exist.

Link copied to clipboard
fun EClass.instantiate(): EObject
Link copied to clipboard
fun main()
Link copied to clipboard
fun packageName(klass: KClass<*>): String
Link copied to clipboard
fun EObject.saveAsJson(): String
fun EObject.saveAsJson(jsonFile: File)
fun EPackage.saveAsJson(jsonFile: File, restoringURI: Boolean = true)
Link copied to clipboard
fun EObject.saveAsJsonObject(): JsonObject
Link copied to clipboard
fun EPackage.saveEcore(ecoreFile: File, restoringURI: Boolean = true)
Link copied to clipboard
fun EMFMetamodelSupport.saveMetamodel(target: URI, options: Map<String, Boolean> = DEFAULT_OPTIONS_FOR_METAMODEL): Resource
Link copied to clipboard
fun ParsingResult<*>.saveModel(metamodelResource: Resource, target: URI, includeMetamodel: Boolean = true, options: Map<String, Boolean>? = null): Resource
Link copied to clipboard
fun EObject.saveXMI(xmiFile: File)
Link copied to clipboard
fun EObject.setMultipleContainment(propertyName: String, propertyValue: List<EObject>)
Link copied to clipboard
fun EPackage.setResourceURI(uri: String)
Link copied to clipboard
fun EObject.setSingleContainment(propertyName: String, propertyValue: EObject)
Link copied to clipboard
fun EObject.setStringAttribute(propertyName: String, propertyValue: String)
Link copied to clipboard
fun Point.toEObject(): EObject
fun Range.toEObject(): EObject
fun Issue.toEObject(): EObject
fun <T : Node> Result<T>.toEObject(astPackage: EPackage): EObject
fun Node.toEObject(ePackage: EPackage, mapping: KolasuToEMFMapping = KolasuToEMFMapping()): EObject
fun <T : Node> Result<T>.toEObject(resource: Resource, kolasuToEMFMapping: KolasuToEMFMapping = KolasuToEMFMapping()): EObject

fun Node.toEObject(eResource: Resource, mapping: KolasuToEMFMapping = KolasuToEMFMapping()): EObject

Translates this node – and, recursively, its descendants – into an EObject (EMF/Ecore representation).

Properties

Link copied to clipboard
val ASTNODE_ECLASS: EClass
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val STARLASU_METAMODEL: EPackage
Link copied to clipboard
Link copied to clipboard