1
1
mirror of https://github.com/github/semantic.git synced 2024-12-25 07:55:12 +03:00
Commit Graph

6275 Commits

Author SHA1 Message Date
Rob Rix
775f6a131c
🔥 offsetRange. 2019-09-20 08:53:16 -04:00
Rob Rix
7bb8fe4aaf
Derive the Ord instance for Range. 2019-09-20 08:52:36 -04:00
Timothy Clem
147604e59d Streamline manually language parsing 2019-08-16 14:06:49 -07:00
Timothy Clem
0aab5ebd55 Replace supportedExts 2019-08-15 15:48:17 -07:00
Timothy Clem
2510df0e23 Switch over to using lingo 2019-08-14 16:01:55 -07:00
Timothy Clem
2b37bc9312 New options for readBlobsFromGitRepo
Allows specifying only the paths you want to parse in the repo
2019-07-30 17:34:35 -07:00
Kitten King
2aa6b4a12d
Fix Typos 2019-07-26 03:25:50 +00:00
Timothy Clem
d8ad7f2b25
Merge branch 'master' into proto-rework 2019-07-16 08:36:39 -07:00
Rob Rix
b1fe3e6073
🔥 a bunch of redundant imports. 2019-07-15 15:23:29 -04:00
Patrick Thomson
3af388b633 more monad massages 2019-07-06 12:01:57 -04:00
Patrick Thomson
d01ad24d83 Ditto, but for bitwise functions. 2019-07-06 11:42:53 -04:00
Patrick Thomson
0329984dfa Handle needed changes associated with NumericFunction. 2019-07-06 11:35:19 -04:00
Timothy Clem
7b44a6a24e Repeatable code gen from proto 2019-07-05 15:11:33 -07:00
Patrick Thomson
cfcd27545d
Merge branch 'master' into php-concat 2019-07-03 11:06:42 -04:00
Kevin Orr
5b5a9965dc [#186] Fix PHP string concatenation and augmented assignment 2019-07-03 09:54:13 -04:00
Patrick Thomson
785ba4dcea Include vertex IDs in JSON graph output and fix their format.
As reported in #189, the `edges` field of JSON graph output refers to
information not reflected in the rest of the output, specifically the
vertex IDs. This patch adds that information to the `ToJSON` instance
for `ControlFlowVertex`. It also includes a `toEncoding` instance for
a free speed boost.

During this patch, I realized that, because `hash` tends to return a
large number (since `Int` is 64-bit), we may run into errors when
decoding JSON. One example hash is `3500157981503982114`; passing that
to a JS engine's `Number.isSafeInteger` function returns false. The
correct thing to do here is return ids as strings, which I have done.
This is backwards-incompatible, but since this information was never
properly exposed, the impact is negligable.
2019-07-02 11:24:52 -04:00
Josh Vera
3daee383dc
Merge branch 'master' into add-php 2019-06-25 12:28:25 -04:00
joshvera
6863168acb Add phpt to extensionsForLanguage 2019-06-25 11:01:02 -04:00
joshvera
275de222de Add php to code nav languages 2019-06-24 17:33:03 -04:00
Gus Caplan
c5dfb7f374
Add .mjs as extension for JavaScript 2019-06-22 19:53:43 -05:00
Rob Rix
8cd44aa5fa
Merge branch 'master' into update-php-assignment 2019-06-21 09:59:15 -04:00
Rick Winfrey
4fdcef9822
Merge branch 'master' into update-php-assignment 2019-06-20 17:37:41 -07:00
Rick Winfrey
1d03fae11d Add PHP to supportedExts and codeNavLanguages 2019-06-20 17:30:10 -07:00
Patrick Thomson
17407c0c9d Initial port from machines to streaming. 2019-06-20 09:41:27 -04:00
Patrick Thomson
6306f07cc1 Better story for handling JSON exceptions. 2019-06-19 17:14:52 -04:00
Patrick Thomson
8ae90e53c5 Quiet debug spew in specs.
This console barf makes reading though backscrolls unpleasant. Using
Shelly rather than an abomination of a `system` call and adding a
helper function to parse files quietly improved the situation greatly.

This also contains changes to Util that make the file significantly
easier to navigate, thanks to the power of `PartialTyepSignatures`.

Fixes #140.
2019-06-19 12:09:37 -04:00
Jan Hrček
915937c4be Fix some hlint warnings 2019-06-16 13:40:13 +02:00
Jan Hrček
8959d4d1d6 Fix -Wdodgy-imports warnings 2019-06-14 15:46:06 +02:00
Patrick Thomson
0c639db9c4 And these named fields. 2019-06-13 14:38:08 -04:00
Patrick Thomson
c368c43dce 🔥 Finite instance. 2019-06-13 14:21:27 -04:00
Patrick Thomson
838f09e31c Remove HasDefault and Primitive instances for Language.
Those instances are handled by the bridged data types in `Semantic.Api`.
Keeping this around is both unnecessary and is making #139 go all
wobbly for reasons that are still unclear to me.
2019-06-13 14:14:57 -04:00
joshvera
6b13145862 Move jsxElements out of TypeScript grammar
Also removes typeAssertion from TSX grammar
2019-06-06 16:37:29 -04:00
joshvera
33e267151a WIP 2019-06-05 14:17:12 -04:00
Patrick Thomson
3e1f3bcb9f Remove redundant HasSpan class.
We already have a classy-lenses-style HasSpan class, provided by Data.Span itself, so we don't need Data.Abstract.HasSpan.
2019-06-04 14:40:09 -04:00
Patrick Thomson
c2b46a6aba Simplify Data.Project.
We don't need this to be parameterized in terms of the filepath and
container type, because we no longer generate protobuf code from this
structure.

This should have no impact on tests or output.
2019-05-31 13:13:56 -04:00
Patrick Thomson
0fb8595617 I guess GHC thinks these UNPACKs are unusable. 2019-05-24 11:55:31 -04:00
Patrick Thomson
8e0962712e legacyMakeBlob => makeBlob. Also unpack File. 2019-05-24 11:52:35 -04:00
Patrick Thomson
63a7f117eb If we're not gonna rename File, give Blob the logical field name. 2019-05-21 22:58:25 -04:00
Patrick Thomson
00164372c9 Fix shadowing issues. 2019-05-21 22:43:16 -04:00
Patrick Thomson
b8d3a06a67 Fix all the test cases. 2019-05-21 22:28:32 -04:00
Patrick Thomson
9509ec37b8 absolutely massive patch that touches everything 2019-05-21 22:05:23 -04:00
Patrick Thomson
0c55512221 Merge branch 'master' into ignore-minified-js 2019-05-16 13:41:59 -04:00
Patrick Thomson
334243efc0 Make readFilePair fail in IO rather than require extra MonadFail. 2019-05-15 18:04:07 -04:00
Patrick Thomson
45492449c1 Ignore minified .js files (#2529)
aleph is doing more work than it needs to, as semantic is
all-too-enthusiastic to read in a whole node_modules directory of
minified .js files. A few well-placed boolean checks ensure that
we don't waste these cycles.

Fixes #2529.
2019-05-15 12:49:51 -04:00
Timothy Clem
7830fb9137 Cleanup to oneline 2019-05-09 13:19:43 -07:00
Timothy Clem
eae4bdb8c7 Allow passing excludes on stdin 2019-05-09 13:17:18 -07:00
Patrick Thomson
396fce8ace Remove stray occurrences of Debug.Trace.traceM. 2019-04-24 12:13:08 -04:00
Timothy Clem
834de443d3 Wire in list of paths to exclude 2019-04-15 12:50:56 -07:00
Timothy Clem
abd0bf08af Narrow in on language support for now 2019-04-12 15:48:35 -07:00
Timothy Clem
40c4c1f657 Cleanup 2019-04-12 11:45:07 -07:00
Timothy Clem
be17d782ad Handle dirs and git repos for parsing 2019-04-12 11:40:22 -07:00
Timothy Clem
946b68eda8 Allow parsing entire directory 2019-04-12 09:55:40 -07:00
Timothy Clem
48a11d88e8 Merge remote-tracking branch 'origin/shelly-git-action' into alternative-schema 2019-03-28 17:39:56 -07:00
Patrick Thomson
e73b01f04b Merge remote-tracking branch 'origin/master' into shelly-git-action 2019-03-28 14:30:43 -04:00
Rick Winfrey
098fdd959a Merge branch 'master' into alephd-testing 2019-03-28 09:49:23 -07:00
Patrick Thomson
69c11c816e Merge remote-tracking branch 'origin/master' into shelly-git-action 2019-03-28 09:30:02 -04:00
Timothy Clem
13fe8e14bc Put extra info about the blob in ModuleInfo 2019-03-27 11:51:38 -07:00
Patrick Thomson
ffaba28677 Fix tests. 2019-03-27 09:03:49 -04:00
Rick Winfrey
8e6561c487 Avoid exporting constructors for Name 2019-03-26 14:55:15 -07:00
Rick Winfrey
654259f367 Use enumBounded for EdgeLabel, Kind, and Relation 2019-03-26 11:20:39 -07:00
Timothy Clem
aa3d8d6a10 Merge remote-tracking branch 'origin/master' into shelly-git-action 2019-03-26 09:17:15 -07:00
Rick Winfrey
5824409984 Merge branch 'master' into alephd-testing 2019-03-25 15:30:41 -07:00
Timothy Clem
23920a04cd Capture and carry around blob oid 2019-03-25 12:21:32 -07:00
Patrick Thomson
f82146ea58 No need to use type applications. 2019-03-22 16:52:07 -04:00
Patrick Thomson
272b5b3b64 Use flags for Options. 2019-03-22 16:37:17 -04:00
Patrick Thomson
ecea375520 Eliminate boolean blindness with tagged flags a la olegfi. 2019-03-22 16:25:04 -04:00
Rick Winfrey
02bb89c546 Make this easier to read 2019-03-20 13:08:17 -07:00
Rick Winfrey
2ccf2ae05c Export Name constructors (for now) 2019-03-20 13:08:05 -07:00
Rick Winfrey
e64fa5ad3b This should still be Prelude 2019-03-18 16:11:18 -07:00
Rick Winfrey
864aa0af9f Remove comments, these are no captured as issues 2019-03-15 16:04:41 -07:00
Rick Winfrey
8d4bd5d944 Fix copy pasta mistake 2019-03-15 12:13:07 -07:00
Rick Winfrey
e572bcb5b3 Merge branch 'master' into filter-gensymed-names 2019-03-15 11:43:25 -07:00
Rick Winfrey
3cebf1ac15 Update Let 2019-03-15 11:21:26 -07:00
Rick Winfrey
0c6aa4e759 Add note about interplay between of throwNoNameError and AccessControlError 2019-03-15 11:21:09 -07:00
Rick Winfrey
09c0f4df3c Update TypeAlias 2019-03-15 11:20:43 -07:00
Rick Winfrey
30efba239c Update RequiredParameter 2019-03-14 17:20:41 -07:00
Rick Winfrey
e9b5e5760d Update VariableDeclarations 2019-03-14 17:20:29 -07:00
Rick Winfrey
79e144d73a Update PublicFieldDefinitions 2019-03-14 17:20:02 -07:00
Rick Winfrey
be3470fb36 Also ask about class' superscopes and their gensym names 2019-03-14 17:19:31 -07:00
Rick Winfrey
8711db798d Use declareMaybeName for classes 2019-03-14 17:19:03 -07:00
Rick Winfrey
19c9e7e4cf Change the way declareFunction works to also return a name 2019-03-14 17:17:50 -07:00
Rick Winfrey
aafe4d043a Add question 2019-03-14 17:17:13 -07:00
Rick Winfrey
ae8a8efe2c Use declareMaybeName for function parameters 2019-03-14 17:16:36 -07:00
Rick Winfrey
6cf15d4dac Simplify do 2019-03-14 17:15:59 -07:00
Rick Winfrey
7b21806c8b Use declareMaybeName for method parameters 2019-03-14 17:15:26 -07:00
Rick Winfrey
d33df00f9c We implicitly gensym names when we throw NoNameError but we cannot alter the declaration 2019-03-13 16:20:11 -07:00
joshvera
7c6ee7f94b Merge remote-tracking branch 'origin/master' into alephd-threading 2019-03-13 11:52:45 -04:00
joshvera
7bfe02c24c Remove Void hiding 2019-03-13 11:15:50 -04:00
Rick Winfrey
81808ccb37 Use Gensym relation 2019-03-12 18:38:27 -07:00
Rick Winfrey
a7f2decad0 Qualify 2019-03-12 18:36:05 -07:00
Rick Winfrey
3d14bcb829 Add a Gensym relation 2019-03-12 16:54:12 -07:00
Rick Winfrey
d16a56c664 Revert "Update ScopeGraph.Kind naming to avoid confusion"
This reverts commit 6ccdc3a70c984819d457412e113b7dcfce0e17f8.
2019-03-12 09:56:01 -07:00
Rick Winfrey
5368c6b37b Merge branch 'master' into scope-graph-indexer 2019-03-11 11:04:27 -07:00
Patrick Thomson
2784f14c51 Rob is the brain genious 2019-03-06 18:13:39 -05:00
Patrick Thomson
f28f23c97d infinite blessings upon @rob_rix 2019-03-06 17:39:24 -05:00
Patrick Thomson
9120c9858d more fixes 2019-03-06 17:10:32 -05:00
Rick Winfrey
84989eb538 Merge branch 'master' into scope-graph-indexer 2019-03-06 16:29:50 -05:00
Patrick Thomson
2bb5e8d9e1 restore the old definition of EavesdropC 2019-03-06 14:38:52 -05:00
Patrick Thomson
9845db1ac9 stuck on eavesdrop 2019-03-06 14:13:35 -05:00
Patrick Thomson
2fa32624ac lints 2019-03-06 10:43:12 -05:00
Patrick Thomson
4cfcda5aaf WIP 2019-03-05 16:22:59 -05:00
Patrick Thomson
4eb7942709 Merge remote-tracking branch 'origin/master' into bump-fused-effects-03-03-2019 2019-03-05 15:57:36 -05:00
Patrick Thomson
43bbcb01a5 WIP 2019-03-04 17:35:01 -05:00
Rick Winfrey
73bbc66a2f Update ScopeGraph.Kind naming to avoid confusion
This helps us disambiguate between syntax terms and scope graph kinds
2019-03-04 12:51:33 -08:00
Patrick Thomson
8285c3f680 WIP 2019-03-04 12:00:19 -05:00
Patrick Thomson
f29f26cc71 Fix some errors that crept in. 2019-03-01 12:36:16 -05:00
Patrick Thomson
079ce8baa0 Eliminate other places where These leaked to implementation. 2019-03-01 11:52:21 -05:00
Patrick Thomson
c41d60548c Use pattern synonyms in API helpers. 2019-03-01 11:50:46 -05:00
Patrick Thomson
060c8f50ff Refactor: use pattern synonyms to construct BlobPairs.
The `BlobPair` type is defined as an alias for `Join These Blob`. Though
this sacrifices a degree of type safety, it's extremely convenient, as
you can get to a Functor and Bifunctor instance very quickly.
Pattern-matching on `BlobPair` is less elegant though, as it requires
a nested Join then a match on `These`, which is not immediately
indicative of what a given pair might do.

This adds pattern synonyms for the `Inserting`, `Deleting`, and
`Diffing` cases, and removes the less-expressive functions returning such.
2019-03-01 11:19:24 -05:00
joshvera
d586cfb8dd remove do block 2019-02-26 10:41:04 -05:00
joshvera
89a31a4d69 Change span issue to a TODO 2019-02-26 10:40:29 -05:00
Josh Vera
8c654caacc Merge branch 'indexer-prototype' into merge-indexer-prototype 2019-02-22 17:33:53 -05:00
joshvera
f2aee684bc Merge remote-tracking branch 'origin/master' into indexer-prototype 2019-02-22 11:10:53 -05:00
joshvera
4f29332685 Merge branch 'deploy-to-moda' into merge-indexer-prototype 2019-02-21 12:23:20 -05:00
joshvera
ffc53d3877 Merge remote-tracking branch 'origin/indexer-prototype' into merge-indexer-prototype 2019-02-21 12:22:08 -05:00
Timothy Clem
69b523593f Use parseLanguages 2019-02-20 15:41:51 -08:00
joshvera
fcf2c57bd1 more hints 2019-02-20 16:53:44 -05:00
joshvera
88c172c984 update tests 2019-02-20 15:45:52 -05:00
joshvera
3510b81bcf Fix MemberAccess and instances 2019-02-20 15:40:42 -05:00
joshvera
166948ba6f Remove MessageField and Named 2019-02-20 15:19:17 -05:00
joshvera
0d1f6cdb70 Keep deriving on AccessControl 2019-02-20 15:18:43 -05:00
joshvera
4a4b153a38 revert 41ed8429d
41ed8429d578db0a540c4022f72f650ce2c15303
2019-02-20 15:17:31 -05:00
joshvera
be4250707d Merge remote-tracking branch 'origin/indexer-prototype' into deploy-to-moda 2019-02-20 14:23:18 -05:00
Patrick Thomson
51e3160c7c Bad imports/merge fallout 2019-02-19 13:42:15 -05:00
Patrick Thomson
4f1bd8f5f7 Merge remote-tracking branch 'origin/master' into indexer-prototype-no-sg 2019-02-19 12:26:00 -05:00
Patrick Thomson
c7b41a3594 Merge remote-tracking branch 'origin/master' into indexer-prototype-no-sg 2019-02-15 14:05:23 -05:00
Patrick Thomson
0ea62e85ef further folderol 2019-02-15 13:54:05 -05:00
Patrick Thomson
fc42a90096 Remove ScopeGraph improvements from indexer tree. 2019-02-15 13:48:57 -05:00
Timothy Clem
92c2a5331e Merge branch 'master' into misc-fixes 2019-02-15 10:46:29 -08:00
Timothy Clem
e3029bd89b Allow unknown languages through so we can diff against /dev/null 2019-02-15 09:28:52 -08:00
joshvera
10d25b4591 Merge remote-tracking branch 'origin/util-type-signatures' into deploy-to-moda 2019-02-12 19:20:50 -05:00
joshvera
016f6ea0ed Regenerate tests and eval variable declarations 2019-02-11 17:43:19 -05:00
joshvera
1c790bc78a remove imports 2019-02-11 15:05:24 -05:00
joshvera
c9724d2720 Merge 'origin/master' into deploy-to-moda 2019-02-11 14:27:22 -05:00
joshvera
5613754f0a lints 2019-02-11 14:03:59 -05:00
joshvera
4fd258182e Merge remote-tracking branch 'origin/indexer-prototype' into deploy-to-moda 2019-02-11 13:56:08 -05:00
joshvera
7495f7788f hints 2019-02-11 13:19:12 -05:00
joshvera
dd106278b3 Add getSpan so we don't have to eval a term
Co-Authored-By: Rob Rix <robrix@github.com>
2019-02-11 13:15:13 -05:00
Timothy Clem
6083803d68 Bring in twirp-haskell and generate everything from protos 2019-02-08 13:52:34 -08:00
joshvera
e9d90c0404 Map identifiers in functions to required parameters 2019-02-08 16:41:14 -05:00
Patrick Thomson
7db320f6a5 Consolidate a number of unused modules. 2019-02-08 14:43:15 -05:00
Patrick Thomson
6b5f5c11de Gut Semantic.Lens and move lensy declarations near their datatypes 2019-02-08 14:14:19 -05:00
Patrick Thomson
fbf4b443b4 Move tag to its own file and add a couple lenses 2019-02-08 12:05:59 -05:00
joshvera
993037483f Use paramSpan for params 2019-02-07 18:18:54 -05:00
Timothy Clem
fbeb32de67 Can remove -fno-warn-orphans now 2019-02-07 11:20:54 -08:00
Timothy Clem
50bedeb689 Remove extraneous proto encoding/decode from our internal datatypes 2019-02-06 14:55:43 -08:00
Timothy Clem
ee8d406c58 Merge branch 'master' into twirp-specs 2019-02-06 08:47:11 -08:00
Patrick Thomson
cd7aaf6c17 Export lists and comments. 2019-02-05 16:29:46 -05:00
Timothy Clem
ed47f27c1f Fix lints now that we are on a newer version of hlint 2019-02-04 15:19:21 -08:00
joshvera
e99f85e7a1 Merge remote-tracking branch 'origin/master' into indexer-prototype 2019-02-04 17:17:45 -05:00
joshvera
41b8f0ae9c Merge remote-tracking branch 'origin/master' into javascript-assignment-fixes 2019-02-04 10:21:27 -05:00
joshvera
d67b7c273c Add AccessControl instance for AnnotatedExpression 2019-02-01 17:02:26 -05:00
joshvera
a4d892811f Merge remote-tracking branch 'origin/master' into indexer-prototype 2019-02-01 16:03:16 -05:00
Timothy Clem
61319cdc2c Transition back to our language enum 2019-01-31 13:11:55 -08:00
Timothy Clem
f14412fe8f Merge remote-tracking branch 'origin/master' into servant-experiment 2019-01-31 12:57:59 -08:00
Rick Winfrey
ad2b314c3d Remove Message and MessageField instances for AccessControl 2019-01-31 10:59:43 -08:00
Rick Winfrey
74f8c810fb Add Primitive AccessControl instance 2019-01-31 10:59:15 -08:00
Patrick Thomson
5609c0582f Merge remote-tracking branch 'origin/indexer-prototype' into indexer-with-machines 2019-01-29 14:44:37 -05:00
joshvera
3e1c9bd4a5 Merge remote-tracking branch 'origin/master' into indexer-prototype 2019-01-29 13:26:45 -05:00
joshvera
ffb49d006b Remove python aliases and add declaredAlias to Declarations 2019-01-29 13:25:49 -05:00
Rick Winfrey
0dc063fe97 Update 📝 2019-01-28 17:39:04 -08:00
Rick Winfrey
0cf030d781 Define JSON instances 2019-01-28 17:38:44 -08:00
Rick Winfrey
318b24d4de Define proto instances for AccessControl 2019-01-28 17:38:30 -08:00
Rick Winfrey
5b51cea4c9 Simplify evaluation logic 2019-01-28 17:33:10 -08:00
Rick Winfrey
d8b5ebf09d DeclareFunction formatting
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 17:32:49 -08:00
Rick Winfrey
af92ab0a4d PublicFieldDefinition formatting and order
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 17:32:41 -08:00
Rick Winfrey
7e32ec6936 MethodSignature formatting and order
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 17:32:29 -08:00
Rick Winfrey
fba142354b Update Method syntax formatting and move access control to last parameter
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 17:32:09 -08:00
Rick Winfrey
ceae60fbf9 Remove access controls Syntax constructors
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 17:31:50 -08:00
Timothy Clem
641384423a Fill out languageForScope mapping 2019-01-28 14:46:43 -08:00
Timothy Clem
d3330aa9f3 Dedicated input types for Blob and BlobPair 2019-01-28 14:37:50 -08:00
Rick Winfrey
8e2c1472f4 Convert AccessControl Syntax to individual constructors; remove Unknown
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 11:21:32 -08:00
Patrick Thomson
158476a284 start using real tests 2019-01-28 12:21:00 -05:00
Timothy Clem
919e026499 Merge branch 'master' into servant-experiment 2019-01-25 10:14:16 -08:00
Timothy Clem
1faff05a2b Remove some un-used code 2019-01-25 10:12:38 -08:00
Patrick Thomson
13ac7b4942 Last stage of the great renaming 2019-01-24 13:23:59 -05:00
Patrick Thomson
46969defce Pull in upstream proto3-suite and kill the Exts module. 2019-01-24 13:13:47 -05:00
Patrick Thomson
92b5549d01 Move Envelope 2019-01-24 13:02:11 -05:00
Patrick Thomson
869bd26cae Move User.hs 2019-01-24 12:59:48 -05:00
Patrick Thomson
3cd4ffc9c3 RequestContext, RequestMethod, and RepositoryPush 2019-01-24 12:57:50 -05:00
Patrick Thomson
469151d180 Move Data/GitHub/Repository 2019-01-24 12:48:15 -05:00
Patrick Thomson
c6f4f0fea0 Move Data.GitHub.Git to Data.Git 2019-01-24 12:40:22 -05:00
Patrick Thomson
e69e2b114d Move the query functions into their own file 2019-01-24 12:04:40 -05:00
Timothy Clem
5772d07aa8 Fixing lints 2019-01-24 08:11:00 -08:00
Timothy Clem
be138f7362 Add in parse tree graph endpoint 2019-01-23 14:53:29 -08:00
Rick Winfrey
2eccafcecb Rename fields from visibility -> accessControl 2019-01-18 18:21:07 -08:00
joshvera
ca4db58d83 Declare parameters of a function with their own spans 2019-01-18 17:52:44 -05:00
joshvera
d60807f0f1 Add ModuleInfo to ScopeGraph 2019-01-18 16:41:41 -05:00
Rick Winfrey
548cfb9dd3 Add AccessControlError to Eq1 instance of EvalError
This was preventing the specs from allowing an equality check of `AccessControlError`s, resulting in a strange null diff that appeared to be wrong (but was defaulting to `False` because `AccessControlError` was in the fall through case)

Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-17 14:01:58 -08:00
Rick Winfrey
d4abe75456 Merge branch 'master' into visibility-resolution 2019-01-16 18:31:44 -08:00
Rick Winfrey
2ba74ef97d Fix lints 2019-01-16 18:19:38 -08:00
Rick Winfrey
b407882093 Provide convenience function for loookup of declaration info within a scope by name 2019-01-16 18:05:18 -08:00
Rick Winfrey
17e43eb226 Add AccessControlError 2019-01-16 18:04:24 -08:00
Rick Winfrey
39b056df47 Update name to be more accurate 2019-01-16 17:26:39 -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
joshvera
36cadf6fd1 Add owner to RepositoryPush 2019-01-16 12:16:57 -05: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
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
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
Ayman Nadeem
790bf4dd1c refactor do block using monad laws 2019-01-15 16:35:10 -05:00
Ayman Nadeem
12ad3a8a37 remove superfluous parens 2019-01-15 16:33:39 -05: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
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
Ayman Nadeem
ed6f225213 fix build errors 2019-01-15 13:57:14 -05:00
Ayman Nadeem
b1b014a993 fix conflicts 2019-01-15 13:20:48 -05:00
Timothy Clem
26b771715f Wire in Twirp ping and symbols endpoints, disable grpc entirely 2019-01-15 08:45:20 -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
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
Ayman Nadeem
3a5b679236 change fmap and applicative to do block 2019-01-14 16:38:43 -05:00
Ayman Nadeem
899e847f3a delete old hash method implementations in Concrete domain 2019-01-14 16:03:59 -05:00
Ayman Nadeem
e765d9c951 delete old hash method implementations in Type domain 2019-01-14 16:03:50 -05:00
Ayman Nadeem
4de04378dd delete old hash method implementations in Abstract domain 2019-01-14 16:03:22 -05:00
Ayman Nadeem
04b5863011 evaluatable instances can now use hash 2019-01-14 15:56:21 -05:00
Ayman Nadeem
dbf197d366 fix hash carrier instance for concrete domain 2019-01-14 15:29:15 -05:00
Ayman Nadeem
7e9b5aee94 fix hash carrier instance for type domain 2019-01-14 15:29:00 -05:00
Josh Vera
25f0adc9cd Merge branch 'master' into indexer-prototype 2019-01-14 13:24:15 -05:00
Patrick Thomson
2afd729464 lint 2019-01-14 12:13:02 -05:00
Patrick Thomson
806a850814 Remove test data. 2019-01-14 12:09:16 -05:00
Patrick Thomson
0eb3ea5bb6 Sanity, lint, and documentation pass. 2019-01-14 11:06:17 -05:00
Ayman Nadeem
6f9a8c2733 stub out incorrect hash carrier instance for concrete domain 2019-01-11 17:36:28 -05:00
Ayman Nadeem
0fff151f21 stub out incorrect hash carrier instance for type domain 2019-01-11 17:36:21 -05:00
Ayman Nadeem
68690bf3d8 hash carrier instance for abstract domain 2019-01-11 17:19:33 -05:00
Ayman Nadeem
cca3cb868b hide Hash 2019-01-11 17:14:41 -05:00
Ayman Nadeem
c278dc3bd3 remove AbstractValue array methods from Type domain 2019-01-11 14:56:11 -05:00
Ayman Nadeem
634affcd31 remove AbstractValue array methods from Concrete domain 2019-01-11 14:56:05 -05:00
Ayman Nadeem
30775c4902 remove AbstractValue array methods from Abstract domain 2019-01-11 14:55:58 -05:00
Ayman Nadeem
decbc554ae evaluatable instances can now use array effects 2019-01-11 13:44:47 -05:00
Ayman Nadeem
92cd5634dc rewrite first AsArray condition 2019-01-11 13:30:31 -05:00
Ayman Nadeem
8745c48dfa remove redundant constraints 2019-01-11 13:27:45 -05:00
Ayman Nadeem
745b739538 array carrier instance for concrete domain 2019-01-11 13:26:42 -05:00
Patrick Thomson
716da369fe Add fromRight/fromLeft to Prologue and according hlint rules.
These are new in base-4.10; I had no idea they existed until Rob
pointed them out. This adds them to the Prologue and institutes hlint
rules to suggest when we can use them.
2019-01-11 12:49:56 -05:00
Patrick Thomson
1f4a24b569 Merge remote-tracking branch 'origin/master' into indexer-prototype 2019-01-11 12:28:29 -05:00
Patrick Thomson
b29633e0d6 Move the user type into User. 2019-01-11 11:58:13 -05:00
Patrick Thomson
5b73e89932 Introduce Present and Absent pattern synonyms for Nested. 2019-01-11 11:45:23 -05:00
Ayman Nadeem
0bf26f6477 rewrite AsArray in type domain 2019-01-11 11:21:23 -05:00
Patrick Thomson
a4bd06f6be Fix nomenclature and modules. 2019-01-11 11:20:58 -05:00
Patrick Thomson
60b024dd13 Fix the members that I omitted. 2019-01-10 19:01:19 -05:00
Patrick Thomson
d7ad7e9fce Add Repository entity and make sure they get pushed in repo pushes 2019-01-10 16:22:34 -05:00
Patrick Thomson
589524b21e add fixtures for testing 2019-01-10 16:05:11 -05:00
Patrick Thomson
f750f2952a Remove 'both' function. 2019-01-10 15:53:15 -05:00
Josh Vera
d4e9ab09a9 Merge pull request #2326 from github/add-hydro-data-types
Add data types for Kafka event messages.
2019-01-10 13:16:52 -05:00
Ayman Nadeem
48c32ce4b6 update Evaluatable to disambiguate 2019-01-09 20:40:06 -05:00
Ayman Nadeem
7b1fdcb34f Add initial working but ugly carrier instance for Array in type domain 2019-01-09 20:39:48 -05:00
Ayman Nadeem
a14fcccd16 add Array carrier instance to Abstract domain 2019-01-09 20:38:34 -05:00
Rick Winfrey
9ae24b65f6 Derive via Generically for Visibility 2019-01-09 17:32:15 -08:00
Ayman Nadeem
9abf7b3cc3 bye felicia to klass in Concrete domain 2019-01-09 10:21:15 -05:00
Ayman Nadeem
b8b20bdd98 bye felicia to klass in Type domain 2019-01-09 10:21:07 -05:00
Ayman Nadeem
dbf0b84847 bye felicia to klass in Abstract domain 2019-01-09 10:20:58 -05:00
Ayman Nadeem
1f12fff84f add Klass constructor to object carrier instance in concrete domain 2019-01-08 20:55:36 -05:00
Ayman Nadeem
10bab90d27 add Klass constructor to object carrier instance in type domain 2019-01-08 20:45:26 -05:00
Ayman Nadeem
bc396f9552 add Klass constructor to object carrier instance in Abstract domain 2019-01-08 20:44:08 -05:00
Rick Winfrey
136af86301 Merge branch 'master' into visibility-resolution 2019-01-08 17:32:14 -08:00
joshvera
d96e4d398f lints 2019-01-08 18:38:30 -05:00
joshvera
707723981a Add QualifedExport 2019-01-08 18:19:04 -05:00
Patrick Thomson
2e66bc3443 Simplify Data.Functor.Both.
Though the previous definition (a type synonym that wrapped `Join (,)`)
was clever, it required a number of orphan instances, as well as an extra
`both` function to simulate a `Both` constructor. Using an ordinary data
structure removes the need for orphan instances.
2019-01-08 17:34:47 -05:00
Patrick Thomson
288153acaa Remove unnecessary Finite instances. 2019-01-08 16:06:17 -05:00
joshvera
b23352e163 Merge remote-tracking branch 'origin/master' into indexer-prototype 2019-01-08 15:54:43 -05:00
Patrick Thomson
2894edd428 Include Push events in the cabal file. 2019-01-08 15:30:12 -05:00
Patrick Thomson
bb204429a7 Make sure RequestContext has the instances it needs. 2019-01-08 15:21:39 -05:00
Ayman Nadeem
9c88dc0615 move scopedEnvironment and object from abstractValue to effects 2019-01-08 14:38:45 -05:00
Patrick Thomson
8823d4857e Use enumerateUpper for Type's instance of Finite. 2019-01-08 13:58:08 -05:00
Patrick Thomson
39bdfdf01f Add Hydro data types corresponding to proposed push schema.
Provides a `Push` type. To build that, we needed `RequestContext`,
`UserType`, `RequestMethod`, `Spamurai`, `Timestamp`, and `IPVersion`.

The schemas have all been taken from https://github.com/github/hydro-schemas/.
2019-01-08 13:55:09 -05:00
Ayman Nadeem
8c3305ff47 evaluatable instances can now use object effects 2019-01-08 13:54:47 -05:00
Ayman Nadeem
db8149be7f Add object carrier instance to concrete domain 2019-01-08 13:41:36 -05:00
Ayman Nadeem
ea520d1dfb add object carrier instance to type 2019-01-08 13:28:45 -05:00
Ayman Nadeem
da4d43c681 get rid of scopedEnvironment in AbstractValue 2019-01-08 12:34:59 -05:00
Ayman Nadeem
158c4193db fix object carrier instance in abstract domain 2019-01-08 12:34:31 -05:00
Ayman Nadeem
f79017d019 broken object carrier instance in abstract domain 2019-01-08 11:22:39 -05:00
Patrick Thomson
00abc88daa Remove unneeded extensions and document Generically. 2019-01-07 16:30:07 -05:00
Patrick Thomson
6983f55e1c DerivingVia for Syntax.Directive. 2019-01-07 16:20:54 -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
Patrick Thomson
d4c9702d7e Introduce Generically functor and convert Expression/Literal to use it. 2019-01-07 15:33:43 -05:00
Patrick Thomson
1302fe4ac8 Use -XDerivingVia to clean up our Semigroup/Monoid instances.
Now that we're on GHC 8.6, we can use `-XDerivingVia` in many cases
where we previously had to write instances by hand. If you're not
familiar with `-XDerivingVia`, the [GHC proposal][ghc] is a good place
to start.

[ghc]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0023-deriving-via.rst

Thanks to the `generic-monoid` package, we can derive a `Semigroup`
instance for any product type whose members are `Semigroups`, and the
same goes for `Monoid`. This entails an extra dependency, but it is
better than the `generic-deriving` package, which is way too much overhead.
I've also switched some trivial definitions to newtype-deriving.

Please be aware that this bumps `hlint` and `haskell-src-exts` so that
`hlint` doesn't choke on the `DerivingVia` extension. You'll need to
`stack install hlint` to get it on your `PATH`. Apologies!
2019-01-07 11:23:11 -05:00
Rob Rix
3b45f8c617 Merge remote-tracking branch 'origin/master' into factor-abstract-value-as-value-effects 2019-01-07 09:32:52 -05:00
joshvera
b5af73c088 Merge remote-tracking branch 'origin/master' into add-references-to-indexer-prototype 2019-01-04 15:00:43 -05:00
Patrick Thomson
955f30617c Depend on hostname instead of Network.BSD. 2018-12-29 15:02:42 -05:00
Patrick Thomson
9852155a77 Upgrade to LTS 13.0 and GHC 8.6.3.
Bumps most of our dependencies.

Code changes:
* algebraic-graphs-0.3 no longer provides a Foldable or Traversable
  implementation for `Graph`, so now neither does our `Graph` type.
* CMark parsing now uses safe rendering of raw HTML/URLs by default,
  so there is no reason to pass an `optSafe` anymore.
* algebraic-graphs now no longer requires an Eq constraint on the
  output type it generates, so we can ditch our Serializing.DOT
  module. (Andrey fixed this for us specifically!)
2018-12-29 14:02:24 -05:00
Rick Winfrey
98e83045fc Add a Closure constructor to Abstract.Value.Concrete 2018-12-20 17:05:14 -08:00
Rick Winfrey
c3ab029fb2 Restrict MemberAccess to only deref public instance or default relations on the rhs 2018-12-20 17:04:59 -08:00
Rick Winfrey
d1024f8b11 Cleanup unused language pragma 2018-12-20 17:04:26 -08:00
Rick Winfrey
2496a4e826 Import instances only 2018-12-20 17:03:04 -08:00
Rick Winfrey
6679bf2878 Reflow 2018-12-20 17:02:51 -08:00