From 406f1d702d1f02e313291db0e495b7296da2d03e Mon Sep 17 00:00:00 2001 From: Armando Andini Date: Thu, 17 Nov 2022 11:34:32 -0300 Subject: [PATCH] feat: quickfix for data location --- EXTENSION.md | 6 + docs/gifs/data-location.gif | Bin 0 -> 142129 bytes .../compilerDiagnostics.ts | 2 + .../diagnostics/SpecifyDataLocation.ts | 152 ++++++++++++++++++ server/src/services/validation/validate.ts | 14 +- .../codeactions/SpecifyDataLocation.sol | 16 ++ .../codeactions/SpecifyDataLocation_fixed.sol | 16 ++ .../codeactions/specifyDataLocation.test.ts | 138 ++++++++++++++++ 8 files changed, 337 insertions(+), 7 deletions(-) create mode 100644 docs/gifs/data-location.gif create mode 100644 server/src/compilerDiagnostics/diagnostics/SpecifyDataLocation.ts create mode 100644 test/integration/projects/main/contracts/codeactions/SpecifyDataLocation.sol create mode 100644 test/integration/projects/main/contracts/codeactions/SpecifyDataLocation_fixed.sol create mode 100644 test/integration/tests/codeactions/specifyDataLocation.test.ts diff --git a/EXTENSION.md b/EXTENSION.md index c6f10869..a7cbf9bc 100644 --- a/EXTENSION.md +++ b/EXTENSION.md @@ -154,6 +154,12 @@ When no license is specified on a contract, the `solidity(1878)` warning is rais ![Add pragma solidity](https://raw.githubusercontent.com/NomicFoundation/hardhat-vscode/main/docs/gifs/add-pragma.gif "Add pragma solidity") +#### Specifying data location for variables + +Some types require you to specify a data location (memory, storage, calldata), depending on where they are defined. The available code actions allow the user to add, change or remove data locations depending on the error being raised. + +![Data location quickfix](https://raw.githubusercontent.com/NomicFoundation/hardhat-vscode/main/docs/gifs/data-location.gif "Specify data location") + ### Commands #### Compile project diff --git a/docs/gifs/data-location.gif b/docs/gifs/data-location.gif new file mode 100644 index 0000000000000000000000000000000000000000..de06401840aa27d321abece90ad2431a9e7be814 GIT binary patch literal 142129 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ðM~{JXO}q~)CLf-)Z?n0Axq6fx; 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%0A@2bFEzHVe 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

Y^x_trgIV&$!uV|ayXuy*p3 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 literal 0 HcmV?d00001 diff --git a/server/src/compilerDiagnostics/compilerDiagnostics.ts b/server/src/compilerDiagnostics/compilerDiagnostics.ts index 17d7cd2c..5eebc45e 100644 --- a/server/src/compilerDiagnostics/compilerDiagnostics.ts +++ b/server/src/compilerDiagnostics/compilerDiagnostics.ts @@ -8,6 +8,7 @@ import { MarkContractAbstract } from "./diagnostics/MarkContractAbstract"; import { SpecifyVisibility } from "./diagnostics/SpecifyVisibility"; import { SpecifyCompilerVersion } from "./diagnostics/SpecifyCompilerVersion"; import { CompilerDiagnostic } from "./types"; +import { SpecifyDataLocation } from "./diagnostics/SpecifyDataLocation"; export const compilerDiagnostics: { [key: string]: CompilerDiagnostic } = [ new AddOverrideSpecifier(), @@ -19,4 +20,5 @@ export const compilerDiagnostics: { [key: string]: CompilerDiagnostic } = [ new MarkContractAbstract(), new SpecifyVisibility(), new SpecifyCompilerVersion(), + new SpecifyDataLocation(), ].reduce((acc, item) => ({ ...acc, [item.code]: item }), {}); diff --git a/server/src/compilerDiagnostics/diagnostics/SpecifyDataLocation.ts b/server/src/compilerDiagnostics/diagnostics/SpecifyDataLocation.ts new file mode 100644 index 00000000..c4a4c408 --- /dev/null +++ b/server/src/compilerDiagnostics/diagnostics/SpecifyDataLocation.ts @@ -0,0 +1,152 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import { + CodeAction, + CodeActionKind, + Diagnostic, + Range, +} from "vscode-languageserver/node"; +import { TextDocument } from "vscode-languageserver-textdocument"; +import _ from "lodash"; +import { ResolveActionsContext } from "../types"; +import { SolcError, ServerState } from "../../types"; +import { passThroughConversion } from "../conversions/passThroughConversion"; + +const MUST_SPECIFY_LOCATION_REGEX = /must be(.*)for/; +const CANNOT_SPECIFY_REGEX = /can only be specified for/; +const DATA_LOCATION_REGEX = /storage|memory|calldata/g; +const DATA_LOCATION_WHITESPACE_REGEX = /(storage|memory|calldata)(\s|$)/g; + +export class SpecifyDataLocation { + public code = "6651"; + public blocks: string[] = []; + + public fromHardhatCompilerError( + document: TextDocument, + error: SolcError + ): Diagnostic { + return passThroughConversion(document, error); + } + + public resolveActions( + serverState: ServerState, + diagnostic: Diagnostic, + context: ResolveActionsContext + ): CodeAction[] { + const { document, uri } = context; + + if (MUST_SPECIFY_LOCATION_REGEX.test(diagnostic.message)) { + // A variable declaration didn't specify data location and it should (e.g. arrays) + // Build a list of valid locations and sort by custom criteria (most frequent first) + const allowedLocations = this._getAllowedLocationsFromMessage( + diagnostic.message + ).sort( + (a, b) => + this._getLocationSortWeight(a) - this._getLocationSortWeight(b) + ); + + return allowedLocations.map((location) => + this._buildAddLocationAction(location, document, uri, diagnostic.range) + ); + } else if (CANNOT_SPECIFY_REGEX.test(diagnostic.message)) { + // A variable declaration specified data location and it shouldn't (e.g. an integer) + return [this._buildRemoveLocationAction(document, uri, diagnostic.range)]; + } else { + throw new Error( + `Unexpected ${this.code} error message: ${diagnostic.message}` + ); + } + } + + private _getAllowedLocationsFromMessage(message: string) { + const allowedLocationSubstring = message.match(MUST_SPECIFY_LOCATION_REGEX); + + return allowedLocationSubstring![1].match(DATA_LOCATION_REGEX) ?? []; + } + + private _buildAddLocationAction( + location: string, + document: TextDocument, + uri: string, + range: Range + ): CodeAction { + // Find the declaration text, e.g. 'uint[] foo' + const variableDeclaration = document.getText(range); + + // Remove any potential existing data location + const normalizedVariableDeclaration = + this._removeDataLocationFromDeclaration(variableDeclaration); + + // Split into array of words by whitespaces + const tokens = normalizedVariableDeclaration.split(/\s+/); + + // Add data location after type + const type = tokens.shift(); + const newDeclaration = [type, location, ...tokens].join(" "); + + return { + title: `Specify '${location}' as data location`, + kind: CodeActionKind.QuickFix, + isPreferred: false, + edit: { + changes: { + [uri]: [ + { + range, + newText: newDeclaration, + }, + ], + }, + }, + }; + } + + private _buildRemoveLocationAction( + document: TextDocument, + uri: string, + range: Range + ): CodeAction { + // Find the declaration text, e.g. 'uint[] foo' + const variableDeclaration = document.getText(range); + + // Remove any potential existing data location + const normalizedVariableDeclaration = + this._removeDataLocationFromDeclaration(variableDeclaration); + + // Replace multiple whitespaces with single ones + const newDeclaration = normalizedVariableDeclaration.replace(/\s+/g, " "); + + return { + title: `Remove specified data location`, + kind: CodeActionKind.QuickFix, + isPreferred: false, + edit: { + changes: { + [uri]: [ + { + range, + newText: newDeclaration, + }, + ], + }, + }, + }; + } + + private _removeDataLocationFromDeclaration(declaration: string): string { + return declaration.replace(DATA_LOCATION_WHITESPACE_REGEX, ""); + } + + // We want the most frequent options to be at the top + private _getLocationSortWeight(location: string) { + switch (location) { + case "memory": + return 0; + case "storage": + return 1; + case "calldata": + return 2; + default: + return 3; + } + } +} diff --git a/server/src/services/validation/validate.ts b/server/src/services/validation/validate.ts index 3340aed8..2eb5cb12 100644 --- a/server/src/services/validation/validate.ts +++ b/server/src/services/validation/validate.ts @@ -143,30 +143,30 @@ export async function validate( function sendResults( serverState: ServerState, change: TextDocumentChangeEvent, - completeMessage: ValidationResult, + validationResult: ValidationResult, openDocuments: OpenDocuments, projectBasePath: string ) { - switch (completeMessage.status) { + switch (validationResult.status) { case "JOB_COMPLETION_ERROR": - jobCompletionErrorFail(serverState, change, completeMessage); + jobCompletionErrorFail(serverState, change, validationResult); break; case "VALIDATION_FAIL": - validationFail(serverState, change, completeMessage); + validationFail(serverState, change, validationResult); break; case "VALIDATION_PASS": - validationPass(serverState, change, completeMessage, openDocuments); + validationPass(serverState, change, validationResult, openDocuments); break; case "BUILD_INPUT_ERROR": handleBuildInputError( serverState, change, - completeMessage, + validationResult, projectBasePath ); break; default: - assertUnknownMessageStatus(completeMessage); + assertUnknownMessageStatus(validationResult); break; } } diff --git a/test/integration/projects/main/contracts/codeactions/SpecifyDataLocation.sol b/test/integration/projects/main/contracts/codeactions/SpecifyDataLocation.sol new file mode 100644 index 00000000..331f6b57 --- /dev/null +++ b/test/integration/projects/main/contracts/codeactions/SpecifyDataLocation.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.7.0 <0.9.0; + +contract Foo { + // Constructor quickfixes + constructor(uint256[] p1, string calldata p2) {} + + // Function parameters and return value quickfixes + function foo(uint256[] storage p3, string p4) + public + returns (bytes, string storage) + { + // Variable quickfixes + uint256 memory singleUint; + } +} diff --git a/test/integration/projects/main/contracts/codeactions/SpecifyDataLocation_fixed.sol b/test/integration/projects/main/contracts/codeactions/SpecifyDataLocation_fixed.sol new file mode 100644 index 00000000..8532dc5d --- /dev/null +++ b/test/integration/projects/main/contracts/codeactions/SpecifyDataLocation_fixed.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.7.0 <0.9.0; + +contract Foo { + // Constructor quickfixes + constructor(uint256[] memory p1, string memory p2) {} + + // Function parameters and return value quickfixes + function foo(uint256[] memory p3, string memory p4) + public + returns (bytes memory, string memory ) + { + // Variable quickfixes + uint256 singleUint; + } +} diff --git a/test/integration/tests/codeactions/specifyDataLocation.test.ts b/test/integration/tests/codeactions/specifyDataLocation.test.ts new file mode 100644 index 00000000..184beb34 --- /dev/null +++ b/test/integration/tests/codeactions/specifyDataLocation.test.ts @@ -0,0 +1,138 @@ +import * as vscode from "vscode"; +import { checkOrWaitDiagnostic } from "../../helpers/assertions"; +import { getTestContractUri } from "../../helpers/getTestContract"; +import { + applyQuickfix, + compareWithFile, + goToPosition, + openFileInEditor, + openQuickfixMenu, +} from "../../helpers/editor"; + +suite("codeactions - specify data location", function () { + test("add, change and remove multiple data locations", async () => { + const uri = getTestContractUri( + "main/contracts/codeactions/SpecifyDataLocation.sol" + ); + const editor = await openFileInEditor(uri); + + // 1st constructor param + await checkOrWaitDiagnostic( + uri, + new vscode.Range(new vscode.Position(5, 14), new vscode.Position(5, 26)), + vscode.DiagnosticSeverity.Error, + "solidity", + 'Data location must be "storage" or "memory" for constructor parameter' + ); + + goToPosition(new vscode.Position(5, 14)); + + await openQuickfixMenu(); + await applyQuickfix(0); + + // 2nd constructor param + + await checkOrWaitDiagnostic( + uri, + new vscode.Range(new vscode.Position(5, 35), new vscode.Position(5, 53)), + vscode.DiagnosticSeverity.Error, + "solidity", + 'Data location must be "storage" or "memory" for constructor parameter' + ); + + goToPosition(new vscode.Position(5, 35)); + + await openQuickfixMenu(); + await applyQuickfix(0); + + // 1st function param + + await checkOrWaitDiagnostic( + uri, + new vscode.Range(new vscode.Position(8, 15), new vscode.Position(8, 35)), + vscode.DiagnosticSeverity.Error, + "solidity", + 'Data location must be "memory" or "calldata" for parameter in function' + ); + + goToPosition(new vscode.Position(8, 15)); + + await openQuickfixMenu(); + await applyQuickfix(0); + + // 2nd function param + + await checkOrWaitDiagnostic( + uri, + new vscode.Range(new vscode.Position(8, 36), new vscode.Position(8, 45)), + vscode.DiagnosticSeverity.Error, + "solidity", + 'Data location must be "memory" or "calldata" for parameter in function' + ); + + goToPosition(new vscode.Position(8, 36)); + + await openQuickfixMenu(); + await applyQuickfix(0); + + // 1st function return + + await checkOrWaitDiagnostic( + uri, + new vscode.Range( + new vscode.Position(10, 13), + new vscode.Position(10, 18) + ), + vscode.DiagnosticSeverity.Error, + "solidity", + 'Data location must be "memory" or "calldata" for return parameter' + ); + + goToPosition(new vscode.Position(10, 13)); + + await openQuickfixMenu(); + await applyQuickfix(0); + + // 2nd function return + + await checkOrWaitDiagnostic( + uri, + new vscode.Range( + new vscode.Position(10, 27), + new vscode.Position(10, 41) + ), + vscode.DiagnosticSeverity.Error, + "solidity", + 'Data location must be "memory" or "calldata" for return parameter' + ); + + goToPosition(new vscode.Position(10, 27)); + + await openQuickfixMenu(); + await applyQuickfix(0); + + // variable + + await checkOrWaitDiagnostic( + uri, + new vscode.Range(new vscode.Position(13, 4), new vscode.Position(13, 29)), + vscode.DiagnosticSeverity.Error, + "solidity", + "Data location can only be specified for array, struct or mapping types" + ); + + goToPosition(new vscode.Position(13, 4)); + + await openQuickfixMenu(); + await applyQuickfix(0); + + // Assert with final file + + compareWithFile( + editor, + getTestContractUri( + "main/contracts/codeactions/SpecifyDataLocation_fixed.sol" + ) + ); + }); +});