Commit Graph

31711 Commits

Author SHA1 Message Date
Alexander Udalov ca7e4496c7 Refactor and improve class literal type checking code
Infer something sensible instead of error types when an error is reported, such
as absence of a type argument for Array or presence of type arguments for other
types
2016-05-20 14:53:07 +03:00
Alexander Udalov 1b79770121 Do not produce trailing space when rendering root package header 2016-05-20 14:53:07 +03:00
Dmitry Petrov dd12c018ca KT-8990: private member can't be overridden, even if it is visible in the current context 2016-05-20 14:32:48 +03:00
Dmitry Petrov 15c47ead97 (minor) KT-11588 Type aliases: fix conflicts after rebase. 2016-05-20 14:17:26 +03:00
Dmitry Petrov a2ec580119 KT-11588 Type aliases
Type alias stubs indexing (required for index-based declaration providers)
2016-05-20 14:17:26 +03:00
Dmitry Petrov 8bf87a9a4f KT-11588 Type aliases
Proper abbreviated type for '<type-alias>?'
2016-05-20 14:17:26 +03:00
Dmitry Petrov 440e02016b KT-11588 Type aliases
Fix diagnostic tests (renamed diagnostic message)
2016-05-20 14:17:25 +03:00
Dmitry Petrov 32f61c3918 KT-11588 Type aliases
Deserialization
2016-05-20 14:17:25 +03:00
Dmitry Petrov f296b17861 KT-11588 Type aliases
Additional test(s)
2016-05-20 14:17:25 +03:00
Dmitry Petrov 75e08ace17 KT-11588 Type aliases
Make type alias expansion PSI-independent
2016-05-20 14:17:25 +03:00
Dmitry Petrov 65293008fd KT-11588 Type aliases
Type alias descriptor serialization
Types with type aliases serialization
2016-05-20 14:17:24 +03:00
Dmitry Petrov 59472927cd KT-11588 Type aliases
Light class generation: do not fail on type aliases
TODO: actual binary representation for type aliases
2016-05-20 14:17:24 +03:00
Dmitry Petrov a4406687f1 KT-11588 Type aliases
Resolution & expansion for type aliases.
NB: Nested type aliases capturing type parameters of outer classes are not supported yet.
2016-05-20 14:17:24 +03:00
Dmitry Petrov ec94893189 KT-11588 Type aliases
Parse type aliases as top-level, member, and local declarations.
2016-05-20 14:17:24 +03:00
Mikhail Glukhikh ceb4aa7ac0 Cleanup: simplify for 2016-05-20 13:38:46 +03:00
Mikhail Glukhikh ebd57fafd7 Cleanup: val can be parameter 2016-05-20 13:38:42 +03:00
Dmitry Petrov b86fb64008 KT-12358: fake override of a method of 'Any' in an interface is not an "implementation". 2016-05-20 13:02:29 +03:00
Stanislav Erokhin 74bddcfb70 Refactoring. Convert Annotated to kotlin. 2016-05-20 09:32:55 +03:00
Stanislav Erokhin 450ea78b1d Refactoring. Convert KotlinType to kotlin. 2016-05-20 09:32:54 +03:00
Stanislav Erokhin 8c2d68fff0 Refactoring. Move specificity relations into TypeSpecificityComparator component. 2016-05-20 09:32:53 +03:00
Stanislav Erokhin 921eb8402c Transform OverloadUtil into OverloadChecker component. 2016-05-20 09:32:53 +03:00
Stanislav Erokhin c4778bfe5a Fixed type checking recursive problem.
#KT-11995 Fixed
2016-05-20 09:26:56 +03:00
Alexander Udalov 1c8272d3f1 Simplify data class function generation and signature lookup code
- change prerequisites for generating equals/hashCode/toString in a data class:
  previously they were generated if the corresponding method is trivial (i.e.
  it comes from kotlin.Any), now we're generating it always unless it'll cause
  a JVM signature clash error (see KT-6206)
- use static KotlinBuiltIns.isXxx methods to compare types instead of checking
  against descriptors loaded from certain built-ins instance, this is quicker
  and more correct in environments where several built-ins are possible
- don't use isOrOverridesSynthesized, it's not relevant for
  equals/hashCode/toString because functions with these names are never
  synthesized

 #KT-6206 Fixed
2016-05-20 00:54:19 +03:00
Alexander Udalov 2200bfcc85 Simplify ImplementationBodyCodegen#generateToArray
- don't do anything for interfaces because there's no point in generating
  abstract methods which are already abstract in supertypes
- don't use getDeclaredFunctionByRawSignature, check function signature
  manually instead
