Commit Graph

10716 Commits

Author SHA1 Message Date
Valentin Kipyatkov 176ba937ba Partial body resolve filter works more precisely for if-statements 2015-04-01 23:21:21 +03:00
Valentin Kipyatkov 7a414336c1 Do not run partial body resolve if full body resolve already cached 2015-04-01 23:21:21 +03:00
Ilya Ryzhenkov 2f02024c24 checkLValue for array indexing expression should resolve set method #KT-7218 Fixed 2015-04-01 21:02:05 +03:00
Pavel V. Talanov a986d913c3 Remove traces of class object constraints feature from parser, frontend, tests and psi 2015-04-01 20:09:34 +03:00
Pavel V. Talanov 5fe8bb4a92 Drop ClassifierDescriptor#getClassObjectType()
Introduce utility for ClassDescriptor to use where necessary
2015-04-01 20:09:32 +03:00
Natalia Ukhorskaya 907f402d30 Code fragments: getResolveScope should return scope for context element 2015-04-01 18:01:24 +03:00
Stanislav Erokhin 4efb0dbf9a Fixed CAPTURED_IN_CLOSURE marker for primary constructor argument
#KT-7131 Fixed
2015-04-01 15:28:09 +03:00
Alexey Sedunov eb594a2897 Extract Function: Approximate non-resolvable types with nearest resolvable supertype when possible
#KT-7120 Fixed
2015-04-01 13:41:26 +03:00
Alexey Sedunov a90d020859 Extraction Engine: Fix extraction of labeled and non-local returns 2015-04-01 13:41:24 +03:00
Alexey Sedunov 3bea49eedd Change Signature: Fix processing of enum constructors
#KT-7170 Fixed
2015-04-01 13:41:23 +03:00
Alexey Sedunov d65b55e147 Change Signature: Fix processing of lambda arguments 2015-04-01 13:41:22 +03:00
Svetlana Isakova 61d0bcdf76 KT-7068 None of the following functions can be called with two functions with extention function parameter
#KT-7068 Fixed
2015-04-01 11:57:15 +03:00
Nikolay Krasko ca98b19aba Wrong package light file with package class 2015-04-01 02:02:07 +03:00
Nikolay Krasko 055be2850f Fix accept() in light methods elements to avoid treating them as ClsElements 2015-04-01 02:02:01 +03:00
Nikolay Krasko 4e04d9b887 Add more toString() methods and additional wrapping for Kotlin elements 2015-04-01 02:01:55 +03:00
Nikolay Krasko ad23e9159c Refactoring: remove unnecessary subclassing PsiClass in marker interface 2015-04-01 02:01:53 +03:00
Denis Zharkov a4018d9eae Run "Add 'init' keyword in whole project" quickfix 2015-03-31 20:20:23 +03:00
Denis Zharkov 99f1ab333e Report illegal modifiers and annotations on primary constructor
#KT-7057 Fixed
 #KT-6772 Fixed
2015-03-31 20:20:22 +03:00
Denis Zharkov 8e69c06e5a Adjust stub-builder, decompiler and renderer to new PSI structure
of primary ctor
2015-03-31 20:20:22 +03:00
Denis Zharkov 741c9febe2 Modify various usages of old PSI structure of primary ctor 2015-03-31 20:20:22 +03:00
Denis Zharkov cafa018066 Parsing: Drop redundant parameter as it always has the same value 2015-03-31 20:20:22 +03:00
Denis Zharkov af2bcfb524 Parse primary constructor into separate PSI element 2015-03-31 20:20:22 +03:00
Mikhail Glukhikh 620b7954ac Tests for already working KT-3993 and KT-5427. These test cases pass at least since M11 2015-03-31 17:15:46 +03:00
Mikhail Glukhikh 9c1551bca9 Implementation of smart casts for public / protected immutable properties that are not open and used in the same module.
DataFlowValueFactory and its environment refactoring: containing declaration is added into factory functions
as an argument and used to determine identifier stability. A few minor fixes. #KT-5907 Fixed. #KT-4450 Fixed. #KT-4409 Fixed.

