UNPKG

@tripsnek/tmf

Version:

TypeScript Modeling Framework - A TypeScript port of the Eclipse Modeling Framework (EMF)

34 lines (33 loc) 1.23 kB
import { TGenUtils as DU } from './tgen-utils'; /** * Source code generation for *impl.ts files for EClasses. * * @tripsnek */ export class TGeneratorImpl { generate(eClass, toImport) { const genClassName = DU.genGenClassName(eClass); const apiClassName = eClass.getName(); const implClassName = DU.genImplClassName(eClass); const isEcore = eClass.getEPackage().getName() == 'ecore'; return ` ${isEcore ? DU.ECORE_DEFAULT_IMPORTS : DU.DEFAULT_IMPORTS} ${DU.genApiImports(eClass, toImport, '..' + DU.API_PATH)} import {${genClassName}} from '..${DU.GEN_PATH}/${DU.genClassGenName(eClass)}' import { ${apiClassName} } from '..${DU.API_PATH}/${DU.genClassApiName(eClass)}'; /** * Editable Impl class. */ export class ${implClassName} extends ${genClassName}{ ${this.generateOperations(eClass)} }`; } generateOperations(eClass) { let result = ''; for (const eop of eClass.getEOperations()) { result += `public override ${DU.eopSignature(eop)} {throw new Error('Not implemented');}`; } return result; } } //# sourceMappingURL=tgenerator-impl.js.map