Skip to content

Commit c2891db

Browse files
committed
[DOCS] Regenerate the class diagram in the README
The class diagram is (almost) unchanged to the output from `tasuku43/mermaid-class-diagram`, except for the kept `direction LR`. This is in preparation for adding a script for auto-creating the class diagram in #1297.
1 parent 766238d commit c2891db

File tree

1 file changed

+172
-119
lines changed

1 file changed

+172
-119
lines changed

README.md

Lines changed: 172 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -619,190 +619,243 @@ class Sabberworm\CSS\CSSList\Document#4 (2) {
619619
## Class diagram
620620

621621
```mermaid
622+
%% start of the generated part
622623
classDiagram
623624
direction LR
624625
625-
%% Start of the part originally generated from the PHP code using tasuku43/mermaid-class-diagram
626-
627-
class CSSElement {
628-
<<interface>>
626+
class Anchor {
629627
}
630-
class Renderable {
628+
class AtRule {
631629
<<interface>>
632630
}
633-
class Positionable {
634-
<<interface>>
631+
class AtRuleBlockList {
635632
}
636-
class CSSListItem {
637-
<<interface>>
633+
class AtRuleSet {
638634
}
639-
class RuleContainer {
635+
class CSSBlockList {
636+
<<abstract>>
637+
}
638+
class CSSElement {
640639
<<interface>>
641640
}
642-
class DeclarationBlock {
641+
class CSSFunction {
643642
}
644-
class RuleSet {
643+
class CSSList {
645644
<<abstract>>
646645
}
647-
class AtRuleSet {
646+
class CSSListItem {
647+
<<interface>>
648648
}
649-
class KeyframeSelector {
649+
class CSSNamespace {
650650
}
651-
class AtRule {
652-
<<interface>>
651+
class CSSString {
652+
}
653+
class CalcFunction {
654+
}
655+
class CalcRuleValueList {
653656
}
654657
class Charset {
655658
}
656-
class Import {
659+
class Color {
657660
}
658-
class Selector {
661+
class Comment {
659662
}
660-
class CSSNamespace {
663+
class Commentable {
664+
<<interface>>
661665
}
662-
class Settings {
666+
class DeclarationBlock {
663667
}
664-
class Rule {
668+
class Document {
665669
}
666-
class Parser {
670+
class Import {
667671
}
668-
class OutputFormatter {
672+
class KeyFrame {
669673
}
670-
class OutputFormat {
674+
class KeyframeSelector {
675+
}
676+
class LineName {
671677
}
672678
class OutputException {
673679
}
674-
class UnexpectedEOFException {
680+
class OutputFormat {
675681
}
676-
class SourceException {
682+
class OutputFormatter {
677683
}
678-
class UnexpectedTokenException {
684+
class Parser {
679685
}
680686
class ParserState {
681687
}
682-
class Anchor {
683-
}
684-
class CSSBlockList {
685-
<<abstract>>
686-
}
687-
class Document {
688+
class Positionable {
689+
<<interface>>
688690
}
689-
class CSSList {
691+
class PrimitiveValue {
690692
<<abstract>>
691693
}
692-
class KeyFrame {
693-
}
694-
class AtRuleBlockList {
695-
}
696-
class Color {
694+
class Renderable {
695+
<<interface>>
697696
}
698-
class URL {
697+
class Rule {
699698
}
700-
class CalcRuleValueList {
699+
class RuleContainer {
700+
<<interface>>
701701
}
702-
class ValueList {
702+
class RuleSet {
703703
<<abstract>>
704704
}
705-
class CalcFunction {
705+
class RuleValueList {
706706
}
707-
class LineName {
707+
class Selector {
708708
}
709-
class Value {
710-
<<abstract>>
709+
class Settings {
711710
}
712711
class Size {
713712
}
714-
class CSSString {
713+
class SourceException {
715714
}
716-
class PrimitiveValue {
717-
<<abstract>>
715+
class SpecificityCalculator {
718716
}
719-
class CSSFunction {
717+
class URL {
720718
}
721-
class RuleValueList {
719+
class UnexpectedEOFException {
722720
}
723-
class Commentable {
724-
<<interface>>
721+
class UnexpectedTokenException {
725722
}
726-
class Comment {
723+
class Value {
724+
<<abstract>>
725+
}
726+
class ValueList {
727+
<<abstract>>
727728
}
728729
729-
RuleSet <|-- DeclarationBlock: inheritance
730+
Anchor ..> ParserState: dependency
731+
CSSListItem <|-- AtRule: inheritance
732+
AtRule <|.. AtRuleBlockList: realization
733+
CSSBlockList <|-- AtRuleBlockList: inheritance
734+
AtRuleBlockList ..> OutputFormat: dependency
735+
AtRule <|.. AtRuleSet: realization
736+
AtRuleSet ..> OutputFormat: dependency
737+
RuleSet <|-- AtRuleSet: inheritance
738+
CSSList <|-- CSSBlockList: inheritance
730739
Renderable <|-- CSSElement: inheritance
731-
Renderable <|-- CSSListItem: inheritance
740+
CSSFunction ..> OutputFormat: dependency
741+
CSSFunction ..> ParserState: dependency
742+
ValueList <|-- CSSFunction: inheritance
743+
CSSList ..> AtRuleBlockList: dependency
744+
CSSList ..> AtRuleSet: dependency
745+
CSSElement <|.. CSSList: realization
746+
CSSListItem <|.. CSSList: realization
747+
CSSList ..> CSSNamespace: dependency
748+
CSSList ..> Charset: dependency
749+
CSSList ..> Import: dependency
750+
CSSList ..> KeyFrame: dependency
751+
CSSList ..> OutputFormat: dependency
752+
CSSList ..> ParserState: dependency
753+
Positionable <|.. CSSList: realization
754+
CSSList ..> Selector: dependency
755+
CSSList ..> SourceException: dependency
756+
CSSList ..> UnexpectedTokenException: dependency
732757
Commentable <|-- CSSListItem: inheritance
733-
Positionable <|.. RuleSet: realization
734-
CSSElement <|.. RuleSet: realization
735-
CSSListItem <|.. RuleSet: realization
736-
RuleContainer <|.. RuleSet: realization
737-
RuleSet <|-- AtRuleSet: inheritance
738-
AtRule <|.. AtRuleSet: realization
739-
Renderable <|.. Selector: realization
740-
Selector <|-- KeyframeSelector: inheritance
741-
CSSListItem <|-- AtRule: inheritance
742-
Positionable <|.. Charset: realization
758+
Renderable <|-- CSSListItem: inheritance
759+
AtRule <|.. CSSNamespace: realization
760+
CSSNamespace ..> OutputFormat: dependency
761+
Positionable <|.. CSSNamespace: realization
762+
CSSString ..> OutputFormat: dependency
763+
CSSString ..> ParserState: dependency
764+
PrimitiveValue <|-- CSSString: inheritance
765+
CSSString ..> SourceException: dependency
766+
CSSFunction <|-- CalcFunction: inheritance
767+
CalcFunction ..> CalcRuleValueList: dependency
768+
CalcFunction ..> ParserState: dependency
769+
CalcFunction ..> RuleValueList: dependency
770+
CalcFunction ..> UnexpectedTokenException: dependency
771+
CalcRuleValueList ..> OutputFormat: dependency
772+
RuleValueList <|-- CalcRuleValueList: inheritance
743773
AtRule <|.. Charset: realization
744-
Positionable <|.. Import: realization
774+
Charset ..> CSSString: dependency
775+
Charset ..> OutputFormat: dependency
776+
Positionable <|.. Charset: realization
777+
CSSFunction <|-- Color: inheritance
778+
Color ..> OutputFormat: dependency
779+
Color ..> ParserState: dependency
780+
Color ..> Size: dependency
781+
Color ..> UnexpectedTokenException: dependency
782+
Comment ..> OutputFormat: dependency
783+
Positionable <|.. Comment: realization
784+
Renderable <|.. Comment: realization
785+
DeclarationBlock ..> KeyframeSelector: dependency
786+
DeclarationBlock ..> OutputException: dependency
787+
DeclarationBlock ..> OutputFormat: dependency
788+
DeclarationBlock ..> ParserState: dependency
789+
RuleSet <|-- DeclarationBlock: inheritance
790+
DeclarationBlock ..> Selector: dependency
791+
DeclarationBlock ..> UnexpectedTokenException: dependency
792+
CSSBlockList <|-- Document: inheritance
793+
Document ..> OutputFormat: dependency
794+
Document ..> ParserState: dependency
745795
AtRule <|.. Import: realization
746-
Positionable <|.. CSSNamespace: realization
747-
AtRule <|.. CSSNamespace: realization
796+
Import ..> OutputFormat: dependency
797+
Positionable <|.. Import: realization
798+
Import ..> URL: dependency
799+
AtRule <|.. KeyFrame: realization
800+
CSSList <|-- KeyFrame: inheritance
801+
KeyFrame ..> OutputFormat: dependency
802+
Selector <|-- KeyframeSelector: inheritance
803+
LineName ..> OutputFormat: dependency
804+
LineName ..> ParserState: dependency
805+
ValueList <|-- LineName: inheritance
806+
SourceException <|-- OutputException: inheritance
807+
OutputFormat ..> OutputFormatter: dependency
808+
OutputFormatter ..> Commentable: dependency
809+
OutputFormatter ..> InvalidArgumentException: dependency
810+
OutputFormatter ..> OutputFormat: dependency
811+
Parser ..> Document: dependency
812+
Parser ..> ParserState: dependency
813+
ParserState ..> Anchor: dependency
814+
ParserState ..> Comment: dependency
815+
ParserState ..> Settings: dependency
816+
ParserState ..> SourceException: dependency
817+
ParserState ..> UnexpectedEOFException: dependency
818+
ParserState ..> UnexpectedTokenException: dependency
819+
Value <|-- PrimitiveValue: inheritance
820+
Renderable ..> OutputFormat: dependency
748821
CSSElement <|.. Rule: realization
749-
Positionable <|.. Rule: realization
750822
Commentable <|.. Rule: realization
751-
SourceException <|-- OutputException: inheritance
752-
UnexpectedTokenException <|-- UnexpectedEOFException: inheritance
823+
Rule ..> OutputFormat: dependency
824+
Rule ..> ParserState: dependency
825+
Positionable <|.. Rule: realization
826+
Rule ..> RuleValueList: dependency
827+
RuleContainer ..> Rule: dependency
828+
CSSElement <|.. RuleSet: realization
829+
CSSListItem <|.. RuleSet: realization
830+
RuleSet ..> OutputFormat: dependency
831+
RuleSet ..> ParserState: dependency
832+
Positionable <|.. RuleSet: realization
833+
RuleSet ..> Rule: dependency
834+
RuleContainer <|.. RuleSet: realization
835+
RuleSet ..> UnexpectedValueException: dependency
836+
ValueList <|-- RuleValueList: inheritance
837+
Selector ..> OutputFormat: dependency
838+
Renderable <|.. Selector: realization
839+
Size ..> OutputFormat: dependency
840+
Size ..> ParserState: dependency
841+
PrimitiveValue <|-- Size: inheritance
753842
Exception <|-- SourceException: inheritance
754843
Positionable <|.. SourceException: realization
755-
SourceException <|-- UnexpectedTokenException: inheritance
756-
CSSList <|-- CSSBlockList: inheritance
757-
CSSBlockList <|-- Document: inheritance
758-
CSSElement <|.. CSSList: realization
759-
Positionable <|.. CSSList: realization
760-
CSSListItem <|.. CSSList: realization
761-
CSSList <|-- KeyFrame: inheritance
762-
AtRule <|.. KeyFrame: realization
763-
CSSBlockList <|-- AtRuleBlockList: inheritance
764-
AtRule <|.. AtRuleBlockList: realization
765-
CSSFunction <|-- Color: inheritance
844+
URL ..> CSSString: dependency
845+
URL ..> OutputFormat: dependency
846+
URL ..> ParserState: dependency
766847
PrimitiveValue <|-- URL: inheritance
767-
RuleValueList <|-- CalcRuleValueList: inheritance
768-
Value <|-- ValueList: inheritance
769-
CSSFunction <|-- CalcFunction: inheritance
770-
ValueList <|-- LineName: inheritance
848+
UnexpectedTokenException <|-- UnexpectedEOFException: inheritance
849+
SourceException <|-- UnexpectedTokenException: inheritance
771850
CSSElement <|.. Value: realization
851+
Value ..> CSSFunction: dependency
852+
Value ..> ParserState: dependency
772853
Positionable <|.. Value: realization
773-
PrimitiveValue <|-- Size: inheritance
774-
PrimitiveValue <|-- CSSString: inheritance
775-
Value <|-- PrimitiveValue: inheritance
776-
ValueList <|-- CSSFunction: inheritance
777-
ValueList <|-- RuleValueList: inheritance
778-
Renderable <|.. Comment: realization
779-
Positionable <|.. Comment: realization
780-
854+
Value ..> RuleValueList: dependency
855+
Value ..> UnexpectedTokenException: dependency
856+
ValueList ..> OutputFormat: dependency
857+
Value <|-- ValueList: inheritance
781858
%% end of the generated part
782-
783-
784-
Anchor --> "1" ParserState: parserState
785-
CSSList --> "*" CSSList: contents
786-
CSSList --> "*" Charset: contents
787-
CSSList --> "*" Comment: comments
788-
CSSList --> "*" Import: contents
789-
CSSList --> "*" RuleSet: contents
790-
CSSNamespace --> "*" Comment: comments
791-
Charset --> "*" Comment: comments
792-
Charset --> "1" CSSString: charset
793-
DeclarationBlock --> "*" Selector: selectors
794-
Import --> "*" Comment: comments
795-
OutputFormat --> "1" OutputFormat: nextLevelFormat
796-
OutputFormat --> "1" OutputFormatter: outputFormatter
797-
OutputFormatter --> "1" OutputFormat: outputFormat
798-
Parser --> "1" ParserState: parserState
799-
ParserState --> "1" Settings: parserSettings
800-
Rule --> "*" Comment: comments
801-
Rule --> "1" RuleValueList: value
802-
RuleSet --> "*" Comment: comments
803-
RuleSet --> "*" Rule: rules
804-
URL --> "1" CSSString: url
805-
ValueList --> "*" Value: components
806859
```
807860

808861
## API and deprecation policy

0 commit comments

Comments
 (0)