Commit Graph

15140 Commits

Author SHA1 Message Date
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
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 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
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
Mikhail Glukhikh 0cf61b1b5b Cleanup: simplify for 2016-05-18 17:46:13 +03:00
Mikhail Glukhikh a4ad995f31 Overridden functions using default arguments in recursive call are no more considered tail recursive #KT-4285 Fixed 2016-05-17 14:29:01 +03:00
Mikhail Glukhikh f35fd32a25 Exhaustive when with 'Unit' result now also generates an exception in else branch #KT-12192 Fixed 2016-05-17 14:28:57 +03:00
Stanislav Erokhin f376c418dc Fix SOE related exact annotation and completion 2016-05-16 18:32:16 +03:00
Denis Zharkov 9dc47d9a11 Move java/util/List.sort to MutableList 2016-05-16 15:38:13 +03:00
Denis Zharkov d0acb3674a Fix rendered testData
New members in enum member scope
2016-05-16 15:38:13 +03:00
Denis Zharkov e90c92f8d3 Separate additional built-in members from JDK into three groups
- White list: can be used as common built-in declaration
- Black list: can be used only for overrides and super-calls-
- Not considered members: ones that is not in black or white list.
Such members can be used in any context, but they usages marked as deprecated

Third kind is needed to make possible use declarations added in future JDK versions.
Deprecation is necessary because they may get into black list in next Kotlin compiler version
2016-05-16 15:38:13 +03:00
Denis Zharkov ef940ab0df Add new 'HiddenInResolution' kind
It's used to hide additional built-ins members loaded from JDK
Such methods can be overridden and called only with 'super'-receiver
2016-05-16 15:38:13 +03:00
Denis Zharkov 1501a042e9 Add possibility to add annotations when building FunctionDescriptor copy
It's being used in next commits to add Deprecated annotation
to unknown additional built-ins members
2016-05-16 15:38:13 +03:00
Alexey Sedunov edb3fd8f00 Spring Support: Replace light elements bound to line markers with their originals
#KT-12091 Fixed
2016-05-16 02:52:22 +03:00
Valentin Kipyatkov f6c8ac70fc Moved method getSmartCastVariantsWithLessSpecificExcluded() into IDE 2016-05-14 12:19:41 +03:00
Valentin Kipyatkov b6c54ac314 Minor code improvements after conversion 2016-05-14 12:19:41 +03:00
Valentin Kipyatkov 83714ae9c9 Conversion to Kotlin (step 2) 2016-05-14 12:19:41 +03:00
Valentin Kipyatkov ccd7ae901c Conversion to Kotlin (step 1) 2016-05-14 12:19:40 +03:00
Mikhail Glukhikh 182ade19e9 'Long' type is now stored for 'Long' literal #KT-12267 Fixed 2016-05-13 19:51:30 +03:00
Mikhael Bogdanov 48c8678281 Extracted logic of obtaining delegated local variable metadata 2016-05-13 19:11:24 +03:00
Mikhael Bogdanov c06b51c1d1 Allow top-level local delegated properties in scripts 2016-05-13 19:11:23 +03:00
Mikhael Bogdanov 6ece2b41d6 Box inline test for local delegated property 2016-05-13 19:11:23 +03:00
Mikhael Bogdanov 5e933b7acd localVariableReferences.kt moved from reflection.jvm to runtime.jvm 2016-05-13 19:11:22 +03:00
Mikhael Bogdanov ec632c37ab Support increment and '+=' on local delegated properties 2016-05-13 19:11:21 +03:00
Mikhael Bogdanov 6ae511b253 LocalVariableDescriptor.withAccessors renamed to isDelegated, added getter 2016-05-13 19:11:20 +03:00
Dotlin 4c223845b6 Delegated Properties: Code generation for local properties (JVM) 2016-05-13 19:11:19 +03:00
Dotlin fa523b9af4 Delegated Properties: Analysis adjustments for local delegated properties support 2016-05-13 19:11:18 +03:00
Mikhail Glukhikh e31806e2b5 Code cleanup: redundant modality (minor) 2016-05-13 17:57:12 +03:00
Mikhail Glukhikh 1301d9047d Code cleanup: redundant visibility (minor) 2016-05-13 17:57:08 +03:00
Mikhail Glukhikh 733f3e8025 Code cleanup: type parameters can have in / out variance 2016-05-13 17:57:02 +03:00
phx402@gmail.com 75e9e35669 Fixed incorrect "No cast needed" warning when casting from extension function to regular one and vise versa
#KT-11780 Fixed
2016-05-13 13:40:14 +03:00
Nikolay Krasko 52cd7109c7 Use left bound element types to tight empty delegation contructor call to declaration
CONSTRUCTOR_DELEGATION_CALL and CONSTRUCTOR_DELEGATION_REFERENCE types were modified.
2016-05-12 17:25:19 +03:00
Nikolay Krasko 1a1c10251a Make code fragments files non-physical with event system disabled (KT-12232)
Fix "File copy should be non-physical and non-event-system-enabled! Language=Language:
kotlin; file=JetFile: fragment.kt of class org.jetbrains.kotlin.psi.KtExpressionCodeFragment" assert.

Inspired by Java fragment files

 #KT-12232 Fixed
2016-05-12 17:24:54 +03:00
Nikolay Krasko 9c2ceca4b8 Revert "Additional simple test for variable initialize in secondary constructor"
This reverts commit 147f170f80.
2016-05-12 17:22:16 +03:00
Nikolay Krasko f015a27fd0 Revert "Make code fragments files non-physical with event system disabled"
This reverts commit d02b89a7a0.
2016-05-12 17:21:21 +03:00
Nikolay Krasko 147f170f80 Additional simple test for variable initialize in secondary constructor 2016-05-12 17:13:24 +03:00
Nikolay Krasko d02b89a7a0 Make code fragments files non-physical with event system disabled
As a side effect it will disable write checks for fragments files

This allows completion work without write action.
Inspired by Java fragment files
2016-05-12 17:13:24 +03:00
Alexey Sedunov df46a8c67a Spring Support: Implement bean references in @Qualifier annotations
#KT-12092 Fixed
2016-05-12 13:03:04 +03:00
Alexey Tsvetkov 6f3ea01084 Refactoring: rename ClassBuilderMode entry LIGHT_CLASSES_WITH_METADATA->KAPT 2016-05-11 20:41:48 +03:00