Commit Graph

10599 Commits

Author SHA1 Message Date
Alexander Udalov a4f9fe1eaa Filter out invisible fakes in KClass.properties
A user will rarely need those at the moment, and there's currently no other way
to let him filter out them by himself
2015-03-17 23:39:13 +03:00
Alexander Udalov d3abd54b06 Add 'val KClass.declaredProperties', make getProperties a property 2015-03-17 23:39:13 +03:00
Denis Zharkov 36665fe3b8 Change logic of constructor delegation call resolution
- If class has type arguments (A<T1,..>) then
  resolve it's delegation call to `this` as for expression A<T1, ..>()
  like type arguments are explicitly specified.

- Same logic works for `super` delegation calls.

- It could be just enough to substitute all candidates before resolve
  but diagnostic messages looks more correct when substitution is
  performed within CandidateResolver.performResolutionForCandidateCall
  because it works the same way as when resolving A<T1, ..>().

 #KT-6992 Fixed
 #KT-6993 Fixed
 #KT-6994 Fixed
2015-03-17 23:18:35 +03:00
Denis Zharkov 52ba8333dc Refactor delegation call resolution
- Move resolution logic from BodyResolver to CallResolver
- Call resolveConstructorDelegationCall explicitly without resolveFunctionCall
- Drop dead condition and unused method
2015-03-17 23:18:35 +03:00
Denis Zharkov 9cecd69a9e Drop unneeded condition that leads to error
This check is obsolete but leads to problems.

It appears when resolving recursive calls (see sameTypeParameterUse.kt):

