Doclink: Support linking interfaces#2403
Open
yuandrew wants to merge 9 commits into
Open
Conversation
jmaeagle99
approved these changes
Jun 17, 2026
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Reviewed by Cursor Bugbot for commit 8fdbd4a. Configure here.
…er inside a grouped type/interface block
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What was changed
Added fix for doclink linking interfaces
Why?
We want these linked
Checklist
Closes Doclink: interfaces are not linked #2213
How was this tested:
Note
Low Risk
Changes are limited to the doclink dev tool, generated doc comments, and test synchronization; no runtime SDK behavior changes.
Overview
Fixes the doclink tool so
-fixcan add// Exposed as: [go.temporal.io/sdk/...]comments for types declared inside groupedtype (...)blocks—especially interfaces and simple named types likeSessionState int—which were previously skipped because matching only looked at the third token (type Foo Bar).Matching now strips trailing
//comments before parsing and treats groupedtypelines where the name is the first token (e.g.ContextPropagator interface {). Bare embedded interface fields (e.g.SendChannelinsideChannel interface) are no longer mistaken for type definitions. Internal file walks re-open files for the doc check pass and close handles with returned errors instead ofdefer+log.Fatal.Adds unit/integration-style tests for the matcher and
processInternal. Running the tool updates many internal symbols (workflow channels/selectors, headers, schedules, deployments, temporal errors, etc.) with missing exposure links. Shutdown tests use bufferedpollStartedchannels to avoid races.Reviewed by Cursor Bugbot for commit 582b49a. Bugbot is set up for automated code reviews on this repo. Configure here.