1
1
mirror of https://github.com/github/semantic.git synced 2024-12-27 17:05:33 +03:00
Commit Graph

18212 Commits

Author SHA1 Message Date
joshvera
7c677f8625 Remove ScopedResolution instance 2018-12-05 13:55:52 -05:00
joshvera
4a350ece0b Remove old Call code 2018-12-05 13:53:30 -05:00
Rob Rix
ba070a6b46 Merge branch 'heap-frames' of https://github.com/github/semantic into heap-frames 2018-12-05 13:49:51 -05:00
joshvera
b319d0fb64 Implement TypeAlias instance 2018-12-05 13:46:32 -05:00
Rob Rix
dd6dc101bb Reintroduce reachable. 2018-12-05 13:45:18 -05:00
Rob Rix
95c1151cd2 Reintroduce heapLookupAll. 2018-12-05 13:44:47 -05:00
Rob Rix
664b3b2a9d Reintroduce heapLookup. 2018-12-05 13:44:42 -05:00
joshvera
1d0e969c32 Remove address function 2018-12-05 13:38:23 -05:00
Rob Rix
a3734e27b0 Reintroduce gc. 2018-12-05 13:10:34 -05:00
Rob Rix
b77dc95d4f Reintroduce heapRestrict. 2018-12-05 13:08:24 -05:00
Rob Rix
6a0aadb600 Revert "🔥 modifyHeap."
This reverts commit 0f829170901c3765b28084d4ff09fab41820cc6b.
2018-12-05 13:03:58 -05:00
Rob Rix
bbd698281d 🔥 modifyHeap. 2018-12-05 12:59:48 -05:00
Rob Rix
5416079e22 🔥 a redundant constraint. 2018-12-05 12:54:52 -05:00
Rob Rix
665a8bf0c2 🔥 redundant constraints. 2018-12-05 12:54:13 -05:00
Rob Rix
1a32bcc688 🔥 a redundant binding. 2018-12-05 12:54:06 -05:00
joshvera
a2026e8ada Add valueRef tests back 2018-12-05 12:44:52 -05:00
joshvera
73ae9f85a1 Deref slots in evalRubyProject
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-05 12:12:13 -05:00
joshvera
49e8a7004c Remove Exports 2018-12-05 10:23:42 -05:00
joshvera
0f8058d82a Remove NamespaceError 2018-12-05 10:20:41 -05:00
joshvera
073dca372d Remove Data.Abstract.Environment 2018-12-05 10:20:35 -05:00
joshvera
9fee3d5965 formatting 2018-12-05 10:20:17 -05:00
joshvera
781e52f843 Format and remove Environment 2018-12-05 10:14:16 -05:00
joshvera
4979459533 Remove box and format 2018-12-05 10:06:00 -05:00
joshvera
26d3e5e449 Remove Environment 2018-12-05 09:42:00 -05:00
joshvera
505e9003a2 stylish 2018-12-05 09:41:24 -05:00
joshvera
4428cd0ab8 Implement ruby assignment as a separate syntax
So it can declare a variable in case it isn't shadowing one
2018-12-04 19:22:58 -05:00
joshvera
5b198eb919 Implement Break and Continue 2018-12-04 19:22:29 -05:00
joshvera
5deda2a033 Implement and reopen ruby modules 2018-12-04 18:46:29 -05:00
joshvera
538b2bc875 Reopen classes 2018-12-04 18:28:47 -05:00
joshvera
30b086f5a1 Implement class instance 2018-12-04 18:15:04 -05:00
joshvera
2d7f741cde Call the function if lhsValue doesn't have a scoped environment
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:47:00 -05:00
joshvera
609a60f040 Lookup declaration by name in graphingTerms
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:22:18 -05:00
joshvera
535b6b56c8 Lookup __self in Send call if there's no sendReceiver
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:01:48 -05:00
joshvera
33b752a5aa Implement This eval instance
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:01:30 -05:00
joshvera
ac1d2dbc95 Declare __self in Method instance
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:01:19 -05:00
joshvera
793ec4b32d Define __self in preludes
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:00:20 -05:00
joshvera
85f00a2904 Add defineBuiltIn
in order to construct an associated scope to pass to BuiltIn

Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 16:24:44 -05:00
joshvera
fa3adf19e6 Assign params within a frame in Abstract/Type semantics
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 15:56:11 -05:00
Rob Rix
f75c2b14a1 Build function scopes in the Evaluatable instances. 2018-12-04 14:55:25 -05:00
Rob Rix
00c6bb2229 Note that we should be building the scope in define instead of in the Function carrier. 2018-12-04 14:34:40 -05:00
Rob Rix
bb2bcf6274 🔥 a redundant fresh. 2018-12-04 14:21:07 -05:00
Rob Rix
140fab4407 Simplify the Effect instance for Function. 2018-12-04 14:15:13 -05:00
Patrick Thomson
3502dadda6 fix build/lints 2018-12-04 13:24:15 -05:00
Rob Rix
dbf670d4ee Use deriving strategies for the Heap. 2018-12-04 13:12:25 -05:00
Rob Rix
9420d5cc96 🔥 a bunch of redundant bindings. 2018-12-04 13:12:18 -05:00
Rob Rix
c16385e20f 🔥 a bunch of redundant constraints. 2018-12-04 13:12:03 -05:00
Rob Rix
91fce6a246 🔥 a bunch of redundant imports. 2018-12-04 12:25:32 -05:00
joshvera
4322c8889c Implement Send without self 2018-12-04 12:04:06 -05:00
joshvera
debefff57c Differentiate between Import and Superclass edge tests 2018-12-04 11:24:01 -05:00
Patrick Thomson
28b6cdb9b1 last few changes 2018-12-04 10:45:30 -05:00
Patrick Thomson
18e651cbc0 Merge remote-tracking branch 'origin/master' into tokenize-ruby 2018-12-04 10:40:01 -05:00
joshvera
4d134fd9aa putDeclarationScope should be robust
And look things up with respect to a current scope instead of traversing the key value pairs of the scope graph
2018-12-04 10:38:05 -05:00
joshvera
2544b100e1 Ignore Lexical, Import, and Export edges in declarationNames
Since we only use it for objectMembers in tests and those should only traverse superclass edges atm
2018-12-04 10:37:33 -05:00
joshvera
b88dde5d5e Traverse superclass edges 2018-12-04 10:37:03 -05:00
joshvera
6a27c20c9b Go back to declaring in Function syntax 2018-12-04 10:36:47 -05:00
joshvera
7f4d4d0c40 Declare in concrete function again
Fixes subclass associated scope issue in subclasses.py
2018-12-03 17:58:48 -05:00
joshvera
4af4dd616b Implement Eval instance for classes
Add Class to scopedEnvironment
2018-12-03 17:39:45 -05:00
joshvera
16b6babe8a Remove this for unit tests
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-03 16:06:10 -05:00
joshvera
78c0344967 Add callGraphPythonProject
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-03 16:00:01 -05:00
joshvera
c505b53898 No need to declare multiple times
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-03 15:59:49 -05:00
joshvera
2d190d8ec9 Don't insert already declared names into a scope
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-03 15:59:38 -05:00
joshvera
fd502d5e34 enable graphingTerms
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-03 12:24:40 -05:00
joshvera
0cd64662f2 Rename Address to Slot 2018-11-29 20:07:30 -05:00
joshvera
b2bbd0e78c Filter Export edges so we don't traverse them in the tests 2018-11-29 19:36:58 -05:00
joshvera
13802ab4b1 Remove traceShowM 2018-11-29 19:36:41 -05:00
joshvera
1a96a992cc Insert import references from the perspective of the module frame 2018-11-29 18:57:06 -05:00
joshvera
1e1813b180 Iterate through all modulePaths 2018-11-29 13:39:20 -05:00
joshvera
a9a0461a76 Eval instance for python QualifiedAliasedImport 2018-11-29 13:34:08 -05:00
joshvera
716bebd985 Remove lexical scope from Statements node 2018-11-29 13:00:53 -05:00
joshvera
456efeca9d Change the order of ModuleResult 2018-11-28 17:27:42 -05:00
joshvera
49b4a1494f Remove currentFrame from Heap 2018-11-28 17:10:35 -05:00
joshvera
8dd5a7e295 WIP remove current scope and frame from Heap and ScopeGraph
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-28 13:31:40 -05:00
joshvera
d32019f726 docs
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-28 12:33:50 -05:00
joshvera
bd0adfc986 Move runAllocator and moduleInfo reader to evalModule from runInModule
So we can initialize scopes and frames for modules in evalModule

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-28 12:19:15 -05:00
joshvera
a394be553e Revert "Surgery on evaluate (almost there!)"
This reverts commit c080f961dca8ffc535e6155005b1c50abda94478.
2018-11-28 12:04:20 -05:00
Rick Winfrey
dea848f1ea Surgery on evaluate (almost there!)
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:19:54 -08:00
Rick Winfrey
b96c32ae9c Add AbstractHole for scope and frame addresses
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:19:36 -08:00
Rick Winfrey
817aa6550b Run allocator effect globally
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:19:13 -08:00
Rick Winfrey
999ef65221 Add Reader effect
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:18:46 -08:00
Rick Winfrey
f4dd062f51 Update Ruby Syntax to take scope and frame addresses
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:18:36 -08:00
Rick Winfrey
9b93fcd69b No longer using bindAll or ScopeError
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:18:14 -08:00
Rick Winfrey
b7bd00b682 Update Go syntax to take scope and frame addresses
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:17:57 -08:00
Rick Winfrey
124c7593f4 Handle scope and frame edges
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:17:00 -08:00
Rick Winfrey
93b06f9a58 🔥 unnecessary constraint
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:16:08 -08:00
Rick Winfrey
68a5978c0a Fix up PHP evaluatable instances
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 15:49:08 -08:00
Rick Winfrey
92b5d82cfb Update Python QualifiedImport for scope / frames
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 15:42:07 -08:00
Rick Winfrey
f74b7810cd Handle RelativeQualifiedName Python imports for scopes / frames
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 15:37:38 -08:00
Rick Winfrey
c9d0c00b13 Set the correct scope when inserting import references
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 15:37:08 -08:00
Rick Winfrey
acafd59fed Use strict Map
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 15:12:25 -08:00
Rick Winfrey
4317960df3 Update TypeScript and JavaScript scope / frames for qualified imports
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 15:12:16 -08:00
Rick Winfrey
07c1b2202b Update scope graph and frame for Python imports with or without aliases
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 15:11:46 -08:00
Rick Winfrey
0490f621b3 No longer need maybe 2018-11-27 14:14:10 -08:00
Rick Winfrey
356790b075 Add Data.Map 2018-11-27 14:13:58 -08:00
joshvera
b6e789fff7 Use a Reader for the scope address and frame address
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-27 14:16:27 -05:00
joshvera
57015e94cc Type apply value instead of address in currentFrame
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:57:19 -05:00
joshvera
c0567f50f3 Implement QualifiedImport to look things up in objects
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:56:56 -05:00
joshvera
121207965e QualifiedImport stores Strings not FilePaths
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:56:18 -05:00
joshvera
024da78987 Rename name to relPath
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:55:51 -05:00
joshvera
5084eece82 Pass prelude scope graph and heap to evalModule
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:55:29 -05:00
joshvera
87d2b68e4d Implement QualifiedImport for Go
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:55:12 -05:00
joshvera
ccb044ac6b Export scopeLookup
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:54:49 -05:00
joshvera
ff1543f434 Implement Method
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:54:37 -05:00
joshvera
e9a999b69e Eval params to names in Evaluatable Function
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:54:28 -05:00
joshvera
af0184a195 Store names as params in Closure
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:53:58 -05:00
Timothy Clem
d90e9f0ca8 Rework to have symbolName as method 2018-11-26 13:56:43 -08:00
Timothy Clem
14600029fd Pick out delcarations for ScopeResolution and through Context better 2018-11-26 13:43:20 -08:00
Timothy Clem
e2ac46ae69 Better Show for Span 2018-11-26 13:41:55 -08:00
joshvera
a1d2a09548 Merge the heap and insert a frame link in Evaluatable Import
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:29:48 -05:00
joshvera
ce40ee2d37 declarationNames traverses edges
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:05:37 -05:00
joshvera
0cf8bb1b87 Throw UninitializedAddress from deref
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 12:31:41 -05:00
joshvera
4379bcca4e syntax errors 2018-11-26 12:31:21 -05:00
joshvera
bf4401d79b Revert newFrame changes 2018-11-26 12:04:49 -05:00
joshvera
e67862a575 Implement in terms of go 2018-11-26 12:03:49 -05:00
joshvera
fd979562ff Revert "Throw UninitializedAddress from value"
This reverts commit 36e1e09af13f8a0cbab286dc5724af5dd11213db.
2018-11-26 12:03:12 -05:00
Patrick Thomson
330a78b230 clarify TODO 2018-11-26 11:21:34 -05:00
joshvera
f1ea66012b Initialize the slots of a frame when creating it 2018-11-20 20:03:17 -05:00
joshvera
878a92eda1 Instantiate an object in the heap for a QualifiedImport
if none exists and we're trying to construct edges to imported frames
2018-11-20 19:28:52 -05:00
joshvera
9b2355b521 Throw UninitializedAddress from value 2018-11-20 19:28:15 -05:00
joshvera
0a7dd5c187 Remove makeNamespace for now 2018-11-20 19:28:04 -05:00
joshvera
d485923816 Return Maybe from deref
So we can case on uninitialized slots in the heap
2018-11-20 19:27:51 -05:00
joshvera
f3cb6d4f8c Implement QualifiedImport for Go 2018-11-20 19:04:32 -05:00
joshvera
83722bc8f6 Ask for the span in QualifiedAliasedImport 2018-11-20 19:04:04 -05:00
joshvera
86aa9c9950 Move defaultAlias to Data.ImportPath 2018-11-20 19:03:46 -05:00
Patrick Thomson
9e553ce939 fix-lint 2018-11-20 11:51:40 -05:00
Patrick Thomson
812abf249d fix stray import/old TODO 2018-11-19 16:45:55 -05:00
Patrick Thomson
af02dc3391 Port over Tokenize instances. 2018-11-19 16:41:00 -05:00
Patrick Thomson
c0d71fe80d Add enough Scope tokens to handle Ruby syntax. 2018-11-19 16:15:32 -05:00
Patrick Thomson
2974b34c17 Add 'Flow' to represent control-flow constructs. 2018-11-19 16:05:01 -05:00
joshvera
01f5a29039 Return unit in delete instance 2018-11-16 18:57:05 -05:00
joshvera
f2aa442c48 Rename AssignmentRvalError to DerefError 2018-11-16 18:54:25 -05:00
joshvera
06c9e97b2d implement Delete evaluatable 2018-11-16 18:53:27 -05:00
joshvera
d8933a062b Add deleteSlot 2018-11-16 18:53:16 -05:00
joshvera
2f904a3791 Add dealloc to delete slots 2018-11-16 18:53:06 -05:00
joshvera
ba28eafd9e Remove undefined from resumingLoadError 2018-11-16 18:26:16 -05:00
joshvera
4d9eafccb0 convergingModules recurs on ValueRef now
so we can remove address
2018-11-16 18:25:46 -05:00
joshvera
edf444eff9 Remove address 2018-11-16 18:22:31 -05:00
joshvera
b583e0bf8d Construct an import edge and frame link from the current scope to the imported scope and frame 2018-11-16 18:03:00 -05:00
joshvera
007c710668 cover all cases of pathDeclarationScope 2018-11-16 18:02:39 -05:00
joshvera
243e0f69fb Create a new scope for QualifiedAliasedImport 2018-11-16 16:57:12 -05:00
joshvera
2c8ac63806 Return objects from QualifedAliasedImport 2018-11-16 16:12:01 -05:00
joshvera
fb0e7e3407 Add object to AbstractValue 2018-11-16 16:11:39 -05:00
joshvera
de126c7b94 qualify object 2018-11-16 16:11:28 -05:00
joshvera
781df71d37 catch the rest of EvalError 2018-11-16 16:11:18 -05:00
joshvera
ec8733889e Add AbstractHole instance to ValueRef 2018-11-16 16:10:02 -05:00
joshvera
e54cc8b096 Add QualifedImportError 2018-11-16 16:09:42 -05:00
joshvera
f39da9578a Move ImportPath to Data.ImportPath 2018-11-16 16:09:11 -05:00
joshvera
ea5587d16c Implement Evaluatable for MemberAccess 2018-11-15 20:24:34 -05:00
joshvera
39e723b980 Add Object to concrete Value 2018-11-15 20:24:21 -05:00
joshvera
3de1cbce5b Change scopedEnvironment to return the address of an Object 2018-11-15 20:24:06 -05:00
joshvera
994fd861c5 Add ReferenceError 2018-11-15 20:23:43 -05:00
joshvera
77fd2e823d Add insertDeclarationSpan to ScopeGraph 2018-11-15 19:29:09 -05:00
joshvera
5c82345816 Add putDeclarationSpan to ScopeGraph 2018-11-15 19:29:01 -05:00
joshvera
6a34826abd Declare variable declarations with an empty span and update after evaluating 2018-11-15 19:28:48 -05:00
joshvera
39d874d9c6 Catch LookupDeclarationScopeError to a hole 2018-11-15 19:28:18 -05:00
joshvera
2f32fd6f2b fix empty heap test 2018-11-15 18:44:47 -05:00
Rick Winfrey
46d39a25c8 A lot of warnings. ALOT 2018-11-15 15:04:28 -08:00
Rick Winfrey
4a5c4deb38 Add StatementBlock Taggable instance 2018-11-15 15:03:37 -08:00
Rick Winfrey
97545f0ae7 Remove redundant constraints and imports 2018-11-15 14:18:36 -08:00
Rick Winfrey
e08b1100e4 Remove unnecessary (now) scopeAddress parameter
In Data.Abstract.ScopeGraph when we invoke `insertImportReference`, we make the assumption that the starting scope with respect to the currently available ScopeGraph is the `currentScope`. We then start from that scope to begin constructing a Path to the scope containing the target declaration.

