1
1
mirror of https://github.com/github/semantic.git synced 2024-12-21 05:41:54 +03:00
Commit Graph

852 Commits

Author SHA1 Message Date
joshvera
a69991309c Revert generic changes to class2.ts
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-13 13:14:56 -05:00
joshvera
09c3cce304 WIP 2018-12-12 17:13:52 -05:00
joshvera
9508518acf Merge remote-tracking branch 'origin/master' into new-expressions 2018-12-11 13:13:37 -05:00
joshvera
b12fbed41a Merge remote-tracking branch 'origin/master' into heap-frames 2018-12-10 16:38:55 -05:00
joshvera
75ac094409 Update Greeter example to Adder 2018-12-10 16:21:42 -05:00
joshvera
080ac13872 Regen unit tests 2018-12-10 12:15:54 -05:00
joshvera
3bff825368 Add test files for new expressions 2018-12-07 16:55:38 -05:00
Patrick Thomson
0d361e9b0b Add ZSuper syntax node (#2292)
Previously, invocations of `super` were captured as an `Identifier`.
It is straightforward enough to return a ZSuper instead.
2018-12-07 12:21:32 -05:00
joshvera
1b23d1d0dd Merge remote-tracking branch 'origin/master' into heap-frames 2018-12-06 16:32:38 -05:00
joshvera
52c685d30f Implement default export instance 2018-12-05 15:45:20 -05:00
joshvera
eae6b7c8b3 Add tests for QualifedExportFrom 2018-12-05 15:07:37 -05:00
joshvera
17c4bf350c Add lookupObjectMembers function to tests 2018-11-29 19:37:20 -05:00
Timothy Clem
f15851eed8 Demonstrate that we can pick out classes through ScopeResolution 2018-11-26 14:37:56 -08:00
joshvera
0186178ce1 Add import across modules test back
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:33:28 -05:00
joshvera
cda046910a Add Bar call back in fixtures
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:30:19 -05:00
joshvera
f1ea66012b Initialize the slots of a frame when creating it 2018-11-20 20:03:17 -05:00
joshvera
b08d426f9c Add lets to test typescript files 2018-11-16 18:57:26 -05:00
joshvera
ea7a576c31 fix imports with aliased symbols test 2018-11-15 19:45:24 -05:00
Rick Winfrey
66d3044951 Merge branch 'master' into heap-frames 2018-11-15 13:44:06 -08:00
joshvera
4769c2cb24 regenerate javascript fixtures
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 13:27:37 -05:00
joshvera
5c4dde8d54 fix up test fixtures
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 13:24:46 -05:00
joshvera
8a4aa24889 Add a function call example
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:18:52 -05:00
joshvera
fb5e4400a1 modify test files
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:09:20 -05:00
joshvera
4fed5eb1e7 export baz in a.ts 2018-11-13 12:06:05 -05:00
joshvera
f9c6590f61 Remove baz export
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 13:05:48 -05:00
joshvera
4c02f11edc add main3.ts
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 13:05:26 -05:00
Timothy Clem
8c0dd6d3b5 Just return the first line if function defs span multiple lines 2018-11-07 11:48:50 -08:00
Timothy Clem
343289f1c5 Merge remote-tracking branch 'origin/master' into docstrings-round2 2018-11-06 09:17:49 -08:00
Timothy Clem
e14f59b165 Re-generate test with addition of statements in python assignment 2018-11-05 13:12:50 -08:00
Timothy Clem
bdb7ee0430 More tests 2018-11-05 13:09:37 -08:00
Timothy Clem
d0fc88efee Some python specs for tags 2018-11-05 12:33:23 -08:00
Patrick Thomson
7ea52dbfe3 Give Control.Matching API better ergonomics.
Given that @tclem and I have found the matcher API frustrating, I've
taken a stab at improving its ergonomics, and I've found some success
in separating composition of matchers from predicate-based narrowing
thereof.

The biggest change here is the elimination of the old `match`
combinator, which proved to be clumsy in that it complected narrowing
and composition. Top-down matching combinators are now written with
the `need` combinator and the `>>>` combinator, which is more readable
and more versatile. Here's a matcher that accepts functions with
Python docstrings:

```haskell
docstringMatcher :: ( Decl.Function :< fs
                    , [] :< fs
                    , Lit.TextElement :< fs
                    , term ~ Term (Sum fs) ann
                    ) => Matcher term term
docstringMatcher = target <*
               (need Decl.functionBody
                >>> narrow @[]
                >>> mhead
                >>> narrow @Lit.TextElement
                >>> ensure Lit.isTripleQuoted))
```

Pretty readable, right? Each step of the tree regular expression -
choosing function bodies, ensuring said bodies are lists, examining
the first element, and choosing only TextElements containing
triple-quoted strings - is made implicit. The old way would have
looked something like this:

```haskell
docstringMatcher = target <* match Decl.functionBody
                           $ narrow
                           $ matchM listToMaybe
                           $ target <* ensure Lit.isTripleQuoted
```
which is a good deal more disorganized and less flexible
in the quite-common case of applying functions during a
matching pass. Separating the act of composition from
function application is a big win here.

Further comments are inline.
2018-11-02 19:25:29 -04:00
Timothy Clem
0f56f33f24 Introduce some symbol/tags tests 2018-11-02 13:55:30 -07:00
Timothy Clem
018dc73af9 Python assignment: conditionally include annotation on functions 2018-11-02 12:39:38 -07:00
Timothy Clem
4ef4c63851 I changed functions in python that don't have annotations 2018-11-01 17:48:27 -07:00
Patrick Thomson
22cf72c20f Merge branch 'master' into term-rewriting-mk2 2018-09-19 11:51:28 -04:00
Timothy Clem
a25e848c9f Fix assigning comments with multiple elif in Python 2018-09-18 10:43:18 -07:00
Patrick Thomson
6e65f9060d Merge remote-tracking branch 'origin/master' into term-rewriting-mk2 2018-09-18 13:31:58 -04:00
Timothy Clem
344873f0f7 Go corpus back the other way? 2018-09-17 11:26:47 -07:00
Timothy Clem
c97d43aaca Refinement of types is Go 2018-09-17 09:56:31 -07:00
Timothy Clem
883d4586c0 TypeScript fixes for more type identifiers 2018-09-17 09:48:47 -07:00
Timothy Clem
80dfd75635 Ruby corpus changes 2018-09-17 09:30:03 -07:00
Patrick Thomson
ec7ee9da62 improve JSON formatting so the diff doesn't whine 2018-09-17 10:52:28 -04:00
Patrick Thomson
d1cc400dc0 add spec file 2018-09-14 13:10:22 -04:00
Timothy Clem
addc6a6c6f Fix a few more go fixtures 2018-09-10 15:41:16 -07:00
Timothy Clem
ceed3b0ae4 Fix a few test fixtures due to structure changes 2018-09-10 11:15:34 -07:00
Timothy Clem
0931fc81f2 Add a simple roundtrip spec for python printing 2018-08-28 10:31:54 -07:00
Timothy Clem
68a93c6740 Python example code 2018-08-28 09:12:56 -07:00
Timothy Clem
9a347c9d27 Tokenize and print subtraction as well 2018-08-24 14:07:49 -07:00
Timothy Clem
1bb0e3c149 Handle printing binary multiplication with precedence! 2018-08-24 10:59:09 -07:00
Timothy Clem
e9e8edbebe Dedicated util for rewriting 2018-08-24 10:35:38 -07:00
Patrick Thomson
0d4aaef985 Merge branch 'master' into source-aware-reprinter 2018-08-23 18:32:58 -04:00
Ayman Nadeem
4be365ddcb add test 2018-08-23 11:25:20 -04:00
Timothy Clem
3214519718 Very basic test for ruby printing 2018-08-22 13:47:30 -07:00
Timothy Clem
945712bca6 Examples 2018-08-21 13:25:14 -07:00
Timothy Clem
1a9200b783 tokenizing for Ruby blocks (functions) 2018-08-21 13:17:13 -07:00
Timothy Clem
5ac0b5a900 Continue to refine tokenize api with Ruby as example 2018-08-21 11:16:39 -07:00
Timothy Clem
b0311ff77e Ruby test hardness for ghci 2018-08-20 18:11:41 -07:00
Timothy Clem
cd3233549a WIP, language translation as an additional step in pipeline 2018-08-17 15:17:14 -07:00
Ayman Nadeem
5891fe8510 add tests for lshift, rshift, unsignedRshift 2018-08-17 13:26:34 -04:00
Ayman Nadeem
a5c7010f85 add test file for bxor 2018-08-17 13:24:40 -04:00
Ayman Nadeem
c76948c76a add test for bitwise and 2018-08-17 13:23:53 -04:00
Ayman Nadeem
18694f8143 add test for bitwise OR 2018-08-17 13:22:48 -04:00
Ayman Nadeem
0e8bb70dfd Merge remote-tracking branch 'origin/master' into evaluatable-instances 2018-08-16 14:46:59 -04:00
Timothy Clem
b39721ec4f Be consistent with 2 spaces for now 2018-08-15 14:01:53 -07:00
Timothy Clem
487c78b854 Merge remote-tracking branch 'origin/master' into source-aware-reprinter 2018-08-13 15:56:26 -07:00
Rick Winfrey
9e87ea9fc5 Update python fixtures
I think this got lost when merging in master
2018-08-13 12:48:47 -07:00
Ayman Nadeem
bb71c4543d add evaluatable instance for await 2018-08-13 15:18:54 -04:00
Rick Winfrey
62fb9635e0 Merge branch 'master' into update-haskell-tree-sitter 2018-08-13 11:36:10 -07:00
Rick Winfrey
f0daabaf9a Update go fixtures 2018-08-13 11:29:01 -07:00
Ayman Nadeem
d107446abf re-generate ruby example 2018-08-13 10:43:44 -04:00
Ayman Nadeem
b54f175ebf update examples 2018-08-13 10:20:13 -04:00
Rick Winfrey
686e1e6d09 Update fixtures 2018-08-10 14:33:39 -07:00
Rick Winfrey
bb23084035 Add future import statement test fixtures 2018-08-10 10:11:01 -07:00
Rick Winfrey
062fa896a4 Update test fixtures 2018-08-09 18:41:58 -07:00
Ayman Nadeem
a3c36b89ef add evaluatable instance and test for delete
Co-Authored-By: Josh Vera <vera@github.com>
2018-08-09 17:55:59 -04:00
Ayman Nadeem
75aa8f7662 add tests for void 2018-08-09 16:41:29 -04:00
Ayman Nadeem
7ee4bad173 add sequence expression to test spec
Co-Authored-By: Josh Vera <vera@github.com>
2018-08-09 16:08:20 -04:00
Ayman Nadeem
29a49ca4fb regenerate failing python tests 2018-08-09 15:29:31 -04:00
Patrick Thomson
805cea9000 a 'contextually' node exists 2018-08-07 14:09:50 -04:00
Charlie Somerville
6c7df4e5bc remove TypeScript specific This syntax type 2018-08-02 16:00:21 +10:00
Charlie Somerville
7cc858acf0 Identifier -> This in test fixtures 2018-08-02 14:21:40 +10:00
Charlie Somerville
72ba35dd1d regenerate diff fixtures 2018-08-02 14:15:50 +10:00
Charlie Somerville
6f472596a5 Merge branch 'master' into charliesome/context 2018-08-02 12:47:53 +10:00
Patrick Thomson
0a82d053d9 Found the bug: defaulting whenRefactored was wrong. 2018-08-01 12:13:10 -04:00
Charlie Somerville
b5f6edb942 fix self in ruby assignment 2018-08-01 15:01:12 +10:00
Patrick Thomson
88cd915ced working reprinting tests 2018-07-30 20:05:44 -04:00
Patrick Thomson
a61fe301c4 Skeleton and initial test case 2018-07-30 16:00:09 -04:00
Rob Rix
05d2683012 Merge branch 'master' into test-java-assignment-part-2 2018-07-26 09:23:09 -04:00
Ayman Nadeem
8fdab3f08e test class literal 2018-07-24 18:31:09 -04:00
Ayman Nadeem
c07120fcca add wildcard 2018-07-24 18:24:50 -04:00
Ayman Nadeem
41e5165195 test while 2018-07-24 18:23:08 -04:00
Ayman Nadeem
7a7c9ba222 test variable declaration 2018-07-24 18:20:57 -04:00
Ayman Nadeem
632bf50506 test update expression 2018-07-24 18:18:59 -04:00
Ayman Nadeem
cc2cf50b98 test throws, trycatches and type argument 2018-07-24 18:17:42 -04:00
Ayman Nadeem
448999e68d test try with resources statement 2018-07-24 18:12:47 -04:00
Ayman Nadeem
9fc621c9f4 test switch statement 2018-07-24 17:54:43 -04:00
Ayman Nadeem
794dbf82d4 test strings 2018-07-24 17:51:32 -04:00
Ayman Nadeem
562beec816 test spread parameter 2018-07-24 17:47:52 -04:00
Ayman Nadeem
32d6af0e9d test scoped identifiers 2018-07-24 17:45:09 -04:00