New tests for KT-4409, KT-4450, KT-5907 (public and protected value properties used from the same module or not,
open properties, variable properties, delegated properties, properties with non-default getter).
Public val test and KT-362 test changed accordingly.
2015-03-31 16:19:03 +03:00
Alexey Sedunov 15dddf362e Create from Usage: Secondary constructor support 2015-03-30 21:10:25 +03:00
Alexander Udalov 7742fb52e6 Minor, move builtins-serializer sources to correct package 2015-03-30 19:44:21 +03:00
Alexander Udalov 32c3bb8c7f Extract module 'deserialization' out of 'serialization'
'deserialization' stays in core because it's needed both in compiler and
reflection, but 'serialization' is used only in the compiler
2015-03-30 19:44:17 +03:00
Alexander Udalov d09e0e73fa Rename NameSerializationUtil, move serialization-related code there 2015-03-30 17:22:07 +03:00
Alexander Udalov 085bc2197b Merge module 'serialization.jvm' into 'descriptor.loader.java'
It was very small and there proved to be no point in separation of loading Java
classes and deserializing Kotlin classes
2015-03-30 17:22:06 +03:00
Alexander Udalov b57e15f3a4 Move utilities from NameSerializationUtil to meaningful places 2015-03-30 17:22:06 +03:00
Alexander Udalov 485dce987c Fix byte array memory leak from MemoryBasedClassLoader
40 Mb of bytes of preloaded compiler classes during the compilation become 16
Mb after this change

This is a slightly reworked version of 58b033d (reverted in 3f05419). The
problem in that commit was that URLClassLoader did not work in the fashion
MemoryBasedClassLoader was designed to work (child first, parent last). So some
resource was found in an incorrect jar which was causing the compiler to break
2015-03-30 17:12:10 +03:00
Alexander Udalov 45da9555de Fix minor bug in MemoryBasedClassLoader#getResources()
Own resources and those from the parent class loader were not combined
2015-03-30 17:12:10 +03:00
Pavel V. Talanov b73bd697e6 Rename JetCoreEnvironment -> KotlinCoreEnvironemnt 2015-03-30 15:11:58 +03:00
Pavel V. Talanov 5cb431c5c4 Convert JetCoreEnvironment: migrate other code 2015-03-30 15:11:57 +03:00
Pavel V. Talanov 2dcf935b99 Convert JetCoreEnvironment: clean up code 2015-03-30 15:11:57 +03:00
Pavel V. Talanov 0209acceb1 Convert JetCoreEnvironment: autoconvert 2015-03-30 15:11:56 +03:00
Pavel V. Talanov 49a0da7750 Convert JetCoreEnvironment: rename file 2015-03-30 15:11:56 +03:00
Natalia Ukhorskaya 785f7e749f InlineCodegen: find virtual file using findVirtualFileWithHeader 2015-03-30 14:03:24 +03:00
Dmitry Jemerov 1e536af87e correctly calculate the number of mask arguments required for a method with default arguments
#KT-6816 Fixed
2015-03-27 18:51:07 +01:00
Denis Zharkov 418034add3 Prohibit instance access before super call
- Before this change members just left unresolved as they were absent in the
  specific scope named scopeForSecondaryConstructorHeaderResolution that
  created just to prohibit such accesses.
- Now they are resolved the same way as other members, but diagnostic is
  repored by in-place injected CallChecker
- Drop obsolete type of class scope

 #KT-6995 Fixed
2015-03-27 20:15:00 +03:00
Denis Zharkov b939530a5c Minor, Rename isEmpty -> isImplicit 2015-03-27 16:09:42 +03:00
Denis Zharkov 18e40d034e Change contract of getDelegationCall to @NotNull
Its existence guaranteed by parser
2015-03-27 16:09:42 +03:00
Denis Zharkov 8c048c3e43 Refine recovery for constructors 2015-03-27 16:09:41 +03:00
Denis Zharkov b1de2066c7 Add quickfixes inserting explicit delegation calls
#KT-6963 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov d0c72c2c3d Mark value arguments in case of empty delegation call
It's useful for quickfixes for these diagnostics
2015-03-27 16:09:41 +03:00
Denis Zharkov 1a2167e062 Minor, always report diagnostics on callee expression
As these kinds of diagnostic always have non-empty callee expression
2015-03-27 16:09:41 +03:00
Denis Zharkov 555f9e7c06 Minor, move isEmpty, isCallToThis to JetConstructorDelegationCall 2015-03-27 16:09:41 +03:00
Denis Zharkov 023e1a13a9 Do not try to detect cycles if delegation call resolution is unsuccessful 2015-03-27 16:09:41 +03:00
Denis Zharkov 7aa2642a2b Unify reporting resolution errors for empty delegation calls
- Always report "There is no applicable constructor for call without arguments in superclass"
  under `constructor` keyword by replacing default TracingStrategy
- Remove positioning strategy used for reporting non-applicable
  for empty delegation calls

 #KT-6971 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov 683bc4709f Add test case: 'platformStatic' on constructors 2015-03-27 16:09:41 +03:00