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