Rick Winfrey
5076caa2d5
Reflow
2019-01-16 17:25:49 -08:00
Rick Winfrey
5f5df139ed
Update lookupDeclaration
to lookupSlot
...
The old name can be confusing, but we are actually returning `Slot` values from this function, not a `Declaration` or `Info`.
2019-01-16 17:25:18 -08:00
Rick Winfrey
8675f7485f
Define a specialized Ord instance for AccessControl
...
This makes it possible to express an order specification for AccessControl. The leftward entity's AccessControl is evaluated according to the order specification defined by `(<=)` with the rightward entity's AccessControl. Private is the bottom most AccessControl (implying anything that is Private can see anything above it), and Public is the topmost Access Control.
Public <= Private -- False
Private <= Public -- True
Public <= Protected -- False
Protected <= Public -- True
Unknown <= _ -- Always true
_ <= Unknown -- Always true
2019-01-15 18:56:06 -08:00
Rick Winfrey
73d98bc2f9
Use declarationsByRelation
2019-01-15 17:22:30 -08:00
Rick Winfrey
0fc01f2149
💅
2019-01-15 17:22:15 -08:00
Rick Winfrey
89ad50eb9a
Rename for clarity
2019-01-15 17:22:04 -08:00
Rick Winfrey
11b670b2ee
Simplify logic b/c relation and access control are no longer intertwined
2019-01-15 17:21:34 -08:00
Rick Winfrey
03375eff11
Add helper function for retrieving declarations by AccessControl
2019-01-15 17:20:24 -08:00
Rick Winfrey
5e56ae63d8
Correct applications of declare
to use AccessControl
2019-01-15 17:19:04 -08:00
Rick Winfrey
78fe6e33e2
Update applications of define
to include AccessControl as a separate parameter
2019-01-15 17:13:49 -08:00
Rick Winfrey
28fc303de4
Parameterize defineBuiltIn
with AccessControl
2019-01-15 17:13:12 -08:00
Rick Winfrey
3371b46b0b
Parameterize define
with AccessControl
2019-01-15 17:12:44 -08:00
Rick Winfrey
df18a4fa07
Construct info with access control
2019-01-15 17:12:11 -08:00
Rick Winfrey
71646b50db
Parameterize declare
with AccessControl
2019-01-15 17:11:53 -08:00
Rick Winfrey
dd85e414d6
Remove access control from Relation
2019-01-15 17:11:36 -08:00
Rick Winfrey
7326df0c65
Define access control on Info
2019-01-15 17:11:24 -08:00
Rick Winfrey
439e9ff9ae
Update remaining
2019-01-15 12:27:09 -08:00
Rick Winfrey
2b1e3a9585
Update expression syntax
2019-01-15 12:26:45 -08:00
Rick Winfrey
17079bcbc5
Update syntax declarations to use termToAccessControl
2019-01-15 12:26:09 -08:00
Rick Winfrey
0ab26b07aa
Update Taggable instance
2019-01-15 12:25:33 -08:00
Rick Winfrey
201a305756
Update language assignments to use AccessControl
2019-01-15 12:25:21 -08:00
Rick Winfrey
dac3b47256
Rename Visibility
syntax -> AccessControl
syntax
2019-01-15 12:24:43 -08:00
Rick Winfrey
00d074bced
Rename Visibility
-> AccessControl
2019-01-15 12:24:10 -08:00
Rick Winfrey
688d744c2c
Rename Visibilities
& Visibilities1
-> AccessControls
& AccessControls1
...
Visibilities is from the scope graph literature, and is not the same idea or equivalent in any way to the idea of access control.
2019-01-15 12:23:48 -08:00
Rick Winfrey
8679f360fb
Reflect instance methods / field definitions access control when instantiating objects
2019-01-14 17:58:18 -08:00
Rick Winfrey
ad68196124
Reflow
2019-01-14 17:57:31 -08:00
Rick Winfrey
f1300c2136
Declare public field name with correct access control
2019-01-14 17:57:22 -08:00
Rick Winfrey
4b5eb19700
Simplify scope lookup for MemberAccess
2019-01-14 17:22:03 -08:00
Rick Winfrey
2a4cc4eab2
Update example
2019-01-14 15:21:25 -08:00
Rick Winfrey
ed88f498a9
Generate list of possible Relation
based on Visibilties of lhs in MemberAccess
2019-01-14 15:21:10 -08:00
Rick Winfrey
b2cbb3299a
Manually define Visibilities This
instance
2019-01-14 15:20:25 -08:00
Rick Winfrey
0a5c9d45a0
Add back visibility to relations
2019-01-09 17:32:29 -08:00
Rick Winfrey
9ae24b65f6
Derive via Generically for Visibility
2019-01-09 17:32:15 -08:00
Rick Winfrey
136af86301
Merge branch 'master' into visibility-resolution
2019-01-08 17:32:14 -08:00
Josh Vera
b153fe8c2c
Merge pull request #2322 from github/deriving-via
...
Use -XDerivingVia to clean up Eq1/Show1/Ord1/Semigroup/Monoid instances.
2019-01-08 11:04:38 -05:00
Patrick Thomson
00abc88daa
Remove unneeded extensions and document Generically.
2019-01-07 16:30:07 -05:00
Patrick Thomson
9c14b6fd85
Fix license version.
2019-01-07 16:23:26 -05:00
Patrick Thomson
2618b30f79
DerivingVia over TypeScript/JavaScript.
2019-01-07 16:21:15 -05:00
Patrick Thomson
6983f55e1c
DerivingVia for Syntax.Directive.
2019-01-07 16:20:54 -05:00
Patrick Thomson
b91675f2cf
Some Haskell instances I forgot.
2019-01-07 16:20:33 -05:00
Patrick Thomson
bf2ee5a3f4
DerivingVia over PHP.
2019-01-07 16:10:13 -05:00
Patrick Thomson
f2bb7eeb8d
DerivingVia over Java syntax.
2019-01-07 16:04:21 -05:00
Patrick Thomson
d2639d096b
DerivingVia over the Haskell syntax modules.
2019-01-07 16:01:42 -05:00
Patrick Thomson
d2fffe1c89
DerivingVia over Markdown.
2019-01-07 15:53:10 -05:00
Patrick Thomson
0482798bfb
DerivingVia over Python and Ruby.
2019-01-07 15:51:41 -05:00
Patrick Thomson
a7db55081a
DerivingVia over Go syntax.
2019-01-07 15:51:28 -05:00
Patrick Thomson
e0bb9e4a08
DerivingVia over Syntax and Syntax.Type.
2019-01-07 15:45:00 -05:00
Patrick Thomson
c778de4585
DerivingVia over Comment.
2019-01-07 15:39:44 -05:00
Patrick Thomson
b32a728b84
DerivingVia over Syntax.Declaration.
2019-01-07 15:37:24 -05:00
Patrick Thomson
e0d5e7f54b
DerivingVia over Syntax.Statement.
2019-01-07 15:33:50 -05:00