Skip to content

docs(compiler): Add JSDoc for semantic type variants [skip chg] - #12274

Closed
Timothee Guerin (timotheeguerin) wants to merge 1 commit into
microsoft:mainfrom
timotheeguerin:docs/jsdoc-compiler-semantic-variants
Closed

Timothee Guerin (timotheeguerin) wants to merge 1 commit into
microsoft:mainfrom
timotheeguerin:docs/jsdoc-compiler-semantic-variants

Conversation

@timotheeguerin

@timotheeguerin Timothee Guerin (timotheeguerin) commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

Compiler consumers need to navigate semantic declarations without mistaking scalar constructors for values, operation signatures for functions, or anonymous union alternatives for named variants.

Adds JSDoc for scalars, enums, operations, interfaces, namespaces, literal and template types, unions, and callable parameter contracts. Explains ownership, inherited constructors, numeric precision, source-order spans, and union-expression distinctions while preserving existing experimental guidance and all signatures.

Tracked in #12228.

@microsoft-github-policy-service microsoft-github-policy-service Bot added the compiler:core Issues for @typespec/compiler label Oct 15, 2026
@pkg-pr-new

pkg-pr-new Bot commented Oct 15, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@typespec/compiler@12274

commit: afaaf56

@azure-sdk-automation

azure-sdk-automation Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

You can try these changes here

🛝 Playground 🌐 Website 🛝 VSCode Extension

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation-only changes preserve existing APIs and behavior, with no unresolved findings.

0 open findings

What changed in this PR

Adds JSDoc for compiler semantic types as part of the public API documentation improvements tracked in #12228.

Changes:

  • Clarifies declaration ownership, scalar constructors, and callable parameter contracts.
  • Documents literal precision, template spans, and union alternatives.
  • Preserves runtime behavior, API signatures, and experimental guidance.
File Description
packages/​compiler/​src/​core/​types.ts Adds JSDoc describing semantic type variants and their members.

🧠 Review effort: Balanced


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@timotheeguerin

Copy link
Copy Markdown
Member Author

Consolidated into #12245 to keep one PR per package and at most five compiler PRs. The reviewed changes and corrections are preserved there.

Tracked in #12228.

Timothee Guerin (timotheeguerin) added a commit that referenced this pull request Oct 16, 2026
…12245)

Consumers of the compiler's semantic model need to understand how types,
template instances, model properties, and runtime values relate without
reading the checker implementation.

Document the public type foundations, semantic variants, and value
contracts together, including optional state, ownership, and
relationships. Existing APIs and behavior are unchanged.

Consolidates [12257](#12257),
[12274](#12274).

Tracked in #12228.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compiler:core Issues for @typespec/compiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants