Commit Graph

11501 Commits

Author SHA1 Message Date
Alexey Sedunov 3266d8c29a Parser: Disable joining complex tokens while parsing type references
#KT-8141 Fixed
2015-06-19 21:45:13 +03:00
Mikhail Glukhikh 065db07e1c More accurate check on an enum entry deprecated super constructor #EA-69735 Fixed 2015-06-19 13:50:49 +03:00
Yan Zhulanow fee1726dfb Write annotations with RetensionPolicy(SOURCE) to light classes 2015-06-19 02:25:41 +03:00
dnpetrov 36ae8790a1 KT-8011 Compiler crashes on attempt to create local class inside lambda
- use StackValue from upper-level context if local lookup fails

 #KT-8011 Fixed
2015-06-18 17:40:24 +03:00
Nikolay Krasko 818bfce1f1 Minor: add method for printing thread name 2015-06-18 16:45:23 +03:00
Nikolay Krasko 6d7cc8bc02 Minor: Don't print end message if profiler was muted 2015-06-18 16:45:22 +03:00
dnpetrov 046189087a KT-5963 Call to super shouldn't require type specification if there is no conflict
Implemented unqualified 'super' type resolution (in BasicExpressionTypingVisitor).

No overload resolution of any kind is involved.
Corresponding supertype is determined by the expected member name only:
- 'super.foo(...)' - function or property (of possibly callable type) 'foo'
- 'super.x' - property 'x'
Supertype should provide a non-abstract implementation of such member.
As a fall-back solution for diagnostics purposes, consider supertypes with abstract implementation of such member.

Diagnostics:
- AMBIGUOUS_SUPER on 'super', if multiple possible supertypes are available;
- ABSTRACT_SUPER_CALL on selector expression, if the only available implementation is abstract.

#KT-5963 Fixed
2015-06-18 14:16:34 +03:00
Dmitry Jemerov e852b2d748 fix tests, sorry 2015-06-17 18:18:24 +02:00
Alexander Udalov 1a3209e1dc Drop traits with required classes
#KT-4771 Rejected
2015-06-17 16:23:58 +03:00
Alexander Udalov 8207e08c61 Convert TraitImplBodyCodegen to Kotlin 2015-06-17 16:23:57 +03:00
Alexander Udalov 98ce0d529c Fix incorrect 'original' in property accessors
#KT-3930 Fixed
2015-06-17 16:23:56 +03:00
Alexander Udalov 7c846388bd Remove some unreachable/duplicated code in StackValue 2015-06-17 16:23:56 +03:00
Alexander Udalov 4dcc373a5a Fix concrete method inheritance in interfaces
For each non-abstract non-declared (i.e. inherited from supertypes) method in
an interface we generate its static form to the TImpl, which calls the TImpl
method from the corresponding supertype.

The accidental override tests changed because we're now trying to generate the
delegate for the super method, not knowing that it will clash with the declared
method

 #KT-2888 Fixed
 #KT-5393 Fixed
2015-06-17 16:23:56 +03:00
Alexander Udalov f81c364999 Add test cases for obsolete issues
#KT-3407 Obsolete
 #KT-4753 Obsolete
2015-06-17 16:23:55 +03:00
Dmitry Jemerov 5eb4a47a1a command line flag to repeat compilation multiple times 2015-06-17 14:55:12 +02:00
Dmitry Jemerov ab33e4935e restore perf output in command line; always remove it from output in tests 2015-06-17 14:53:09 +02:00
dnpetrov a2b2eba1a1 Extended version of AbstractWriteSignatureTest:
- support multiple expectations in file
- support field signature expectations
- report failures in a more usable format
2015-06-17 13:45:08 +03:00
Mikhail Glukhikh 707307b19c Fix for a cyclic generic upper bound for a class type parameter. A pair of tests. 2015-06-17 11:56:28 +03:00
Alexey Sedunov 62f9672461 Rename: Fix field identifier replacement #KT-8018 Fixed 2015-06-16 21:15:40 +03:00
Alexey Sedunov dda271d38d Delete/Move: Delete entire file when deleting top-level class or object and no other top-level declarations are present. Ask the user confirmation if deletion if caused by the Move refactoring
#KT-8033 Fixed
2015-06-16 21:15:38 +03:00
Alexey Sedunov f08c7d0fd8 Call Resolver: Fix nullability of parenthesized safe calls used as value arguments
#KT-7903 Fixed
2015-06-16 21:15:29 +03:00
Dmitry Jemerov a0aba04338 rebase ate my changes 2015-06-16 18:11:19 +02:00
Dmitry Jemerov ed7cc67f19 thread-safe usage of performance counters list
#KT-8046 Fixed
2015-06-16 16:45:51 +02:00
dnpetrov c369949d90 KT-6136 VerifyError on data class inheriting from trait
- coerce property values to proper data class component types
- add tests
 #KT-6136 Fixed
