Skip to content
Open

Ts6 #107

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Lara-JS/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
##### User-added #####
woven_code/
/api/
/code/
package-lock.json
docs/
java-binaries
Expand Down
File renamed without changes.
20 changes: 13 additions & 7 deletions Lara-JS/src-api/LaraJoinPoint.ts → Lara-JS/api/LaraJoinPoint.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
//////////////////////////////////////////////////////
// This file is generated by build-LaraJoinPoint.js //
// This file is generated by build-LaraJoinPoint.ts //
//////////////////////////////////////////////////////

/* eslint-disable @typescript-eslint/no-explicit-any */

import JavaTypes from "./lara/util/JavaTypes.js";
import JavaTypes from "./lara/util/JavaTypes.ts";

/**
* Type for type equality assertion. If T is equal to U, return Y, otherwise return N.
Expand Down Expand Up @@ -125,11 +125,17 @@ export class LaraJoinPoint {
toString(): string { return wrapJoinPoint(this._javaObject.toString()); }
}

export enum InsertPosition {
before = "before",
after = "after",
replace = "replace",
}
/**
* This is supposed to be an enum, but Node.js v25 does bot support TS' enums, only erasable-syntax.
* Revert to an enum when Node.js supports it, or when we move to a different engine that supports it.
* This and the "type" declaration below.
*/
export const InsertPosition = {
before: "before",
after: "after",
replace: "replace",
} as const;
export type InsertPosition = typeof InsertPosition[keyof typeof InsertPosition];

/**
* Converts Java join point objects to TypeScript objects.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { WeaverLegacyTester } from "../jest/WeaverLegacyTester.js";
import { WeaverLegacyTester } from "../jest/WeaverLegacyTester.ts";
import path from "path";

/* eslint-disable jest/expect-expect */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { WeaverLegacyTester } from "../jest/WeaverLegacyTester.js";
import { WeaverLegacyTester } from "../jest/WeaverLegacyTester.ts";
import path from "path";

/* eslint-disable jest/expect-expect */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { WeaverLegacyTester } from "../jest/WeaverLegacyTester.js";
import { WeaverLegacyTester } from "../jest/WeaverLegacyTester.ts";
import path from "path";

/* eslint-disable jest/expect-expect */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import JavaTypes from "../lara/util/JavaTypes.js";
import JavaTypes from "../lara/util/JavaTypes.ts";

