Skip to content

Remove Slice1 and compilation mode from Compiler definitions#27

Merged
bernardnormier merged 3 commits intoicerpc:mainfrom
bernardnormier:xslice1
Feb 11, 2026
Merged

Remove Slice1 and compilation mode from Compiler definitions#27
bernardnormier merged 3 commits intoicerpc:mainfrom
bernardnormier:xslice1

Conversation

@bernardnormier
Copy link
Member

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request removes Slice1-specific language constructs from the compiler's internal representation. The changes simplify the compiler's data model by eliminating support for deprecated Slice1 features (classes, exceptions, and compilation modes) while maintaining support for Slice1 files in the actual codebase (Ice/ and IceRpc/ directories use mode = Slice1).

Changes:

  • Removed Class and Exception struct definitions from the compiler's internal AST representation
  • Removed CompilationMode enum and associated metadata tracking
  • Removed exception-related documentation metadata (ThrowsTag and throws field)

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
Compiler/SyntaxElements.slice Removed Class and Exception structs, isSlice1Only field from Struct, and exceptionSpecification from Operation; reordered fields in Interface, Operation, and Enum
Compiler/DocComment.slice Removed ThrowsTag struct and throws field from DocComment to eliminate exception documentation metadata
Compiler/CodeGenerator.slice Removed CompilationMode enum, compilationMode field from SliceFile, and Class/Exception variants from Definition enum

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


struct Operation {
entityInfo: EntityInfo
isIdempotent: bool
Copy link
Member Author

Choose a reason for hiding this comment

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

I think it's more logical to put idempotent toward to front, like in the Slice syntax.

Copy link
Member

@InsertCreativityHere InsertCreativityHere left a comment

Choose a reason for hiding this comment

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

The changes look good to me!

But I am still on the fence about the implications of removing mode = Slice1 in favor of slice2cs --icerpc though.

bernardnormier and others added 2 commits February 9, 2026 14:19
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@bernardnormier bernardnormier merged commit cdfd1f3 into icerpc:main Feb 11, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants