aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/util/SourceFile.scala
Commit message (Collapse)AuthorAgeFilesLines
* Handle multiline messages in ConsoleReporterFelix Mulder2016-10-101-1/+1
|
* Merge pull request #1492 from dotty-staging/add-inlineGuillaume Martres2016-10-061-0/+1
|\ | | | | Implement inline
| * First version of inline schemeMartin Odersky2016-10-021-0/+1
| | | | | | | | | | To be done: outer accessors To be done: error positions
* | honor -encoding compiler flag and defaultsMartijn Hoekstra2016-09-071-3/+4
|/ | | | | | | | | rename test/pos/valueclasses to pos_valueclasses tests/pos/valueclasses generates a valueclasses.flags file in /tests/partest-generated/pos that conflicts with the valueClasses.flags file that tests/neg/valueClasses.scala tries to create
* Add a `dotty-interfaces` packageGuillaume Martres2016-02-281-1/+7
| | | | | | | | | | | | | | | | | | | | | | We introduce a new entry point for the compiler in `dotty.tools.dotc.Driver`: ``` def process(args: Array[String], simple: interfaces.SimpleReporter, callback: interfaces.CompilerCallback): interfaces.ReporterResult ``` Except for `args` which is just an array, the argument types and return type of this method are Java interfaces defined in a new package called `dotty-interfaces` which has a stable ABI. This means that you can programmatically run a compiler with a custom reporter and callbacks without having to recompile it against every version of dotty: you only need to have `dotty-interfaces` present at compile-time and call the `process` method using Java reflection. See `test/test/InterfaceEntryPointTest.scala` for a concrete example. This design is based on discussions with the IntelliJ IDEA Scala plugin team. Thanks to Nikolay Tropin for the discussions and his PR proposal (see #1011).
* Small API changes in preparation for dotty-interfacesGuillaume Martres2016-02-251-2/+2
| | | | | | | - Rename Diagnostic#msg to message, this is nicer for a public API - Rename SourceFile#lineContents and SourcePosition#lineContents to lineContent, the former is not grammatically correct. - Add some convenience methods to SourcePosition.
* More @sharable annotationsMartin Odersky2015-07-061-1/+1
| | | | | Also, some code movements in Names to make it more obvious that mutating operations are only called from synchronized blocks.
* Add @sharable annotationMartin Odersky2015-07-061-1/+1
| | | | | | | Add @sharable annotation for classes and vals that are presumed to be safely sharable between threads. Also: Document CtxLazy.
* Make columns start at 0.Martin Odersky2015-06-251-4/+8
| | | | Lines already start at 0, so columns should, too.
* Avoid crasher when first token of a program is in errorMartin Odersky2015-06-251-1/+4
| | | | | This used to give a crash in SourcePositiom, promoted by feeding its calculations with a negative offset.
* Make bestFit work for partially filled arraysMartin Odersky2015-03-181-1/+1
|
* Make line search logic in SourcePositions generally available.Martin Odersky2015-02-071-6/+1
| | | | Create an object Util for utility methods that are used in several places.
* New subtype constraint maintenance algorithm.Martin Odersky2014-01-071-0/+2
| | | | | | | | | | Objective: Avoid cycles by detecting all cases where A <: B and B <: A and removing those cases by unifuing A and B. Cycles need to be avoided because they lead to deep subtype recursions.
* Made sourcePos more robustMartin Odersky2013-09-301-1/+2
| | | | Now survives NoPosition.
* Refactored and augmented source positions.Martin Odersky2013-05-101-0/+21
| | | | Also Implemented ConsoleReporter formatting.
* Improvements in error handling of parserMartin Odersky2013-05-081-0/+2
| | | | Also some simplifications and eliminations of unused code.
* Scanners added.Martin Odersky2013-04-171-0/+109
Moving Positions, Chars to new packages. Added Source positions. Added untyped trees module. Factored out behavior between typed and untyped trees.