2015-06-16 09:58:03 +03:00
Valentin Kipyatkov c8f9b466b6 More correct comparison with CANT_INFER_FUNCTION_PARAM_TYPE 2015-06-15 18:32:44 +03:00
Valentin Kipyatkov efdfa4b247 Minor changes after review 2015-06-15 18:27:25 +03:00
Valentin Kipyatkov 1dbd342938 Minor 2015-06-15 18:27:25 +03:00
Valentin Kipyatkov 95baf9b884 Minor 2015-06-15 18:27:25 +03:00
Valentin Kipyatkov 2248abd93a Inlined method 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov b20179af9f WritableScope: got rid of mutability of implicit receiver 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov 32bfd53101 Renames 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov 9139a8f060 WritableScope: removed addLabeledDeclarations 2015-06-15 18:27:24 +03:00
Valentin Kipyatkov 89c2aca3a8 Memory optimization 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov b301b22f47 KT-4822 Wrong scope is used for local variable name completion
#KT-4822 Fixed
2015-06-15 18:27:23 +03:00
Valentin Kipyatkov 14ddc9d972 Memory optimization 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov f38267e21d One more simplification 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov 99001f0fe2 More correct and simple 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov 2ab86192c3 One more simplification 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov 060aeb60e1 Minor optimization 2015-06-15 18:27:23 +03:00
Valentin Kipyatkov db0f212b3e More code simplifications 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov 472841de16 Inlined method 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov f88d603f5c Removed unused code in WritableScopeImpl 2015-06-15 18:27:22 +03:00
Valentin Kipyatkov 483da9607c KT-4893 Code completion should not show multiple functions with the same signature
#KT-4893 Fixed
2015-06-15 18:27:21 +03:00
Alexander Udalov 3a6ba67602 Delete unused diagnostic about j.l.Class in annotations 2015-06-15 15:55:23 +03:00
Alexander Udalov 9637c049fe CLI: update KOTLIN_HOME lookup process in Bash script
The original code was taken from the 'scalac' script, where it has evolved
since and now is a lot easier to understand
2015-06-15 15:43:31 +03:00
Alexander Udalov 2f1316ec9c CLI: don't pass -D and -J options to Kotlin
Kotlin compiler's CLI argument parser currently fails on these options, so
there was no convenient way to use them
2015-06-15 15:42:43 +03:00
Alexander Udalov cdd53de9a7 CLI: get rid of duplication in JVM/JS scripts 2015-06-15 15:42:42 +03:00
Alexander Udalov 5ec4576844 CLI: add color to compiler output via jansi
Disabled on Windows temporarily, because for some reason colors there work only
in REPL
2015-06-15 15:42:42 +03:00
Alexander Udalov 00566bcfb0 Move MessageRenderer to module 'cli'
It will use jline soon, which is not available in 'cli-common'
2015-06-15 15:42:42 +03:00
Alexander Udalov 54dfd626ab CLI: improve diagnostic message format
- render the whole line where the error/warning points to, if any, and another
  line with '^', like other compilers do
- lowercase diagnostic severity
- decapitalize the message if it doesn't start with a proper name
2015-06-15 15:42:41 +03:00