Skip to content

fix: handle Object member names in Dart, Effect and C# - #3439

Merged
schani merged 20 commits into
masterfrom
fix/dart-object-member-names
Sep 5, 2026
Merged

fix: handle Object member names in Dart, Effect and C##3439
schani merged 20 commits into
masterfrom
fix/dart-object-member-names

Conversation

@schani

@schani schani commented Sep 5, 2026

Copy link
Copy Markdown
Member

Shared Object-member names exposed three collisions: Dart properties override incompatible Object members; Effect’s read-only toString prevents decoding that property; C# records named ToString conflict with their synthesized method. Reserve the conflicting Dart properties and C# record names, and permit the JSON property on affected Effect subclasses.

Adds hashCode, runtimeType, toString and noSuchMethod to the existing shared keywords.json. Removes the Dart-only schema cases. No new fixture or keyword exclusion.

Validation: baseline Dart compilation, Effect decoding and C# record compilation fail; fixed cases pass. All 145 Effect JSON/schema fixtures pass. Explicit Effect decode/encode, constructor validation, invalid-type rejection and generated TypeScript checks pass. The combined keyword sample passes all three C# variants and the available language fixtures. Build, Biome and full CI pass.

Production lines added/removed per fix: Dart 8, Effect 7, C# 2.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

37 files differ — 0 modified, 37 new, 0 deleted
2822 changed lines — +2822 / −0

Open the generated-output report →

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

36 files differ — 35 modified, 1 new, 0 deleted
4867 changed lines — +4299 / −568

Open the generated-output report →

@schani
schani changed the base branch from master to enable-dart-swift-ts-tests September 5, 2026 16:46
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

1 files differ — 0 modified, 1 new, 0 deleted
37 changed lines — +37 / −0

Open the generated-output report →

* fix(dart): count Unicode code points in string bounds

* test(dart): reuse shared Unicode length fixture
* fix(zod): count Unicode code points for string length

* test(zod): use shared Unicode length cases
* fix(effect): count Unicode code points for string length

* test(effect): use shared Unicode length cases
* fix(javascript): count Unicode code points for string length

* test(javascript): use shared Unicode length cases
# Conflicts:
#	packages/quicktype-core/src/language/Dart/DartRenderer.ts
#	test/languages.ts
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

1 files differ — 0 modified, 1 new, 0 deleted
37 changed lines — +37 / −0

Open the generated-output report →

Base automatically changed from enable-dart-swift-ts-tests to master September 5, 2026 18:10
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

1 files differ — 0 modified, 1 new, 0 deleted
37 changed lines — +37 / −0

Open the generated-output report →

@schani schani changed the title fix(dart): avoid inherited Object member names fix: handle Object-member names in Dart and Effect Sep 5, 2026
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

53 files differ — 41 modified, 12 new, 0 deleted
3202 changed lines — +3082 / −120

Open the generated-output report →

@schani schani changed the title fix: handle Object-member names in Dart and Effect fix: handle Object member names in Dart, Effect and C# Sep 5, 2026
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

Generated-output differences

53 files differ — 41 modified, 12 new, 0 deleted
3202 changed lines — +3082 / −120

Open the generated-output report →

@schani
schani merged commit 69c3e51 into master Sep 5, 2026
41 of 67 checks passed
@schani
schani deleted the fix/dart-object-member-names branch September 5, 2026 20:31
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.

1 participant