`foo<R>(x: R, y: R)` within call `foo<R>(x, "")` after substitution
has R as type of it's second argument, and when checking value arguments,
x is not checked because supposed to be dependent on type parameter of candidate
(that is effectively false), so there are two successful candidates
in resolution results and wrong OVERLOAD_RESOLUTION_AMBIGUITY error.
2015-03-17 23:18:34 +03:00
Denis Zharkov 682f8a3110 Use original constructor descriptor when searching cycles 2015-03-17 23:18:34 +03:00
Denis Zharkov 6c46606f2b Fix constructors redeclaration message
#KT-6966 Fixed
2015-03-17 23:18:34 +03:00
Denis Zharkov 9e5192e0e3 Prohibit val/vars/modifiers on secondary constructor parameter
#KT-6962 Fixed
2015-03-17 23:18:33 +03:00
Pavel V. Talanov dfa8fbcb0d default -> companion: Replace missed default in error message 2015-03-17 18:26:59 +03:00
Pavel V. Talanov a50b218c6a default -> companion: Replace some missed usages of "isDefault" 2015-03-17 17:10:53 +03:00
Pavel V. Talanov 94937a39be Increase ABI and stub versions 2015-03-17 15:52:41 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Pavel V. Talanov 2a6facaef6 default -> companion: default object -> class object in project code, builtins and libs code 2015-03-17 15:46:48 +03:00
Zalim Bashorov 5e782dd547 Switch to the new(right) API for register extension points and extensions. 2015-03-17 14:11:00 +03:00
Michael Bogdanov 11ce50f0d6 Tests for obsolete KT-6434: android compile error: local variable type mismatch
#KT-6434 Obsolete
2015-03-17 11:39:28 +03:00
Alexander Udalov 094fa2f92b Report error on using reflection without kotlin-reflect.jar in classpath
Should be a warning because strictly speaking, the codegen doesn't need it
during the compilation. It's an error at the moment only to let all clients of
Kotlin reflection know that they must include kotlin-reflect.jar in the
classpath
2015-03-16 20:40:49 +03:00
Nikolay Krasko 8c5109d819 Generate descriptor for trait constructor. Exception is thrown otherwise...
EA-38416, EA-65189, EA-60850
2015-03-16 20:16:25 +03:00
Michael Bogdanov 7d743f56ce Rollback default object to class one 2015-03-16 18:52:05 +03:00
Michael Bogdanov 90651e4b28 Do nothing if there is no smap data on anonymous object transfromation during fun inline 2015-03-16 18:52:05 +03:00
Michael Bogdanov 0999cd99e3 Inline iterator test 2015-03-16 18:52:05 +03:00
Michael Bogdanov 596c5b8d41 Remove lineNumber assertion: it performed in getOrCreateSourceMapper 2015-03-16 18:52:04 +03:00
Michael Bogdanov ac8e98572e Clean code 2015-03-16 18:52:04 +03:00
Michael Bogdanov 3a5b55fc61 Mute some tests 2015-03-16 18:52:04 +03:00
Michael Bogdanov 5c6b9b1bc6 New smap test 2015-03-16 18:52:04 +03:00
Michael Bogdanov 57cf4ac6c0 New test framework 2015-03-16 18:52:04 +03:00
Michael Bogdanov 7f788f86fe Return short name in test LightVirtualFile.getName() 2015-03-16 18:52:04 +03:00
Michael Bogdanov 50c9c93f37 Generate additional NOP in inline call to keep linenumbers 2015-03-16 18:52:03 +03:00
Michael Bogdanov bc2261ea3b Added message for assertion 2015-03-16 18:52:02 +03:00
Michael Bogdanov ea2f9e91e9 Test fix - update and review required 2015-03-16 18:52:01 +03:00
Michael Bogdanov d5f19eaee4 Fix InsStream 2015-03-16 18:52:01 +03:00
Michael Bogdanov a4117360a2 Smap refactorings 2015-03-16 18:52:01 +03:00
Michael Bogdanov 52999afc4a FqName to ClassId 2015-03-16 18:52:00 +03:00
Michael Bogdanov a7183f6e53 Source mapping generation on code compilation 2015-03-16 18:52:00 +03:00
Michael Bogdanov 99aa57b432 Visit debug info for compiled inline functions 2015-03-16 18:52:00 +03:00
Michael Bogdanov 41e4b1ce9b Set proper call element 2015-03-16 18:52:00 +03:00
Yan Zhulanow b0125a3626 Fix compiler plugin cli tests with colons in .args on Windows 2015-03-16 17:32:17 +03:00
Natalia Ukhorskaya 7955504089 Android tests: remove filesWithStdlib because name of folder can be used for this 2015-03-16 14:45:50 +03:00
Evgeny Gerashchenko 5a262b976e Fixed overridden/implemented line markers in abstract classes. 2015-03-16 14:11:42 +03:00
Evgeny Gerashchenko 510974e07c Supported renaming default objects with default names. 2015-03-16 14:11:41 +03:00
Evgeny Gerashchenko ccd1701f78 Supported renaming of default object. Named only objects are supported
yet.
2015-03-16 14:11:39 +03:00
Alexey Sedunov 9cb42944d1 Extraction Engine: Generate function/property accessor with expression body (whenever applicable)
#KT-6405 Fixed
2015-03-13 23:16:57 +03:00
Pavel V. Talanov c0a031eafe Support secondary constructors in decompiled text
Build cls stubs for secondary constructors
2015-03-13 20:17:32 +03:00
Pavel V. Talanov fd718ad366 JetConstructorDelegationCall should not be stubbed 2015-03-13 20:17:07 +03:00
Pavel V. Talanov 188ada2089 Minor: extract ClassDescriptor.secondaryConstructors extension property 2015-03-13 20:17:01 +03:00
Yan Zhulanow df2d2dc21a Fix formatting in PluginCliParser 2015-03-13 15:46:44 +03:00
Yan Zhulanow f564734be2 Override loadClass with two arguments in MemoryBasedClassLoader 2015-03-13 15:46:43 +03:00
Yan Zhulanow 7b39cf4998 Support cache cleanup in android-compiler-plugin 2015-03-13 15:46:43 +03:00
Yan Zhulanow 93ce3bc2ad Pass GenerationState to generateClassSyntheticParts as it's more useful 2015-03-13 15:46:42 +03:00
Yan Zhulanow d5e4775bcd Show plugin usage on invalid arguments 2015-03-13 15:46:37 +03:00
Yan Zhulanow 7d31b56ef6 Android plugin cli arguments test 2015-03-13 15:46:37 +03:00