import { Definition } from './Definition' import * as vscode from 'vscode' import { tc } from '../helpers/TsComplier' export class VMethodDefinition extends Definition { private methodName!: string private document!: vscode.TextDocument private position!: vscode.Position public validateContext(word: string, document: vscode.TextDocument, position: vscode.Position): boolean { const line = document.lineAt(position).text if (line.match(/@method:([a-zA-Z]*)="/)) { this.methodName = word this.document = document this.position = position return true } return false } public getLocation() { if (this.methodName) { const res = tc.validateTagRange(this.document, this.position) if (res && res.type === 'comp') { return this.basicLocation(`public ${this.methodName}`, 'ts', res.name) } } } }