@specs-feup/kadabra
Version:
A Java source-to-source compiler written in Typescript
29 lines (23 loc) • 709 B
text/typescript
import { Class } from "../../Joinpoints.js";
import { newClass } from "../Factory.js";
export default class DataFeature {
static readonly PACKAGE = "kadabra.adapt.features";
name: string;
qualifiedName: string;
features: never[];
nc: Class | undefined;
constructor(name: string) {
this.name = name;
this.qualifiedName = name;
this.features = [];
this.nc = undefined;
}
generate(packageName: string = DataFeature.PACKAGE) {
this.qualifiedName = packageName + "." + this.name;
this.nc = newClass(this.qualifiedName, `Comparable<${this.name}>`);
return this.nc;
}
addFeature() {
return this.nc;
}
}