- don't use isOrOverridesSynthesized because 'toArray' is never synthesized
2016-05-20 00:54:18 +03:00
Alexander Udalov b208995d73 Render different class kinds differently in bytecode listing test 2016-05-20 00:36:56 +03:00
Alexander Udalov c1c2651988 J2K backend-common classes: convert
Also merge CodegenUtilKt into CodegenUtil
2016-05-20 00:36:56 +03:00
Alexander Udalov 27ed0dd25f J2K backend-common classes: rename .java -> .kt 2016-05-20 00:36:56 +03:00
Ilya Gorbunov bf2576e25c Change snapshot version in gradle configurator and AddKotlinLib quick fixes. 2016-05-19 18:10:57 +03:00
Denis Zharkov 4cbd2fbe62 Compute cached-value under common storage manager
Before this commit it was calculated under separate lock, so it could turn into dead-lock

 #KT-12396 Fixed
2016-05-19 17:55:38 +03:00
Dmitry Petrov a25ba5baf1 KT-12156: for the purposes of inline-related diagnostics
treat function declaration as final if it is a member of a final class
2016-05-19 17:43:29 +03:00
Stanislav Erokhin 7332032bb6 Support sealed class inheritors in the same file
#KT-11573 Fixed
2016-05-19 16:22:40 +03:00
Alexey Sedunov 26be254fbe Spring Support: Show autowiring candidates line markers for @Autowired-annotated constructors and constructor parameters
#KT-12120 Fixed
2016-05-19 13:56:12 +03:00
Alexey Sedunov 2bd03fe9b0 Spring Support: Fixed bean references in factory method calls
#KT-12384 Fixed
2016-05-19 13:56:11 +03:00
Alexey Sedunov 417995b569 Spring Support: Fixed "Spring Facet Code Configuration (Kotlin)" inspection description
#KT-12143 Fixed
2016-05-19 13:56:10 +03:00
Alexey Sedunov 53b08a1d33 Spring Support: Report object declarations in "Final Kotlin class or function with Spring annotation" inspection
#KT-12148 Fixed
2016-05-19 13:56:09 +03:00
Alexey Sedunov aaa42e872a Spring Support: Fixed "Autowired members defined in invalid Spring bean (Kotlin)" inspection description
#KT-12363 Fixed
2016-05-19 13:56:07 +03:00
Alexey Sedunov 85d07e5f6d Spring Support: Implement Spring @Autowired inspection
#KT-12278 Fixed
 #KT-12147 Fixed
 #KT-12366 Fixed
 #KT-12122 Fixed
2016-05-19 13:56:06 +03:00
Alexey Sedunov 36f3d30250 Refactoring: Extract registerWithElementsUnwrapped() function 2016-05-19 13:56:04 +03:00
Alexey Andreev cb36b61f7f KT-12254 Prevent JsEmptyExpression from getting into initializer JS when compiling code like val x = throw Exception() 2016-05-19 11:41:50 +03:00
Alexey Andreev 4387c31939 KT-8005 Add test to prove the issue is no more reproducible 2016-05-19 11:37:02 +03:00
Alexey Andreev 3cd7dcdb26 KT-8299 Make proper access to private fields in generated methods of data classes 2016-05-19 11:32:22 +03:00
Ilya Gorbunov fda9797dc4 Do not deploy anymore kotlin maven plugin tests and build common test utilities to maven central 2016-05-19 05:31:18 +03:00
Ilya Gorbunov bdf80ec747 Sanitize escape sequences when verifying maven output 2016-05-19 05:31:15 +03:00
Ilya Gorbunov 7f5b586e3f Specify kotlin snapshot version in maven plugin integration tests only once. 2016-05-19 05:31:08 +03:00
Mikhail Glukhikh f81192d48f Simplify for: take into account two or more possible local variables for the same loop parameter property 2016-05-18 19:56:19 +03:00
Mikhail Glukhikh 9108ab1923 Simplify for: take into account local property mutability 2016-05-18 19:56:14 +03:00
Mikhail Glukhikh d0fd3dea67 Simplify for: take into account loop parameter nullability 2016-05-18 19:56:10 +03:00
Mikhail Glukhikh a56248a11a Simplify for now works even if no variables are declared inside loop #KT-12145 Fixed 2016-05-18 19:56:06 +03:00
Denis Zharkov 46ac26147b Annotate with @UnsafeVariance relevant types in built-ins 2016-05-18 19:21:38 +03:00
Denis Zharkov 279ff0b561 Extract variance check algorithm into 'core' module 2016-05-18 19:21:38 +03:00