@jqassistant/ts-lce
Version:
Tool to extract language concepts from a TypeScript codebase and export them to a JSON file.
79 lines (78 loc) • 2.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LCEConstructorDeclaration = exports.LCEParameterPropertyDeclaration = exports.LCEParameterDeclaration = exports.LCEMethodDeclaration = void 0;
const concept_1 = require("../concept");
const property_declaration_concept_1 = require("./property-declaration.concept");
class LCEMethodDeclaration extends concept_1.LCENamedConcept {
methodName;
parameters;
returnType;
typeParameters;
decorators;
visibility;
async;
coordinates;
override;
abstract;
isStatic;
static conceptId = "method-declaration";
constructor(methodName, fqn, parameters, returnType, typeParameters, decorators, visibility, async, coordinates, override, abstract, isStatic) {
super(fqn);
this.methodName = methodName;
this.parameters = parameters;
this.returnType = returnType;
this.typeParameters = typeParameters;
this.decorators = decorators;
this.visibility = visibility;
this.async = async;
this.coordinates = coordinates;
this.override = override;
this.abstract = abstract;
this.isStatic = isStatic;
}
}
exports.LCEMethodDeclaration = LCEMethodDeclaration;
class LCEParameterDeclaration extends concept_1.LCEConcept {
index;
name;
type;
optional;
decorators;
coordinates;
static conceptId = "parameter-declaration";
constructor(index, name, type, optional, decorators, coordinates) {
super();
this.index = index;
this.name = name;
this.type = type;
this.optional = optional;
this.decorators = decorators;
this.coordinates = coordinates;
}
}
exports.LCEParameterDeclaration = LCEParameterDeclaration;
class LCEParameterPropertyDeclaration extends property_declaration_concept_1.LCEPropertyDeclaration {
index;
static conceptId = "parameter-property-declaration";
constructor(index, propertyName, fqn, optional, type, decorators, visibility, readonly, coordinates, override) {
super(propertyName, fqn, optional, type, decorators, visibility, readonly, coordinates, override, false, false);
this.index = index;
}
}
exports.LCEParameterPropertyDeclaration = LCEParameterPropertyDeclaration;
class LCEConstructorDeclaration extends concept_1.LCENamedConcept {
parameters;
parameterProperties;
coordinates;
static conceptId = "constructor-declaration";
/**
* @param parameterProperties maps parameter index numbers to declared parameter properties
*/
constructor(fqn, parameters, parameterProperties, coordinates) {
super(fqn);
this.parameters = parameters;
this.parameterProperties = parameterProperties;
this.coordinates = coordinates;
}
}
exports.LCEConstructorDeclaration = LCEConstructorDeclaration;