aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add -Ycheck-reentrant to dotty test.Martin Odersky2015-07-061-1/+1
|
* Mark gloabl entry point @unsharedMartin Odersky2015-07-061-1/+1
| | | | | The resident compiler is not supposed to be called from multiple threads; mark as unshared to avoid spurious re-entrancy errors.
* Turn global vars into valsMartin Odersky2015-07-063-3/+3
| | | | Some globally accessible vars were never updated; should be vals.
* Remove unused global rootsMartin Odersky2015-07-061-2/+0
| | | | Some global roots were pointing to shared mutable state but were never used.
* Add @sharable annotationMartin Odersky2015-07-0618-43/+59
| | | | | | | Add @sharable annotation for classes and vals that are presumed to be safely sharable between threads. Also: Document CtxLazy.
* Add reentrancy checkingMartin Odersky2015-07-065-1/+104
| | | | | | | | | | New miniphase CheckRentrant verifies that compiled program is without vars accessible through global roots if -Ycheck-reentrant option is set. Known shortcoming: Array elements are currently not considered as vars. This is because in many programs arrays are used as an efficient container for immutable fields.
* Merge pull request #694 from dotty-staging/fix/dependent-methodsodersky2015-07-066-17/+74
|\ | | | | Fix/dependent methods
| * CleanupsMartin Odersky2015-06-251-4/+4
| |
| * Add test from pending.Martin Odersky2015-06-251-0/+0
| |
| * Sharpen prototypes of implicit methods.Martin Odersky2015-06-252-1/+42
| | | | | | | | | | | | | | Necessary to make implicit resolution of type-level peano numbers work. The current commit makes takes the inimal steps to make this happen. We could also consider sharpening using followAlias every type we constrain a result, or every time we adapt a type.
| * setNewTyperState -> setExploreTyperState when computing shadoing implicitsMartin Odersky2015-06-242-2/+7
| | | | | | | | Nothing will be committed here, so setExplore... is the right method to pick.
| * Drop redundant adapt.Martin Odersky2015-06-241-1/+1
| | | | | | | | The term in a SearchSuccess has already been adapted to the expected type.
| * Handle normalization of implicit dependent methods.Martin Odersky2015-06-232-11/+21
| | | | | | | | Now handles included test if toplevel implicit is given, but not yet without.
| * Avoid follow-on errors after implicit argument errors.Martin Odersky2015-06-233-3/+4
| | | | | | | | Previously, we could die with a <notype> when an implicit argument was not found.
* | Merge pull request #715 from dotty-staging/repeated-arraysDmitry Petrashko2015-07-053-3/+12
|\ \ | | | | | | Fixes to generic arrays in backend.
| * | Arrays.newRefArray has multiple symbols that coexist during bootstrap.Dmitry Petrashko2015-07-053-3/+12
| | | | | | | | | | | | More magic is needed, as enumerating array symbols does not work in backend.
* | | Merge pull request #712 from smarter/add/vc-testDmitry Petrashko2015-07-052-0/+17
|\ \ \ | | | | | | | | Tests that objects nested in value class methods work
| * | | Tests that objects nested in value class methods workGuillaume Martres2015-07-042-0/+17
|/ / / | | | | | | | | | This confirms that SI-6359 does not apply to Dotty.
* | | Merge pull request #695 from dotty-staging/fix/source-positionsDmitry Petrashko2015-07-028-11/+27
|\ \ \ | | | | | | | | Avoid crasher when first token of a program is in error
| * | | Updated check file.Martin Odersky2015-06-251-3/+3
| | | | | | | | | | | | | | | | Seems partest adds code to the sources so that line numbers are not the same.
| * | | Update check file.Martin Odersky2015-06-251-3/+3
| | | | | | | | | | | | | | | | Line numbers were wrong in previous file.
| * | | Document that lines and columns start at 0.Martin Odersky2015-06-252-1/+5
| | | | | | | | | | | | | | | | And adjust for it in DottyBackendInterface
| * | | Make columns start at 0.Martin Odersky2015-06-252-5/+9
| | | | | | | | | | | | | | | | Lines already start at 0, so columns should, too.
| * | | Avoid crasher when first token of a program is in errorMartin Odersky2015-06-254-2/+10
| | |/ | |/| | | | | | | | | | This used to give a crash in SourcePositiom, promoted by feeding its calculations with a negative offset.
* | | Merge pull request #710 from dotty-staging/fix/#705-inner-value-classDmitry Petrashko2015-07-026-8/+58
|\ \ \ | | | | | | | | Value class related checks
| * | | Check value class member restrictionsMartin Odersky2015-07-024-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to SIP 15 a value class C must obey the following restrictions: C may not have secondary constructors. C may not declare fields (other than the parameter of a value class). C may not contain object definitions. C may not have initialization statements. These are enforced by this commit. We are still missing restrictions on value class paremeters. We should review what the right set of conditions is (probably we want to admit non-vals, and maybe even multiple parameters).
| * | | Check that value classes are staticMartin Odersky2015-07-023-4/+23
| | | |
| * | | Make value classes implicitly finalMartin Odersky2015-07-021-0/+2
| | | |
| * | | Check final and sealed conditionsMartin Odersky2015-07-022-3/+14
|/ / / | | | | | | | | | | | | So far no error was raised for illegal inheritance from final or sealed classes.
* | | Merge pull request #707 from dotty-staging/fix-printlnDmitry Petrashko2015-07-013-4/+4
|\ \ \ | | | | | | | | Fix println
| * | | Fix #704, make reporters print messagesDmitry Petrashko2015-07-011-1/+1
| | | | | | | | | | | | | | | | Previously was swallowed in `isHidden` inside `report`
| * | | Make Reporter.doReport publicDmitry Petrashko2015-07-013-3/+3
| | | | | | | | | | | | | | | | As reporter.report could actually not report dues to mode flag, we need a way to enforce printing.
* | | | Merge pull request #700 from dotty-staging/fix/#689-lifted-modulesDmitry Petrashko2015-07-013-1/+12
|\ \ \ \ | |/ / / |/| | | Drop Module flag from lifted symbols.
| * | | Drop Module flag from lifted symbols.Martin Odersky2015-06-263-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason: A lifted module is no longer a module (i.e. singleton object) in the scope to which it is lifted. Fixes #689.
* | | | Merge pull request #699 from dotty-staging/fix/trait-constructorsDmitry Petrashko2015-07-0111-52/+19
|\ \ \ \ | | | | | | | | | | Fix trait constructors
| * | | | Add commentMartin Odersky2015-06-271-1/+1
| | | | |
| * | | | Drop TraitConstructors phaseMartin Odersky2015-06-2710-47/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It did not do enough to carry its own weight, in particular because DenotationTransformers do have a price - every encountered denotation in the whole program is passed through them. The name change from <init> to $init$ was all it did, that is now rolled into Mixin. Also renamed IMPLCLASS_CONSTRUCTOR to TRAIT_CONSTRUCTOR.
| * | | | Drop redundant importMartin Odersky2015-06-261-1/+1
| | | | |
| * | | | Fix trait constructorsMartin Odersky2015-06-261-6/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | Trait constructors added a this to the constructor of a trait, which is useless because the constructor's type is unit. By contrast, it's good to rename the DefDef to the new name.
* | | | Merge pull request #662 from dotty-staging/add/resident-compilerodersky2015-06-2910-72/+104
|\ \ \ \ | | | | | | | | | | Add/resident compiler
| * | | | Fix rebase breakage around reporters.Martin Odersky2015-06-292-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Reporters are part of the context which is passed into a compiler run. Passing them as a separate option is an unnecessary complication.
| * | | | New main file for resident compiler mode.Martin Odersky2015-06-291-0/+55
| | | | |
| * | | | Make reporter ised in Compiler configurableMartin Odersky2015-06-291-5/+7
| | | | | | | | | | | | | | | | | | | | Not needed right now, but will be useful later.
| * | | | Refactor DriverMartin Odersky2015-06-292-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Make parts more reusable - Introduce hook "sourcesRequired" that controls whether no sources on the command line give a help message.
| * | | | Remove -resident settingMartin Odersky2015-06-293-43/+9
| | | | |
| * | | | Fix doc commentMartin Odersky2015-06-291-1/+2
|/ / / /
* | | | Merge pull request #697 from dotty-staging/fix/erasure-thistypes-vcsodersky2015-06-268-36/+40
|\| | | | | | | | | | | Fix erasure of this types and refactor value class erasure
| * | | Restored full testMartin Odersky2015-06-261-5/+5
| | | | | | | | | | | | | | | | Uncommented parts that were left accidentally commented out when debugging.
| * | | Get rid of semiEraseVCs boolean parametersMartin Odersky2015-06-263-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | Replace by the pair of methods erasure/valueErasure. The boolean parameter is still kept, but only as a confuration parameter of the erasure objects.
| * | | Disable checkConstraintClosed by defaultMartin Odersky2015-06-263-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking that constraints are closed caused cyclic reference exceptions in DottyBackedInterface. What's worrying is that these were seemingly not checked by the checkin tests. Or maybe there is some dependcy on compilation order that triggers the erros only in my setup.