mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
LSP rename
This commit is contained in:
@@ -0,0 +1,307 @@
|
||||
// SPDX-License-Identifier: UNLICENSED
|
||||
pragma solidity >=0.8.0;
|
||||
|
||||
contract ToRename
|
||||
// ^ @CursorOnContractDefinition
|
||||
// ^^^^^^^^ @ContractInDefinition
|
||||
{
|
||||
}
|
||||
|
||||
contract User
|
||||
// ^^^^ @UserContractInContractTest
|
||||
{
|
||||
ToRename public publicVariable;
|
||||
// ^^^^^^^^ @ContractInPublicVariable
|
||||
// ^ @CursorOnPublicVariableType
|
||||
|
||||
ToRename[10] previousContracts;
|
||||
// ^^^^^^^^ @ContractInArrayType
|
||||
// ^ @CursorOnArrayType
|
||||
|
||||
mapping(int => ToRename) contractMapping;
|
||||
// ^^^^^^^^ @ContractInMapping
|
||||
// ^ @CursorOnMapping
|
||||
|
||||
function getContract() public returns (ToRename)
|
||||
// ^^^^^^^^ @ContractInReturnParameter
|
||||
// ^ @CursorOnReturnParameter
|
||||
{
|
||||
return new ToRename();
|
||||
// ^^^^^^^^ @ContractInReturnExpression
|
||||
// ^ @CursorOnReturnExpression
|
||||
}
|
||||
|
||||
function setContract(ToRename _contract) public
|
||||
// ^^^^^^^^ @ContractInParameter
|
||||
// ^ @CursorOnParameter
|
||||
{
|
||||
publicVariable = _contract;
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnContractDefinition
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnReturnParameter
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnReturnExpression
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnPublicVariableType
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnArrayType
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnMapping
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnParameter
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,194 @@
|
||||
// SPDX-License-Identifier: UNLICENSED
|
||||
pragma solidity >=0.8.0;
|
||||
|
||||
contract C
|
||||
{
|
||||
function renameMe() public pure returns (int)
|
||||
// ^^^^^^^^ @FunctionInDefinition
|
||||
// ^ @CursorInDefinition
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
function other() public view
|
||||
{
|
||||
renameMe();
|
||||
// ^^^^^^^^ @FunctionInFunctionSameContract
|
||||
// ^ @CursorInFunctionSameContract
|
||||
this.renameMe();
|
||||
// ^^^^^^^^ @FunctionInFunctionSameContractExternal
|
||||
// ^ @CursorInFunctionSameContractExternal
|
||||
}
|
||||
}
|
||||
|
||||
contract Other
|
||||
{
|
||||
C m_contract;
|
||||
|
||||
function other() public view
|
||||
{
|
||||
m_contract.renameMe();
|
||||
// ^^^^^^^^ @FunctionInFunctionOtherContract
|
||||
// ^ @CursorInFunctionOtherContract
|
||||
}
|
||||
}
|
||||
|
||||
function free() pure
|
||||
{
|
||||
C local_contract;
|
||||
local_contract.renameMe();
|
||||
// ^^^^^^^^ @FunctionInFreeFunction
|
||||
// ^ @CursorInFreeFunction
|
||||
}
|
||||
|
||||
// ----
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorInDefinition
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/function.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionOtherContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContractExternal
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorInFunctionOtherContract
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/function.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionOtherContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContractExternal
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorInFunctionSameContractExternal
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/function.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionOtherContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContractExternal
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorInFunctionSameContract
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/function.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionOtherContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContractExternal
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorInFreeFunction
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/function.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionOtherContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContractExternal
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInFunctionSameContract
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FunctionInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,202 @@
|
||||
// SPDX-License-Identifier: UNLICENSED
|
||||
pragma solidity >=0.8.0;
|
||||
|
||||
contract C
|
||||
{
|
||||
function foo(int a, int b, int c) pure public returns(int)
|
||||
// ^ @ParameterB
|
||||
// ^ @ParameterA
|
||||
// ^ @ParameterC
|
||||
{
|
||||
return a + b + c;
|
||||
// ^ @ParameterBInFoo
|
||||
// ^ @ParameterAInFoo
|
||||
// ^ @ParameterCInFoo
|
||||
|
||||
}
|
||||
|
||||
function bar() public view
|
||||
{
|
||||
this.foo({c:1, b:2, a:3});
|
||||
// ^ @ParameterBInCall
|
||||
// ^ @ParameterCInCall
|
||||
// ^ @ParameterAInCall
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterA
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterAInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterAInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterA
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterAInCall
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterAInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterAInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterA
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterAInFoo
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterAInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterAInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterA
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterC
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterCInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterCInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterC
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterCInCall
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterCInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterCInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterC
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterCInFoo
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterCInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterCInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterC
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterBInCall
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterBInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterBInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterB
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @ParameterBInFoo
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/functionCall.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterBInCall
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterBInFoo
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ParameterB
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,247 @@
|
||||
// SPDX-License-Identifier: UNLICENSED
|
||||
pragma solidity >=0.8.0;
|
||||
|
||||
import "./contract.sol" as externalFile;
|
||||
// ^^^^^^^^^^^^ @FileAliasInImportDirective
|
||||
// ^ @CursorOnFileAliasInImportDirective
|
||||
import {ToRename as ExternalContract, User} from "./contract.sol";
|
||||
// ^^^^^^^^^^^^^^^^ @RenamedContractInImportDirective
|
||||
// ^ @CursorOnRenamedContractInImportDirective
|
||||
// ^^^^^^^^ @OriginalNameInImportDirective
|
||||
// ^ @CursorOnOriginalNameInImportDirective
|
||||
// ^^^^ @UserInImportDirective
|
||||
// ^ @CursorOnUserInImportDirective
|
||||
|
||||
contract C
|
||||
{
|
||||
ExternalContract public externalContract;
|
||||
// ^^^^^^^^^^^^^^^^ @RenamedContractInPublicVariable
|
||||
// ^ @CursorOnRenamedContractInPublicVariable
|
||||
externalFile.ToRename public externalFileContract;
|
||||
// ^^^^^^^^^^^^ @FileAliasInPublicVariable
|
||||
// ^ @CursorOnFileAliasInPublicVariable
|
||||
// ^^^^^^^^ @OriginalNameInPublicVariable
|
||||
// ^ @CursorOnOriginalNameInPublicVariable
|
||||
User public externalUserContract;
|
||||
// ^^^^ @UserInPublicVariable
|
||||
// ^ @CursorOnUserInPublicVariable
|
||||
}
|
||||
|
||||
// ----
|
||||
// contract:
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnFileAliasInImportDirective
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FileAliasInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FileAliasInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnRenamedContractInImportDirective
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @RenamedContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @RenamedContractInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnOriginalNameInImportDirective
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ],
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @OriginalNameInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @OriginalNameInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnRenamedContractInPublicVariable
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @RenamedContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @RenamedContractInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnFileAliasInPublicVariable
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FileAliasInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @FileAliasInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnOriginalNameInPublicVariable
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnExpression
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInReturnParameter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInMapping
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInArrayType
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @ContractInDefinition
|
||||
// }
|
||||
// ],
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @OriginalNameInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @OriginalNameInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnUserInPublicVariable
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @UserContractInContractTest
|
||||
// }
|
||||
// ],
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @UserInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @UserInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnUserInImportDirective
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/contract.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @UserContractInContractTest
|
||||
// }
|
||||
// ],
|
||||
// "rename/import_directive.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @UserInPublicVariable
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @UserInImportDirective
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,132 @@
|
||||
// SPDX-License-Identifier: UNLICENSED
|
||||
pragma solidity >=0.8.0;
|
||||
|
||||
contract C
|
||||
{
|
||||
int public renameMe;
|
||||
// ^^^^^^^^ @VariableInDefinition
|
||||
// ^ @CursorOnVariableDefinition
|
||||
|
||||
function foo() public returns(int)
|
||||
{
|
||||
renameMe = 1;
|
||||
// ^^^^^^^^ @VariableInFunction
|
||||
// ^ @CursorOnVariableInFunction
|
||||
return this.renameMe();
|
||||
// ^^^^^^^^ @VariableInGetter
|
||||
// ^ @CursorOnVariableInGetter
|
||||
}
|
||||
}
|
||||
|
||||
function freeFunction(C _contract) view returns(int)
|
||||
{
|
||||
return _contract.renameMe();
|
||||
// ^^^^^^^^ @VariableInFreeFunction
|
||||
// ^ @CursorOnVariableInFreeFunction
|
||||
}
|
||||
|
||||
// ----
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnVariableInFunction
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/variable.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInGetter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnVariableDefinition
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/variable.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInGetter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnVariableInGetter
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/variable.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInGetter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// -> textDocument/rename {
|
||||
// "newName": "Renamed",
|
||||
// "position": @CursorOnVariableInFreeFunction
|
||||
// }
|
||||
// <- {
|
||||
// "changes": {
|
||||
// "rename/variable.sol": [
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFreeFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInGetter
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInFunction
|
||||
// },
|
||||
// {
|
||||
// "newText": "Renamed",
|
||||
// "range": @VariableInDefinition
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user