ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
22 lines (21 loc) • 677 B
TypeScript
import { Constructor } from "./../../Constructor";
import { Node } from "./../common";
import { Scope } from "./../common/Scope";
import { ModifierableNode } from "./ModifierableNode";
export declare type ScopedNodeExtensionType = Node & ModifierableNode;
export interface ScopedNode {
/**
* Gets the scope.
*/
getScope(): Scope;
/**
* Sets the scope.
* @param scope - Scope to set to.
*/
setScope(scope: Scope): this;
/**
* Gets if the node has a scope keyword.
*/
hasScopeKeyword(): boolean;
}
export declare function ScopedNode<T extends Constructor<ScopedNodeExtensionType>>(Base: T): Constructor<ScopedNode> & T;