-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add/unpickling #394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+4,847
−639
Merged
Add/unpickling #394
Changes from all commits
Commits
Show all changes
118 commits
Select commit
Hold shift + click to select a range
3f5d15d
Fix desugaring of refined types with "&"-parent.
odersky 61cb51a
Disallow refinements of types or methods that do not appear in parent.
odersky 340dc52
First prototype of pickler.
odersky 0c755d2
Allow up to 64 phases.
odersky df404e5
Make bestFit work for partially filled arrays
odersky 41922c1
Treat <root> as static
odersky 1c5f3b7
Add TASTY readers and printers for TASTy info.
odersky f9eaa3e
Avoid pickling for Java-parsed compilation units.
odersky 4f80478
Eliminate raw numbers from Tasy format
odersky 1026672
Changes to Tasty format:
odersky c28bf8d
Turn on full compression of Tasty tree buffers.
odersky ecb7582
Turn on pickling.
odersky 5ae8b12
Make pickling output printer-dependent.
odersky 0ed27cc
Fix serialization of Bind-defined types in type patterns.
odersky 85e9922
Make Definitions#rootPackage a root.
odersky b1cded3
Change scheme of translating array creations new Array(...)
odersky 32892db
Tightening of orphans tests.
odersky 93747cd
Stop type inference from creating oprphans.
odersky c078ad3
Tweaks in comments
odersky 2031d75
Weaks to format
odersky 9262d47
Add auxiliary constructor for TastyPrinter
odersky 5b63106
Make some tree fields lazy
odersky f922a46
Moved part of computation of types of DefDefs from Namer to TypeOps
odersky ed986b5
Add INSUPERCALL flag to pickle format.
odersky 30f08b0
Changes to pickling annotations
odersky 82f1ac6
Polishings on TastyReader
odersky 64beb11
Change order of fields in PickleFormat
odersky 1daa94f
Move more functionality from Namer proper to context ops.
odersky 89c00f6
Add signed ints in Tasty format.
odersky b32244b
Add UUID to Tasty
odersky 4115eda
First version of Unpickler
odersky 8fea2ef
Record pickled trees in a hashmap
odersky f16b12c
First version of position pickler.
odersky 499aeaf
Add hooks for unpickling positions to trees.
odersky 92976de
Refactor traversals to be in Edge instead of PositionPickler.
odersky 8800adb
Fix implementation of readEnd
odersky aebc626
First version of unpickler for Positions
odersky 5d09a0c
Have pkg intsead of static external references
odersky adac8f7
Save pickled bytes in compilation unit
odersky 757f3d5
Fixed bugs related to Unpickling.
odersky afeb331
Various fixes to unpickling
odersky 1b301e9
New scheme for recording positions
odersky bfa5e46
Halfway to yet another scheme for handling positions
odersky 76bf36d
Handle ParsedTry nodes in RefinedPrinter
odersky 21f042e
Avoid capturing context in lazy trees
odersky 252ed17
Bugfix: Avoid importing constructors
odersky af65672
Bugfix: Take account of asSeenFrom in matchingDenotation
odersky 9069614
Companion objects of abstract case classes are not functions.
odersky 66e9c7e
Finished new position unpickling code.
odersky c669d08
Added pickling part of new scheme.
odersky 471881d
Ensure that start position is <= end position in Parser
odersky 43a03c3
Added testing hooks for unpickler
odersky e837105
Tweaks to printing
odersky a0c2d6c
Set NoInits also for non-trait classes
odersky 60e520c
Pickle trait flag and compute PureInterface and NoInits in unpickler.
odersky 62df23e
Align PickleFormat with doc spec
odersky 42333ce
Don't suppress ambiguous implicit notes.
odersky dd5be32
Fix implicit problem in RefinedPrinter.
odersky a543ed1
Bugfixes in unpickling
odersky f2cc1a1
Run unpickler tests in next run.
odersky eabef58
Tweaks to printing
odersky 2009df2
Pass the correct context down in tree accumulators.
odersky 9adaf25
Print templates again in sugared form.
odersky 7bd12db
Avoid escaping pattern bound variables
odersky 2b4236e
Fix problems in avoid
odersky fb72eaf
Fix variance of type prefixes in TypeMap and TypeAccumulator
odersky 8f3e327
Avoiding dependent method types in closures
odersky 6801850
More careful determination of MethodType#isDependent
odersky 6dc3d62
Avoid dependent methods being closures.
odersky 6220d5c
Better tracking of unhygienic closure types
odersky b0d7380
Better tracking of unhygienic closure types
odersky 6022078
Keeping track of unpickling definition order in Pickler.
odersky fe48a0c
Change handling of roots when unpickling
odersky de11f33
Tweaks to printing
odersky 9d71cb6
Avoid annotations being dropped by stripTypeVar
odersky e926f31
Various fixes to PickleFormat, pickler and unpickler
odersky 96fbd7b
Allow several units to be pickle-tested at once.
odersky a4b2a67
Changes to Tasty format
odersky 7fd242f
More fixes to pickling
odersky 3215639
Compute PureInterface flag after pickling.
odersky cf79474
Fix TastyReader#readLongInt
odersky 3823f29
Fix tricky problem with re-establishing denotations of selftypes
odersky 35d1160
More tests
odersky 4c80f89
Tweak to printing Typevars
odersky c6bba9b
More fixes to unpickling
odersky 073449e
Systematic treatement of homogenized views in printing
odersky aa56083
Revert of interpolation decision when generating APPLIEDTYPEs
odersky 8d370d4
Deal gracefully with out-of-scope references wehn unpickling
odersky 8e57bc6
Harmonize parameterless constructors between unpickling and namer
odersky 655555e
Avoid treating setters as class parameters when pickling
odersky a4e1ba7
Don't print implicit for classes in homogenized view
odersky 52c586f
Refinements to pickling testing framework
odersky 2863af2
Avoid print-types being on by default in testing
odersky ac47d1c
Re-org of pickling framework to enter before read
odersky 1cd7d00
Add pickling tests
odersky 3bcab09
Fix to pickling literals
odersky a7a8563
Show compilation unit which failed pickling in tests.
odersky f1ffa4c
Rename inheritedName -> shadowedName
odersky 5a43cb1
Pickle shadowed names
odersky 3d987df
Fix unpickling parameter aliases
odersky 78ef6bb
Harmonize treatment of simplified between typer and unpickler
odersky d572ec0
Pickle signatures using qualified names.
odersky 53a1230
Drop choice of separator in expanded name.
odersky bb5762a
Further harmonization between typing and unpickling
odersky 31a90b4
Homogenize package ids and literals
odersky 26babc3
Homogenize printing of super calls.
odersky 90b05b4
Two more tweaks to make pickling invariant under printing
odersky 19bfc0c
Remove Throw from pickling
odersky 5962a93
Pickling test reorg
odersky 83e7b23
Simplifications to TASTy format
odersky 8c6339b
Add support of Shadowed names to TastyPrinter
odersky 79e2228
Change to PickleFormat
odersky cb86676
Drop environment from pickled closures.
odersky cc65c3a
Simplifications to pickled flags
odersky f7f10c8
Added missing patch to DefaultInit drop.
odersky 1e0856b
Tweaks to pickle format
odersky 8a99155
Bringing back fix to TreeMap.transform(ValDef) that was lost during r…
DarkDimius 0afbd6c
Fixing conflicts between #361 and #394
DarkDimius File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As some phases could want to run after
pickler
and add additional information:addrOfTree: Tree => Option[Addr]
for them to correlate with already pickled infoThis will also allow to make PositionPickler a separate phase.
@odersky If you agree, I'll do this in a separate PR