Enable go-to-definition for interface methods and choices (#12903)

* Extend interface go to def test to cover methods and choices

changelog_begin
changelog_end
This commit is contained in:
Moisés Ackerman 2022-02-15 09:30:30 +01:00 committed by GitHub
parent 756b8bc406
commit 4848519fc6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 6 deletions

View File

@ -17,11 +17,11 @@ load("@os_info//:os_info.bzl", "is_linux", "is_windows")
load("@dadew//:dadew.bzl", "dadew_tool_home")
load("@rules_haskell//haskell:cabal.bzl", "stack_snapshot")
GHC_LIB_REV = "9508f965c77d227713b257a2786f52b8"
GHC_LIB_SHA256 = "a2b846683769f5a4fde8aab0d3238c169225ab4357d7cfdfaaf96671e29d3c9c"
GHC_LIB_REV = "8666a6b333a4680e2168ff7860e46af9"
GHC_LIB_SHA256 = "b1bfa85373b735deb7398680ff9e3e50fc3370a3400a824d5cf088d177a870ec"
GHC_LIB_VERSION = "8.8.1"
GHC_LIB_PARSER_REV = "9508f965c77d227713b257a2786f52b8"
GHC_LIB_PARSER_SHA256 = "e1d29dcf3c579c7d81fc0fb2fc386987a69e0d2db40c44835140b7b8bcecbb60"
GHC_LIB_PARSER_REV = "8666a6b333a4680e2168ff7860e46af9"
GHC_LIB_PARSER_SHA256 = "1295639c79319c5538553a363a2d3fe50122a21a9c2f7ba17dad27b068310ef4"
GHC_LIB_PARSER_VERSION = "8.8.1"
GHCIDE_REV = "4146f08b729e1f4e4a3ac789570e9c0b9010944e"
GHCIDE_SHA256 = "bd16242397b67ac0d803c7e0452b03396133d9b7aaf2ba3bddd834260a78bd80"

View File

@ -12,7 +12,7 @@ jobs:
variables:
ghc-lib-sha: '905f51296d979d79da511bed9ab2da7cb9429c9f'
base-sha: '9c787d4d24f2b515934c8503ee2bbd7cfac4da20'
patches: '59d793050469f17a40a74eeb07c1c93e0979e875 833ca63be2ab14871874ccb6974921e8952802e9'
patches: 'dc7ff861f9d482a4657df36addc320e3388a0293 833ca63be2ab14871874ccb6974921e8952802e9'
flavor: 'da-ghc-8.8.1'
steps:
- checkout: self

View File

@ -770,11 +770,23 @@ goToDefinitionTests mbScenarioService mbScenarioServiceDev = Tasty.testGroup "Go
, testCaseDev' "Interface goto definition" $ do
foo <- makeModule "Foo"
[ "interface Iface where"
, " getOwner : Party"
, " nonconsuming choice Noop : ()"
, " controller getOwner this"
, " do pure ()"
, "type I = Iface"
, "type C = Noop"
, "meth : Implements t Iface => t -> Party"
, "meth = getOwner"
]
setFilesOfInterest [foo]
expectNoErrors
expectGoToDefinition (foo, 2, [9..13]) (At (foo,1,10))
-- Iface
expectGoToDefinition (foo, 6, [9..13]) (At (foo,1,10))
-- Noop
expectGoToDefinition (foo, 7, [9..12]) (At (foo,3,22))
-- getOwner
expectGoToDefinition (foo, 9, [7..14]) (At (foo,2,2))
]
where
testCase' = testCase mbScenarioService