UNPKG

@specs-feup/lara

Version:

A js port of the popular framework for building source-to-source compilers

36 lines (29 loc) 885 B
import { LaraJoinPoint } from "../../LaraJoinPoint.js"; import ProcessExecutor from "../util/ProcessExecutor.js"; import Metric from "./Metric.js"; import MetricResult from "./MetricResult.js"; /** * Measures the size of the compiled executable. */ export default class FileSizeMetric extends Metric { constructor() { super("File Size"); } // eslint-disable-next-line @typescript-eslint/no-unused-vars instrument($start: LaraJoinPoint, $end: LaraJoinPoint = $start) {} // Override report(processExecutor: ProcessExecutor) { const exeFile = processExecutor.getExecutableFile(); const fileSize = exeFile !== undefined ? (exeFile.length as unknown as () => number)() : -1; return new MetricResult(fileSize, this.getUnit()); } getImport() { return "lara.metrics.FileSizeMetric"; } getUnit() { return "bytes"; } }