Repository navigation
bug #62844; relative URL schemes in parse_url() - #169
Closed
hikari-no-yume wants to merge 2 commits into
Closed
hikari-no-yume wants to merge 2 commits into
hikari-no-yume wants to merge 2 commits into
Conversation
|
Comment on behalf of stas at php.net: merged |
heyJordanParker
added a commit
to heyJordanParker/php-sharp
that referenced
this pull request
Oct 12, 2026
…uctors, events and init Mago php#152 merged Mago master's named constructors (php#161), events (php#162) and the `init` accessor (php#169), so this branch pinned a Mago without them, and the spec examples that use them still failed here. The engine now builds from Mago 1b517f4. The generated header changes only in the commit it names. Six more spec examples pass and leave the baseline, written with the `cp` command `sharp/bin/test --spec` prints: - §9.1 constructor-call-this, named-constructors and set-once - §15 extern-event, extern-event-effects and standalone-event ext/sharp/sharp_unit.h <- names Mago 1b517f4 sharp/baseline/spec <- the six examples that now pass leave it
This was referenced Oct 12, 2026
heyJordanParker
added a commit
to heyJordanParker/php-sharp
that referenced
this pull request
Oct 13, 2026
feat: build the `init` accessor, set only while the object is created
heyJordanParker
added a commit
to heyJordanParker/php-sharp
that referenced
this pull request
Oct 13, 2026
Problem master gained the `init` accessor (php#169), which takes bit 47 of `MetadataFlags` for `INIT`, the bit `EVENT` held after the last merge. Solution `MetadataFlags::EVENT` moves to bit 48. Files crates/ └── codex/src/metadata/flags.rs <- EVENT is 1 << 48
heyJordanParker
added a commit
to heyJordanParker/php-sharp
that referenced
this pull request
Oct 13, 2026
Problem Section 15 lands in fewer PRs: a listener's `on` clause joins `emit` in one mago-sharp PR, instead of a third PR of its own. feat/events-on also brings master's named constructors (php#161) and `init` accessor (php#169), which take bits 46 and 47 of `MetadataFlags`. Each branch had its own test of what an event is. Solution - `MetadataFlags::EVENT` is `1 << 48`, after `NAMED_CONSTRUCTOR` and `INIT`. - The listener checks use `is_event_class`, the one test `emit` uses, so an `extern event` counts only on a class for both. - The fingerprint tests keep both new rows. Files crates/ ├── codex/src/metadata/flags.rs <- EVENT is 1 << 48 ├── analyzer/src/statement/class_like/listener.rs <- uses is_event_class └── fingerprint/tests/signature_changes.rs <- both rows
heyJordanParker
added a commit
to heyJordanParker/php-sharp
that referenced
this pull request
Oct 13, 2026
Problem: master merged php#169, the `init` accessor, after 7236cd0, and it changes the property hook loop and the checker's field note, which the generics slice changes too. Solution: merge c3a2b5a with no rebase and keep both sides: - an `init` body lowers as the `set` hook, and its value from plain PHP is checked against the property's type arguments as a `set` body's is; testing the accessor's name for `set` alone would have added a second, checked `set` hook beside the `init` one, which PHP refuses - the field note names `init` and type parameters together crates/ ├── semantics/src/internal/checker/sharp.rs <- the field note names `init` and generic types └── sharp-bridge/ ├── src/lower.rs <- an `init` body is a checked `set` hook └── tests/lower.rs <- an `init` property with type arguments gets one checked `set` hook
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.
'//example.com' is parsed correctly.
https://bugs.php.net/bug.php?id=62844