/**
* Prints a message to the standard output.
Expand Down
23 changes: 10 additions & 13 deletions Lara-JS/src-api/jest.config.js → Lara-JS/api/jest.config.ts
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
import { defineConfig } from "jest";
import path from "path";
import { fileURLToPath } from "url";

export const weaverConfig = {
weaverName: "DefaultWeaver",
weaverPrettyName: "Default Weaver",
weaverFileName: "@specs-feup/lara/code/Weaver.js",
weaverFileName: "@specs-feup/lara/code/Weaver.ts",
jarPath: path.join(
path.dirname(path.dirname(path.dirname(fileURLToPath(import.meta.url)))),
"./DefaultWeaver/build/install/DefaultWeaver"
"./DefaultWeaver/build/install/DefaultWeaver",
),
javaWeaverQualifiedName: "org.lara.interpreter.weaver.defaultweaver.DWWeaver",
};


const config = {
export default defineConfig({
preset: "ts-jest/presets/default-esm",
testEnvironment: "@specs-feup/lara/jest/jestEnvironment.js",
globalSetup: "@specs-feup/lara/jest/jestGlobalSetup.js",
globalTeardown: "@specs-feup/lara/jest/jestGlobalTeardown.js",
setupFiles: ["@specs-feup/lara/jest/setupFiles/sharedJavaModule.js"],
setupFilesAfterEnv: ["@specs-feup/lara/jest/setupFiles/importSideEffects.js"],
testEnvironment: "@specs-feup/lara/jest/jestEnvironment.ts",
globalSetup: "@specs-feup/lara/jest/jestGlobalSetup.ts",
globalTeardown: "@specs-feup/lara/jest/jestGlobalTeardown.ts",
setupFiles: ["@specs-feup/lara/jest/setupFiles/sharedJavaModule.ts"],
setupFilesAfterEnv: ["@specs-feup/lara/jest/setupFiles/importSideEffects.ts"],
moduleNameMapper: {
"@specs-feup/lara/api/(.+).js": "@specs-feup/lara/src-api/$1",
"(.+)\\.js": "$1",
},
testEnvironmentOptions: {
weaverConfig,
},
};

export default config;
});
6 changes: 3 additions & 3 deletions Lara-JS/src-api/lara/Check.ts → Lara-JS/api/lara/Check.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { LaraJoinPoint } from "../LaraJoinPoint.js";
import * as LaraCore from "./core/LaraCore.js";
import JavaTypes from "./util/JavaTypes.js";
import { LaraJoinPoint } from "../LaraJoinPoint.ts";
import * as LaraCore from "./core/LaraCore.ts";
import JavaTypes from "./util/JavaTypes.ts";

/**
* Utility methods to check preconditions.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import JavaInterop from "./JavaInterop.js";
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js";
import JavaInterop from "./JavaInterop.ts";
import JavaTypes, { type JavaClasses } from "./util/JavaTypes.ts";

/**
* Utility methods related to Collections.
Expand Down
4 changes: 2 additions & 2 deletions Lara-JS/src-api/lara/Csv.ts → Lara-JS/api/lara/Csv.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Io from "./Io.js";
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js";
import Io from "./Io.ts";
import JavaTypes, { type JavaClasses } from "./util/JavaTypes.ts";

/**
* Methods related with the CSV format.
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Io from "./Io.js";
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js";
import Io from "./Io.ts";
import { type JavaClasses } from "./util/JavaTypes.ts";

describe("Io", () => {

Expand Down
8 changes: 4 additions & 4 deletions Lara-JS/src-api/lara/Io.ts → Lara-JS/api/lara/Io.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { JSONtoFile, fileToJSON } from "../core/output.js";
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js";
import { JSONtoFile, fileToJSON } from "../core/output.ts";
import JavaTypes, { type JavaClasses } from "./util/JavaTypes.ts";
import fg from "fast-glob";
import fs from "fs";

Expand Down Expand Up @@ -351,7 +351,7 @@ export default class Io {
}

/**
* @deprecated Use JSONtoFile from api/core/output.js instead
* @deprecated Use JSONtoFile from api/core/output.ts instead
*/
static writeJson<T>(path: string, object: T) {
JSONtoFile(path, object);
Expand Down Expand Up @@ -518,7 +518,7 @@ export default class Io {
* If it is a string but does not end in json, assume it is a stringified object.
* Otherwise, returns the object as it is.
*
* @deprecated Use JSON.parse() instead or fileToJSON from api/core/output.js
* @deprecated Use JSON.parse() instead or fileToJSON from api/core/output.ts
*/
static jsonObject<T>(value: T): T | string {
if (typeof value === "string") {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js";
import JavaTypes, { type JavaClasses } from "./util/JavaTypes.ts";

export default class JavaInterop {
/**
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import JavaTypes from "./util/JavaTypes.js";
import JavaTypes from "./util/JavaTypes.ts";

/**
* Information about the current platform (e.g., if it is Linux, Windows or Mac)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js";
import JavaTypes, { type JavaClasses } from "./util/JavaTypes.ts";

/**
* Utility methods related to Strings.
Expand Down
10 changes: 5 additions & 5 deletions Lara-JS/src-api/lara/System.ts → Lara-JS/api/lara/System.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import Io from "./Io.js";
import Platforms from "./Platforms.js";
import { info } from "./core/LaraCore.js";
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js";
import TimeUnits, { TimerUnit } from "./util/TimeUnits.js";
import Io from "./Io.ts";
import Platforms from "./Platforms.ts";
import { info } from "./core/LaraCore.ts";
import JavaTypes, { type JavaClasses } from "./util/JavaTypes.ts";
import TimeUnits, { TimerUnit } from "./util/TimeUnits.ts";

export default class System {
static getExecutableFile(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Tool from "../tool/Tool.js";
import Tool from "../tool/Tool.ts";

export default abstract class BenchmarkCompilationEngine extends Tool {
constructor(name: string, disableWeaving: boolean = false) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import Io from "../Io.js";
import { JavaClasses } from "../util/JavaTypes.js";
import ProcessExecutor from "../util/ProcessExecutor.js";
import BenchmarkCompilationEngine from "./BenchmarkCompilationEngine.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";
import Io from "../Io.ts";
import { type JavaClasses } from "../util/JavaTypes.ts";
import ProcessExecutor from "../util/ProcessExecutor.ts";
import BenchmarkCompilationEngine from "./BenchmarkCompilationEngine.ts";

/**
* Represents a set of BenchmarkInstances.
Expand Down Expand Up @@ -199,7 +199,6 @@ export default abstract class BenchmarkInstance {
}

this.currentExecutor.execute(
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
this.currentExecutable.getAbsolutePath()
);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import ProcessExecutor from "../util/ProcessExecutor.js";
import BenchmarkInstance from "./BenchmarkInstance.js";
import ProcessExecutor from "../util/ProcessExecutor.ts";
import BenchmarkInstance from "./BenchmarkInstance.ts";

/**
* Represents a set of BenchmarkInstances.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";

/**
* Class that measures the energy spent when executing a section of code.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { InsertPosition, LaraJoinPoint } from "../../LaraJoinPoint.js";
import JoinPoints from "../../weaver/JoinPoints.js";
import { isJoinPoint } from "../core/LaraCore.js";
import { InsertPosition, LaraJoinPoint } from "../../LaraJoinPoint.ts";
import JoinPoints from "../../weaver/JoinPoints.ts";
import { isJoinPoint } from "../core/LaraCore.ts";

type ElementType = { content: string | number; type: number };

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import TimeUnits, { TimerUnit } from "../util/TimeUnits.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";
import TimeUnits, { TimerUnit } from "../util/TimeUnits.ts";

/**
* Timer object, for timing sections of code.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import { object2string } from "../../core/output.js";
import JavaTypes from "../util/JavaTypes.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";
import { object2string } from "../../core/output.ts";
import JavaTypes from "../util/JavaTypes.ts";

export let LARA_DEBUG = false;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import Metric from "../metrics/Metric.js";
import DseVariant from "./DseVariant.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";
import Metric from "../metrics/Metric.ts";
import DseVariant from "./DseVariant.ts";

/**
* Performs Design-Space Exploration.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { arrayFromArgs } from "../core/LaraCore.js";
import DseValues from "./DseValues.js";
import { arrayFromArgs } from "../core/LaraCore.ts";
import DseValues from "./DseValues.ts";

type T = any;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { arrayFromArgs } from "../core/LaraCore.js";
import DseValues from "./DseValues.js";
import { arrayFromArgs } from "../core/LaraCore.ts";
import DseValues from "./DseValues.ts";

type T = any;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import DseValues from "./DseValues.js";
import DseValues from "./DseValues.ts";

/**
* Represents a variant of the DSE.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { arrayFromArgs } from "../core/LaraCore.js";
import DseValues from "./DseValues.js";
import DseValuesList from "./DseValuesList.js";
import DseVariant from "./DseVariant.js";
import { arrayFromArgs } from "../core/LaraCore.ts";
import DseValues from "./DseValues.ts";
import DseValuesList from "./DseValuesList.ts";
import DseVariant from "./DseVariant.ts";

type T = any;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import cytoscape from "cytoscape";
import NodeData from "./NodeData.js";
import EdgeData from "./EdgeData.js";
import NodeData from "./NodeData.ts";
import EdgeData from "./EdgeData.ts";

export interface NodeAttribute {
attr: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import cytoscape from "cytoscape";
import DotFormatter from "./DotFormatter.js";
import Graphs from "./Graphs.js";
import DotFormatter from "./DotFormatter.ts";
import Graphs from "./Graphs.ts";

export default class Graph {
/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import DotFormatter from "./DotFormatter.js";
import EdgeData from "./EdgeData.js";
import NodeData from "./NodeData.js";
import DotFormatter from "./DotFormatter.ts";
import EdgeData from "./EdgeData.ts";
import NodeData from "./NodeData.ts";

import cytoscape from "cytoscape";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import JavaTypes, { JavaClasses } from "../util/JavaTypes.js";
import LaraIterator from "./LaraIterator.js";
import JavaTypes, { type JavaClasses } from "../util/JavaTypes.ts";
import LaraIterator from "./LaraIterator.ts";

/**
* Iterates over a sequence of lines.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import ProcessExecutor from "../util/ProcessExecutor.js";
import Metric from "./Metric.js";
import MetricResult from "./MetricResult.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";
import ProcessExecutor from "../util/ProcessExecutor.ts";
import Metric from "./Metric.ts";
import MetricResult from "./MetricResult.ts";

/**
* Measures the size of the compiled executable.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import ProcessExecutor from "../util/ProcessExecutor.js";
import MetricResult from "./MetricResult.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";
import ProcessExecutor from "../util/ProcessExecutor.ts";
import MetricResult from "./MetricResult.ts";

/**
* Reprents a metric we want to extract.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { LaraJoinPoint } from "../../LaraJoinPoint.js";
import Mutation from "./Mutation.js";
import MutationResult from "./MutationResult.js";
import { LaraJoinPoint } from "../../LaraJoinPoint.ts";
import Mutation from "./Mutation.ts";
import MutationResult from "./MutationResult.ts";

/**
* Abstract mutation class that implements .getMutants(), but makes function Mutation.mutate($jp) abstract. Allows more efficient, generator-based Mutation implementations.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { InsertPosition, LaraJoinPoint } from "../../LaraJoinPoint.js";
import { arrayFromArgs } from "../core/LaraCore.js";
import Mutation from "./Mutation.js";
import MutationResult from "./MutationResult.js";
import Mutator from "./Mutator.js";
import { InsertPosition, LaraJoinPoint } from "../../LaraJoinPoint.ts";
import { arrayFromArgs } from "../core/LaraCore.ts";
import Mutation from "./Mutation.ts";
import MutationResult from "./MutationResult.ts";
import Mutator from "./Mutator.ts";

/**
* Iterative mutator, allows to perform one mutation at a time, and restore the code before each mutation.
Expand Down
Loading
Loading