Commit Graph

3889 Commits

Author SHA1 Message Date
Dmitry Jemerov f374eec8f1 deprecating types after colon 2015-04-29 16:33:24 +02:00
Alexander Udalov c860f54461 Rewrite codegen tests which check time in deterministic way
Delete one useless test

 #KT-7621 Fixed
2015-04-29 15:28:10 +03:00
Dmitry Jemerov 98b8784ab0 drop deprecated syntax for anonymous initializer blocks 2015-04-29 14:07:04 +02:00
Ilya Ryzhenkov 35e82d4574 Propagate annotations when performing substitution on constructors #KT-7608 Fixed
Tests for deprecated warning on generic constructor.
2015-04-29 14:53:40 +03:00
Denis Zharkov fc5236244b Deprecate java.lang.Class as annotation parameter 2015-04-29 14:03:11 +03:00
Denis Zharkov 507eefcaa5 Implement new parsing rules for labels
See changes in expressions.grm
2015-04-29 14:03:10 +03:00
Alexander Udalov 0d76634f6b Support SKIP_TXT directive in diagnostic tests
Don't render the whole 'kotlin' package in some tests, because test data will
change every time something is updated in built-ins
2015-04-29 01:36:20 +03:00
Alexander Udalov 43ac20e88a Move builtins dependency to the top in compiler-tests
When running tests locally, serialized built-ins located in dist/builtins
should have a higher priority than the ones in the bootstrap runtime, on which
almost every module depends by default. Also make it a 'runtime' dependency
because the binary files there can't really change anything at compile time
2015-04-29 01:36:20 +03:00
Alexander Udalov d7c810a4d0 Copy only nullability/mutability annotations to types
Also don't render copied annotations
2015-04-29 01:09:35 +03:00
Alexander Udalov 24bad39e76 Don't use external annotations in compiler
External annotations will be re-enabled in the IDE later.

This fixes LazyJavaAnnotations which was breaking the contract of Annotations:
findAnnotation(FqName) was looking for external annotations, while iterator()
did not. This resulted in some inconsistencies in the compiler and IDE tests.

The other way, i.e. making iterator() look up external annotations, would have
been too costly for the compiler and with no clear benefit at the moment.
2015-04-29 01:03:57 +03:00
Alexander Udalov 0732b78853 Serialize/deserialize annotations on types 2015-04-29 01:03:55 +03:00
Mikhail Glukhikh fd789cb68e Correct behaviour for break / continue inside function call arguments, including multiple ones. Additional tests. 2015-04-28 17:37:53 +03:00
Pavel V. Talanov 3702089396 Minor: Do not throw on getContainingDeclaration() in test
Fix build
2015-04-28 16:45:44 +03:00
Mikhail Glukhikh 8f2a3e9d5f Fixed DFA for the last assignment / initialization in block. A relevant test. #KT-7599 Fixed. 2015-04-28 15:16:39 +03:00
Mikhail Glukhikh 60fdfb8441 Bug fix: DataFlowInfo.getCompleteTypeInfo (with a test) 2015-04-28 15:16:36 +03:00
Pavel V. Talanov ac2cb9af74 Remove some usages of KotlinBuiltIns.getInstance()
Introduce DeclarationDescriptor.builtIns extension to get builtins where descriptors are available
Introduce various utilities in KotlinBuiltIns to check for primitive types and get fq names of builtins
2015-04-28 12:49:34 +03:00
Dmitry Jemerov 683d727c72 drop deprecated syntax for class objects 2015-04-27 15:14:33 +02:00
Pavel V. Talanov 1a5efacbf3 Refactor frontend components
Make dependencies more explicit
Move components out of ExpressionTypingServices
Make ExpressionTypingUtils a true utility class, refactor stuff out
Extract new components: FakeCallResolver, MultiDeclarationResolver, ValueParameterResolver
2015-04-27 15:56:59 +03:00
Svetlana Isakova 4f0d541493 Resolve function references independently of target type
KT-7564 AbstractDiagnosticsTest.checkAllResolvedCallsAreCompleted() fails on tests with function references
 #KT-7564 Fixed
2015-04-27 13:32:47 +03:00
Michael Bogdanov 39fabda611 New diagnostic for Java default method call via super in trait 2015-04-24 18:54:09 +03:00
Michael Bogdanov 0854c601b4 Fix non local returns to functional expressions 2015-04-24 18:54:09 +03:00
Ilya Ryzhenkov bcb0b499f4 Workaround to allow QualifiedExpressionResolver to be created without an Injector. Should be fixed by code owner. 2015-04-24 15:44:44 +03:00
Ilya Ryzhenkov 288e1baa87 Tests, messages and infra for deprecated symbol reporting 2015-04-24 15:44:32 +03:00
Ilya Ryzhenkov c2b3bcc95f SymbolUsageValidator infrastructure 2015-04-24 15:44:28 +03:00
Alexander Udalov d2cd7b00bb Map intrinsic companion objects in JavaToKotlinClassMap
Get rid of multiple usages of IntrinsicObjects where JavaToKotlinClassMap was
already used, simplify code, and support loading of *CompanionObject as Kotlin
built-in companions from Java code.

