Commit Graph

5107 Commits

Author SHA1 Message Date
Ilya Ryzhenkov 1fc1c025e9 Fix EA-67177: exception when analysing unfinished assignment expression without RHS. 2015-04-02 18:59:57 +03:00
Pavel V. Talanov cb7617b3ca Refactor CompilerConfiguration: keys -> Content roots
Represent classpath roots and java source roots as separate entities
2015-04-02 16:13:06 +03:00
Valentin Kipyatkov 784b4a8aeb Minor code changes after code review 2015-04-02 10:17:00 +03:00
Valentin Kipyatkov 6a2cc66eb1 Got rid of isProbablyNothing in stubs + fixed exception on some files on indexing stubs 2015-04-02 10:10:31 +03:00
Valentin Kipyatkov bff2b2f378 Fixed tests for stubs 2015-04-02 10:09:25 +03:00
Valentin Kipyatkov 5ba5618718 Extension callables index and its use in completion 2015-04-02 10:09:25 +03:00
Valentin Kipyatkov 3ff13ccf5d Converting ElementResolver to Kotlin (step 2) 2015-04-01 23:21:23 +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
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 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 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
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 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
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
Pavel V. Talanov f3191a39a5 Do not store instances of Application in strong static references
Introduce ExtensionProvider which takes care of caching application using weak reference
Fixes a memory leak for scenarios with application being substituted (Jps build does that when compiling multiple modules)
2015-03-26 21:09:11 +03:00
Pavel V. Talanov ed218c473a Get rid of 'class object' usages in code and builtins
Replace some comments and library usages as well
2015-03-25 18:28:00 +03:00
Alexey Sedunov 1ed2c82008 Quick-Fixes: Approximate non-denotable type with nearest denotable supertype
#KT-5915 Fixed
2015-03-24 16:41:01 +03:00
Alexey Sedunov f5107be315 Quick-Fixes: Support "Change function return type" quick-fix for non-local returns
#KT-6910 Fixed
2015-03-24 16:40:57 +03:00
Alexander Udalov 9a041136f2 Make ClassId's relative class name FqName instead of FqNameUnsafe
It was FqNameUnsafe in times when there were classes without identifier names,
specifically class objects with names like '<class-object-for-...>'
2015-03-23 16:30:25 +03:00
Alexander Udalov 3335752462 Do not report "no reflection" inspection where reflection is not used
#KT-7059 Fixed
2015-03-23 15:54:33 +03:00
Zalim Bashorov aaa7f6d5e4 JS frontend: added diagnostic about non-toplevel classifiers are unsupported yet. 2015-03-20 21:23:31 +03:00