UNPKG

@specs-feup/metafor

Version:

A Fortran source-to-source compiler written in Typescript

93 lines 2.44 kB
import { LaraJoinPoint } from "@specs-feup/lara/api/LaraJoinPoint.js"; type PrivateMapper = { "Joinpoint": typeof Joinpoint; "FileJp": typeof FileJp; "Program": typeof Program; "Statement": typeof Statement; }; type DefaultAttributeMap = { FileJp: "name"; }; export declare class Joinpoint extends LaraJoinPoint { /** * @internal */ static readonly _defaultAttributeInfo: { readonly map?: DefaultAttributeMap; readonly name: string | null; readonly type?: PrivateMapper; readonly jpMapper?: typeof JoinpointMapper; }; /** * String with the code represented by this node */ get code(): string; /** * Returns the parent node in the AST, or undefined if it is the root node */ get parent(): Joinpoint; /** * Returns the 'program' join point */ get root(): Program; /** * Replaces this node with the given node */ replaceWith(node: Joinpoint): Joinpoint; } /** * Represents a source file (e.g., .f90) */ export declare class FileJp extends Joinpoint { /** * @internal */ static readonly _defaultAttributeInfo: { readonly map?: DefaultAttributeMap; readonly name: string | null; readonly type?: PrivateMapper; readonly jpMapper?: typeof JoinpointMapper; }; /** * The name of the file */ get name(): string; } /** * Represents the complete program and is the top-most join point in the hierarchy */ export declare class Program extends Joinpoint { /** * @internal */ static readonly _defaultAttributeInfo: { readonly map?: DefaultAttributeMap; readonly name: string | null; readonly type?: PrivateMapper; readonly jpMapper?: typeof JoinpointMapper; }; } /** * Represents a Fortran statement */ export declare class Statement extends Joinpoint { /** * @internal */ static readonly _defaultAttributeInfo: { readonly map?: DefaultAttributeMap; readonly name: string | null; readonly type?: PrivateMapper; readonly jpMapper?: typeof JoinpointMapper; }; get isFirst(): boolean; get isLast(): boolean; } declare const JoinpointMapper: { joinpoint: typeof Joinpoint; file: typeof FileJp; program: typeof Program; statement: typeof Statement; }; export {}; //# sourceMappingURL=Joinpoints.d.ts.map