Control.Abstract.ScopeGraph will need the scopeAddress parameter still, because it is going to insert a new scope into our scope graph using the scope returned from Data.Abstract.ScopeGraph (with the newly constructed path to the declaration).
2018-11-15 13:58:28 -08:00
Rick Winfrey
f7c38b0bb7 Clean up unused params 2018-11-15 13:52:14 -08:00
Rick Winfrey
a94760e99a Placeholder for handling Hole Paths 2018-11-15 13:51:57 -08:00
Rick Winfrey
66d3044951 Merge branch 'master' into heap-frames 2018-11-15 13:44:06 -08:00
joshvera
78d543c60f Return the currentScope' if pathDeclarationScope is a DPath
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 14:39:59 -05:00
joshvera
393da1897b Test position of slots
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 14:39:41 -05:00
joshvera
0cfd04905a Add Evaluatable instance for RequiredParameter
Declares the name of the param in the scope graph and assigns the Rval's associated scope to the lval's declaration and the rval's value to the lval's slot.

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:17:42 -05:00
joshvera
22e1822185 Defer declaring names in the scope graph to param
Parameter syntax evaluatable instances are now responsible for adding declarations to the scope graph.

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:16:26 -05:00
joshvera
b0d0e2706b Add putSlotDeclarationScope
so we can set the associated scope of a slot

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:15:39 -05:00
joshvera
5c861f412f Add putDeclarationScopeAtPosition
So we can set the associated scope for the declaration of a slot

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:14:58 -05:00
joshvera
fe30b926f7 EvalError types
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:14:31 -05:00
joshvera
127552dbfc parameterize EvalError by address and value
so that we can throw AssignmentRvalError within Assignment or RequiredParameter Evaluatable instances

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:14:02 -05:00
joshvera
3223c97548 Add non-lexical StatementBlock
to differentiate between syntax that creates a new lexical scope and function bodies etc.

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:13:22 -05:00
joshvera
c0be5b6da2 Remove Assignment from RequiredParameter
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 18:57:31 -05:00
joshvera
b690585a78 Add statementTerm for lexical blocks
Change statementBlock to construct non-lexical syntax blocks

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 18:57:15 -05:00
joshvera
3f4c5d961d Create a lexical edge to its parent's declaration frame when calling a closure 2018-11-14 15:15:31 -05:00
joshvera
eebae6a1fc Add pathDeclarationScope 2018-11-14 15:14:58 -05:00
joshvera
4c2716f817 Add lookupDeclarationFrame 2018-11-14 15:14:50 -05:00
joshvera
6877ef1a5e Add lookupDeclarationScope 2018-11-14 15:14:43 -05:00
Timothy Clem
7c3469b86e Get the math right! 2018-11-13 15:50:07 -08:00
joshvera
4da5b012da Construct a frame for the intermediate import scope
So we can look up declarations across heap boundaries

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 18:00:00 -05:00
joshvera
519a6db035 Implement Return
impements Return in terms of eval and earlyReturn now that eval returns a ValueRef

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 17:59:25 -05:00
joshvera
12a038869a Export Heap and Frame accessors
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 17:58:49 -05:00
joshvera
1f09735902 Add insertFrameLink
in order to add frames that are reachable from the current frame

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 17:58:37 -05:00
joshvera
0a35a5eee7 Add bindFrames to merge heap frames for now
This may not be an ideal solution but populates the current heap with enough information to traverse frames to correct slots

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 17:58:06 -05:00
Timothy Clem
630566f956 No need for extra details here, this data is already around in error responses 2018-11-13 14:36:03 -08:00
Timothy Clem
492117d796 Actually use the HTTP_TIMEOUT config var 2018-11-13 14:30:25 -08:00
joshvera
56b85b1070 Don't construct intermediate current scope in QualifedExport eval
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:09:05 -05:00
joshvera
567fe790c9 Construct an import reference from correct start scope
Construct an import reference starting from the currentAddress of the target scope graph

Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:08:42 -05:00
joshvera
4aac61ea70 Insert a list of scope if label doesn't exist in edge map of target scope
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:08:06 -05:00
joshvera
24720f9f06 Look within references when constructing paths
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:07:38 -05:00
Timothy Clem
2e1626d949 Make symbols output also return partial results 2018-11-13 11:02:23 -08:00
Timothy Clem
4fbeaef355 Attempt to send stack traces to haystack 2018-11-13 10:09:58 -08:00
joshvera
1cb513e441 bind scope graphs in side effect imports without constructing an edge
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 12:06:44 -05:00
Timothy Clem
890f6d2068 Return partial results for json diffs too 2018-11-10 09:40:39 -08:00
Timothy Clem
d33b4a5f3d Better error structure for Tocs 2018-11-10 09:40:29 -08:00
Timothy Clem
09e6046763 Be consistent with other responses 2018-11-10 09:40:19 -08:00
Timothy Clem
bc9f85fdef Catch errors for some diff outputs 2018-11-09 16:44:10 -08:00
Timothy Clem
b964324d09 Only stat errors once per path 2018-11-09 13:18:46 -08:00
Rick Winfrey
1e88378a51 Return an Rval representing the function body as a closure, instead of returning a Heap address
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:47:44 -08:00
Rick Winfrey
12d27b436c Update an existing function declaration scope
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:47:24 -08:00
Rick Winfrey
21a9e29b0c bindAll after evaluating a sideEffectImport
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:46:52 -08:00