Commit Graph

10707 Commits

Author SHA1 Message Date
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
Denis Zharkov ce3bf423ad Prohibit 'native' annotation on constructors
Currently doesn't work for primary ones

 #KT-7000 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov 29b03e8175 Report illegal modifiers on secondary constructors 2015-03-27 16:09:41 +03:00
Denis Zharkov 66023e6f31 Prohibit platformName on secondary constructor
#KT-6999 Fixed
2015-03-27 16:09:41 +03:00
Denis Zharkov 8aa4e9bd94 Report error for inappropriate modifiers usages 2015-03-27 16:09:40 +03:00
Denis Zharkov 01e5ee718f Allow secondary constructors without body
#KT-6967 Fixed
2015-03-27 16:09:40 +03:00
Alexander Udalov 3f0541924f Revert "Fix byte array memory leak from MemoryBasedClassLoader"
This reverts commit 58b033d9fb.
2015-03-27 15:28:52 +03:00
Alexey Sedunov 4ec1b9971f Parser: Do not produce JetQualifiedExpression without receiver
#KT-7122 Fixed
2015-03-26 23:11:50 +03:00
Stanislav Erokhin daa437b535 Fix JetTreeVisitor for file case 2015-03-26 22:08:46 +03:00
Alexander Udalov 58b033d9fb Fix byte array memory leak from MemoryBasedClassLoader
40 Mb of bytes of preloaded compiler classes during the compilation become 16
Mb after this change
2015-03-26 21:42:05 +03:00