Skip to content
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

Make members of a private extension fileprivate. #3

Merged
merged 1 commit into from
Jul 19, 2019

Conversation

allevato
Copy link
Member

Extensions are declared at file scope, so "private" on an extension means
that the members are actually "fileprivate". In this case we need to add
the correct keyword to the individual members, or we'll actually change
their visibility incorrectly.

Fixes SR-11110.

Extensions are declared at file scope, so "private" on an extension means
that the members are actually "fileprivate". In this case we need to add
the correct keyword to the individual members, or we'll actually change
their visibility incorrectly.

Fixes SR-11110.
@allevato allevato requested a review from akyrtzi July 18, 2019 21:16
@allevato allevato merged commit 2aeedb2 into swiftlang:master Jul 19, 2019
@allevato allevato deleted the sr-11110 branch July 19, 2019 00:32
dylansturg added a commit to dylansturg/swift-format that referenced this pull request Dec 6, 2019
Adding line breaks inside of #if conditionals is dangerous because line breaks are only valid if the entire condition is wrapped in parens. It's difficult to conditionally add parens only if a break is necessary because it implies backtracking into the printer's output buffer to insert the opening paren.

Our options for fixing this problem were:
1. Implement paren wrapping the #if condition if a break fires (very complex).
2. Always paren wrap the #if condition (looks bad in the most common case where there's no breaking).
3. Disable breaking in the pretty print but allow users to explicitly break in the condition using discretionary newlines.

I selected option swiftlang#3 and implemented by adding new kind of token known as "printer control" to disable/enable suppressing of break tokens. These printer control tokens can be used in other scenarios, such as suppressing breaks in string interpolation expressions.

Fixes SR-11815
dylansturg added a commit to dylansturg/swift-format that referenced this pull request Dec 6, 2019
Adding line breaks inside of #if conditionals is dangerous because line breaks are only valid if the entire condition is wrapped in parens. It's difficult to conditionally add parens only if a break is necessary because it implies backtracking into the printer's output buffer to insert the opening paren.

Our options for fixing this problem were:
1. Implement paren wrapping the #if condition if a break fires (very complex).
2. Always paren wrap the #if condition (looks bad in the most common case where there's no breaking).
3. Disable breaking in the pretty print but allow users to explicitly break in the condition using discretionary newlines.

I selected option swiftlang#3 and implemented by adding new kind of token known as "printer control" to disable/enable suppressing of break tokens. These printer control tokens can be used in other scenarios, such as suppressing breaks in string interpolation expressions.

Fixes SR-11815
dylansturg added a commit to dylansturg/swift-format that referenced this pull request Dec 6, 2019
Adding line breaks inside of #if conditionals is dangerous because line breaks are only valid if the entire condition is wrapped in parens. It's difficult to conditionally add parens only if a break is necessary because it implies backtracking into the printer's output buffer to insert the opening paren.

Our options for fixing this problem were:
1. Implement paren wrapping the #if condition if a break fires (very complex).
2. Always paren wrap the #if condition (looks bad in the most common case where there's no breaking).
3. Disable breaking in the pretty print but allow users to explicitly break in the condition using discretionary newlines.

I selected option swiftlang#3 and implemented by adding new kind of token known as "printer control" to disable/enable suppressing of break tokens. These printer control tokens can be used in other scenarios, such as suppressing breaks in string interpolation expressions.

Fixes SR-11815
dylansturg added a commit to dylansturg/swift-format that referenced this pull request Dec 6, 2019
Adding line breaks inside of #if conditionals is dangerous because line breaks are only valid if the entire condition is wrapped in parens. It's difficult to conditionally add parens only if a break is necessary because it implies backtracking into the printer's output buffer to insert the opening paren.

Our options for fixing this problem were:
1. Implement paren wrapping the #if condition if a break fires (very complex).
2. Always paren wrap the #if condition (looks bad in the most common case where there's no breaking).
3. Disable breaking in the pretty print but allow users to explicitly break in the condition using discretionary newlines.

I selected option swiftlang#3 and implemented by adding new kind of token known as "printer control" to disable/enable suppressing of break tokens. These printer control tokens can be used in other scenarios, such as suppressing breaks in string interpolation expressions.

Fixes SR-11815
dylansturg added a commit to dylansturg/swift-format that referenced this pull request Dec 6, 2019
Adding line breaks inside of #if conditionals is dangerous because line breaks are only valid if the entire condition is wrapped in parens. It's difficult to conditionally add parens only if a break is necessary because it implies backtracking into the printer's output buffer to insert the opening paren.

Our options for fixing this problem were:
1. Implement paren wrapping the #if condition if a break fires (very complex).
2. Always paren wrap the #if condition (looks bad in the most common case where there's no breaking).
3. Disable breaking in the pretty print but allow users to explicitly break in the condition using discretionary newlines.

I selected option swiftlang#3 and implemented by adding new kind of token known as "printer control" to disable/enable suppressing of break tokens. These printer control tokens can be used in other scenarios, such as suppressing breaks in string interpolation expressions.

Fixes SR-11815
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.

None yet

2 participants