-
Notifications
You must be signed in to change notification settings - Fork 145
[TASK] Use delegation for DeclarationBlock
-> RuleSet
#1194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
7800603
to
73956e9
Compare
c1c27a9
to
3a278e0
Compare
c935f2c
to
1f908cf
Compare
Would be good to resolve #1247 before moving on with this. |
1f908cf
to
1ce18b7
Compare
This is almost ready for review, but some tests need to be added. Before doing so, I'd appreciate a pre-review from you: @sabberworm, @oliverklee. I'm not keen on the having the various chaining methods in For This is the only realistic way forward I see for now, in an 'Agile' sense, which can deliver what is required now, without wholescale refactoring or breaking changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this approach!
Maybe as another spin-off PR (or prepatch), we can introduce the interface and have one class implement it. |
184f865
to
34c8708
Compare
git reset -hard {SHA-of-last-commit-before-attempted-rebase} ... undid the failed rebase/merge. I think when I tried merging instead (via GitHub), that moved the 'common ancestor' point, but when I reverted the merge, it was not moved back.
git reset -soft {SHA-of-first-branch-commit}
git commit --amend ... did the squashing.
That helped immensely; thanks. Instead of (presumably) 9 rounds of conflict resolution, including for files with no overall conflict, there was just one round, for the two files that actually had conflicts. (I'm used to Perforce, which does the merge all at once, and also has a visual editor for 3-way merging. Keeping a cool head also helps ;)) Rebase now done !) Thanks <3 |
I use PhpStorm as my IDE, and IIRC it also have a nice 3-way-merge UI. (Disclaimer: I don't use UIs for git stuff and hence can only report what I hear and see from other people.) |
... adding internal `render` method. Precursor to #1194.
76f0b5f
to
6d615c9
Compare
... instead of `getAllRuleSets`. This avoids testing if `RuleSet`s are `DeclarationBlock`s, and will be needed for #1194.
... instead of `getAllRuleSets`. This avoids testing if `RuleSet`s are `DeclarationBlock`s, and will be needed for #1194.
6d615c9
to
38c7836
Compare
I think this is now ready for a final review. |
38c7836
to
d6c7420
Compare
... rather than inheritance. This will allow `DeclarationBlock` to instead extend `CSSBlockList` in order to support [CSS nesting](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_nesting). This is a slightly-breaking change, since now `CSSBlockList::getAllRuleSets()` will include the `RuleSet` property of the `DeclarationBlock` instead of the `DeclarationBlock` itself. Part of #1170.
cec8497
to
85dc980
Compare
This issues from the last review should all now be resolved. |
9c1c62e
to
e666f5e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. ❤️
... rather than inheritance.
This will allow
DeclarationBlock
to instead extendCSSBlockList
in order to supportCSS nesting.
This is a slightly-breaking change, since now
CSSBlockList::getAllRuleSets()
will include theRuleSet
property of theDeclarationBlock
instead of theDeclarationBlock
itself.Part of #1170.