Skip to content

Conversation

colinodell
Copy link
Member

Basically anything that is now completed covered by one or more interfaces (no other public or protected methods) has been marked final. See https://ocramius.github.io/blog/when-to-declare-classes-final/ for some rationale behind this.

All of them (except one) simply implemented an interface and had no
other methods, so there's really no point in making them extendable. The
one exception was `CloseBracketParser` which had a few `protected`
methods which really should have been `private`, so we made that change.
@colinodell colinodell added this to the v0.20 milestone May 25, 2019
@colinodell colinodell self-assigned this May 25, 2019
@colinodell colinodell merged commit 976c4eb into master May 25, 2019
@colinodell colinodell deleted the finalize-all-the-things branch May 25, 2019 20:58
@samwilson
Copy link
Contributor

Is this a firm policy? I'm trying to extend the SmartPunct classes for LaTeX output but can't. Would you be willing to look at a change to those classes to remove final? (I'm happy to make a PR.) Otherwise I'm stuck duplicating the code.

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.

2 participants