Also fix a small bug where Boolean was considered a class with an intrinsic
companion in IntrinsicObjects, although it was not
2015-04-24 02:09:26 +03:00
Alexander Udalov 34fa61675d Replace more eager asserts in project with lazy 2015-04-24 02:08:22 +03:00
Alexander Udalov 07c2442405 Make $default methods non-private, avoid generating accessors for them
#KT-5786 Fixed
2015-04-23 22:09:02 +03:00
Michael Bogdanov 53b8a1d56e Fix for KT-7544: Backend fails when inlining nested calls with reified type parameter and default value parameter
#KT-7544 Fixed
2015-04-23 15:41:59 +03:00
Denis Zharkov 1b42e2fdcc Deprecate calls of annotations' methods 2015-04-23 08:27:43 +03:00
Denis Zharkov 29bf24b7d3 Use properties of Java annotations in codegen tests
Retain obsolete versions until support for methods in Java annotations is dropped
2015-04-23 08:27:42 +03:00
Zalim Bashorov 02071c5bdd Minor: move function expression tests to separate directory 2015-04-22 12:48:21 +03:00
Alexey Sedunov d815634233 Control-Flow: Assign pseudo-values to local functions (except those
declared directly in the block)
2015-04-21 17:10:46 +03:00
Alexey Sedunov 5b1906fb13 Control-Flow: Add tests for pseudo-values of labeled expressions 2015-04-21 17:10:45 +03:00
Mikhail Glukhikh 27625b04e1 Refactoring of JetTypeInfo / BindingContext. Loop data flow analysis corrected.
Now BindingContext includes expression type info instead of jump out possible, data flow info and expression type.
getType() was added into BindingContext, getType() and recordType() were added into BindingTrace.
JetTypeInfo now includes also jump possible flag and jump point data flow info.
Old TypeInfoWithJumpInfo deleted.
TypeInfoFactory introduced to create JetTypeInfo instances.
A pack of extra tests for break / continue in loops added.
2015-04-21 15:29:07 +03:00
Dmitry Jemerov 14b92404cd add test for private-to-this visibility in traits 2015-04-21 14:13:30 +02:00
Denis Zharkov 5b9aff12d0 Drop throws usages that looks redundant
Probably appeared after j2k-conversion
2015-04-21 08:08:31 +03:00
Michael Nedzelsky d0616ed8bd fix KT-7512 JS: project with external library lead to deadlock and IDEA freeze due to wrong storage manager configured
#KT-7512 Fixed
2015-04-20 21:02:01 +03:00
Alexander Udalov 3d928a0842 Refactor deserialization initialization in built-ins and JS
BuiltinsPackageFragment was only designed to work with a single instance alive.
Because of this, it was creating deserialization subsystem upon initialization.
This was not working perfectly in JS where it was used, because multiple
storage managers, class caches and other components were created for each
package, leading to different concurrency errors and performance hits. Also in
the near future another package fragment will be needed to represent the
built-in package "kotlin.reflect"
2015-04-20 19:09:35 +03:00
Michael Bogdanov 115c4b78c0 Added sam test on java8 interface with default method 2015-04-18 14:45:16 +03:00
Michael Bogdanov 5c18cfebd1 Support several java file compiling 2015-04-18 14:45:15 +03:00
Denis Zharkov f53baebf89 Show warning on usages of javaClass<T>() in annotations loaded from Java 2015-04-17 18:50:37 +03:00
Denis Zharkov 482b4e3688 Minor, split and clean tests
Tests that are using javaClass supposed to be deleted soon
while other ones just check that annotation loaded correctly
and shold use class literals
2015-04-17 17:40:41 +03:00
Michael Bogdanov 48aef1eb28 Fix for KT-6895: Compile error on Android (EXCEPTION FROM SIMULATION) when declaring locals in an inline function
#KT-6895 Fixed
2015-04-17 14:24:35 +03:00
Michael Bogdanov 0080ebd386 Fix for KT-7273: Bad local variable type when using non-local return
#KT-7273 Fixed
2015-04-17 14:24:34 +03:00
Svetlana Isakova d40fd440b0 KT-7433 Type inference pushes Unit inside generic function with lower bound constraint
#KT-7433 Fixed
 #KT-7351 Fixed
2015-04-16 21:02:42 +03:00
Mikhail Glukhikh 109e0abb6d Review fixes for mutable variable smart casting (mostly refactoring).
DataFlowValue.isPredictable() introduced instead of isStableIdentifier().
Parenthesized assignments are treated correctly.
2015-04-16 20:11:03 +03:00
Mikhail Glukhikh e97e792674 Review fixes for smart casts in / out loops.
LoopTypeInfo became TypeInfoWithJumpInfo rewritten in Kotlin.
Fixed a bug with break inside Elvis inside a loop, a pack of related tests added.
isTrueConstant moved to JetPsiUtil.
2015-04-16 20:11:01 +03:00
Mikhail Glukhikh d5aed62410 Smart casts for local variables not captured in a closure and not changed in a loop, see #KT-3175.
isLocalVariable added. Assignment / initialization analysis.
Control whether a variable is changed in a loop at the beginning and at the end of the loop.
Control whether a variable is captured in a closure. #KT-3175  Fixed. #KT-2266  Fixed.
Tests for variable null safety and for variables is/as operations.
Loop / closure / variable property tests are included.
Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
2015-04-16 20:10:58 +03:00
Pavel V. Talanov 818a6b5c2e Fix various tests and test data
Since we now distinguish between binaries and java source roots
2015-04-16 16:40:37 +03:00
Pavel V. Talanov d76f293dc9 Speed up finding kotlin binaries and java files in CLI
Change VirtualFileFinder api to accept ClassId and adjust usages
Introduce KotlinCoreProjectEnvironment to create special KotlinCliJavaFileManager which shares cache with CliVirtualFileFinder
Truly distinguish between java source roots and binary roots: don't search for source files in classpath and vica versa
Implement JvmDependenciesIndex
2015-04-16 16:40:28 +03:00