import { Issue } from "../language/Issue" ; import { IssueKind } from "../language/IssueKind" ; import { Span } from "../language/Span" ; export class UnrecognizedBuiltinFunctionIssue extends Issue { constructor ( span , private _functionName ) { super ( span , `Unrecognized function name '${ _functionName }'.` , IssueKind . undefinedFunc ) ; } public translate ( movement ) { return new UnrecognizedBuiltinFunctionIssue ( this . span . translate ( movement ) , this . functionName ) ; } public get functionName ( ) : string { return this . _functionName ; } } export class UnrecognizedUserNamespaceIssue extends Issue { constructor ( span , private _namspaceName ) { super ( span , `Unrecognized user-defined function namespace '${ _namspaceName }'.` , IssueKind . undefinedNs ) ; } public translate ( movement ) { return new UnrecognizedUserNamespaceIssue ( this . span . translate ( movement ) , this . _namspaceName ) ; } public get namespaceName ( ) : string { return this . _namspaceName ; } } export class UnrecognizedUserFunctionIssue extends Issue { constructor ( span , private _namespaceName , private _functionName ) { super ( span , `Unrecognized function name '${ _functionName }' in user-defined namespace '${ _namespaceName }'.` , IssueKind . undefinedUdf ) ; } public translate ( movement ) { return new UnrecognizedUserFunctionIssue ( this . span . translate ( movement ) , this . namespaceName , this . functionName ) ; } public get namespaceName ( ) : string { return this . _namespaceName ; } public get functionName ( ) : string { return this . _functionName ; } }