From 252b47614767b5d23ab355102018f07312f85959 Mon Sep 17 00:00:00 2001 From: Dave Holoway Date: Tue, 9 Jun 2020 12:05:25 +0100 Subject: [PATCH] post-name array qualifiers in method decls --- langserver/java/parser9.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/langserver/java/parser9.js b/langserver/java/parser9.js index 3a779d2..5558791 100644 --- a/langserver/java/parser9.js +++ b/langserver/java/parser9.js @@ -439,7 +439,7 @@ class MCBlock extends DeclarationBlock { } class MethodBlock extends MCBlock { - static parseRE = /([MQT](?:\s*[MQT])*\s+)?(V\s*)R(\s*L)?\s*[B;]/g; + static parseRE = /([MQT](?:\s*[MQT])*\s+)?(V\s*)R(\s*A)?(\s*L)?\s*[B;]/g; /** * @@ -449,25 +449,25 @@ class MethodBlock extends MCBlock { constructor(section, simplified, match) { super(section, simplified, match); const sm = section.sourcemap(); - const varoffset = match[1] ? match[1].length : 0; /** @type {VarDeclBlock} */ // @ts-ignore - this.varBlock = section.blocks[sm.map[varoffset]]; + this.varBlock = section.blocks[sm.map[match[0].lastIndexOf('V')]]; + this.postNameArrToken = section.blocks[sm.map[match[0].lastIndexOf('A')]]; } /** * Return the method name */ get name() { - return this.varBlock ? this.varBlock.name : ''; + return this.varBlock.name; } get type() { - return this.varBlock ? this.varBlock.type : ''; + return this.varBlock.type + (this.postNameArrToken ? this.postNameArrToken.source : ''); } get typeTokens() { - return this.varBlock ? this.varBlock.typeTokens : []; + return this.postNameArrToken ? [...this.varBlock.typeTokens, this.postNameArrToken] : this.varBlock.typeTokens; } }