| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Implement inline
|
| |
| |
| |
| |
| | |
To be done: outer accessors
To be done: error positions
|
|/
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
Also, some code movements in Names to make it more obvious that mutating operations
are only called from synchronized blocks.
|
|
|
|
|
|
|
| |
Add @sharable annotation for classes and vals that are presumed
to be safely sharable between threads.
Also: Document CtxLazy.
|
|
|
|
| |
Lines already start at 0, so columns should, too.
|
|
|
|
|
| |
This used to give a crash in SourcePositiom, promoted by feeding
its calculations with a negative offset.
|
| |
|
|
|
|
| |
Create an object Util for utility methods that are used in several places.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Now survives NoPosition.
|
|
|
|
| |
Also Implemented ConsoleReporter formatting.
|
|
|
|
| |
Also some simplifications and eliminations of unused code.
|
|
Moving Positions, Chars to new packages.
Added Source positions.
Added untyped trees module.
Factored out behavior between typed and untyped trees.
|