mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-11 04:03:34 +00:00
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
/*
|
|
* Copyright (C) 2019 StApps
|
|
* This program is free software: you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the Free
|
|
* Software Foundation, version 3.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with
|
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
import {LightweightDefinition} from './lightweight-definition';
|
|
import {LightweightProperty} from './lightweight-property';
|
|
/**
|
|
* Represents a class definition
|
|
*/
|
|
export class LightweightClassDefinition extends LightweightDefinition {
|
|
/**
|
|
* String values of the extended definitions
|
|
*/
|
|
public extendedDefinitions: string[];
|
|
|
|
/**
|
|
* String values of the implemented definitions
|
|
*/
|
|
public implementedDefinitions: string[];
|
|
|
|
/**
|
|
* Properties of the definition
|
|
*/
|
|
public properties: LightweightProperty[];
|
|
|
|
/**
|
|
* The definition type
|
|
* e.g. `interface`/[`abstract`] `class`
|
|
*/
|
|
public type: string;
|
|
|
|
/**
|
|
* Generic type parameters of this class
|
|
*/
|
|
public typeParameters: string[];
|
|
|
|
constructor(name: string, type: string) {
|
|
super(name);
|
|
this.type = type;
|
|
this.properties = [];
|
|
this.extendedDefinitions = [];
|
|
this.implementedDefinitions = [];
|
|
this.typeParameters = [];
|
|
}
|
|
}
|