Commit Graph

30744 Commits

Author SHA1 Message Date
Michael Bogdanov e0adfd453f Fix for KT-11677: Generic type signatures for local classes in inlined lambdas are not written properly
#KT-11677 Fixed
2016-04-04 12:07:47 +03:00
Michael Bogdanov f5166b7aef Support test directives in inline tests 2016-04-04 12:07:46 +03:00
Michael Bogdanov d319811101 Added test for obsolete KT-11631: Couldn't inline method call
#KT-11631 Obsolete
2016-04-03 14:18:13 +03:00
Ilya Gorbunov f3f1aa8a15 Change String.subSequence parameter names to match those of CharSequence.subSequence. 2016-04-01 21:39:09 +03:00
Sergey Mashkov c64b59ed82 KT-11261 Implement MavenArchetypesProvider extension point 2016-04-01 18:24:14 +03:00
Alexander Udalov f2ddc83f86 Reorder and prettify existing ChangeLog entries for 1.0.2 2016-04-01 17:46:18 +03:00
Alexander Udalov f149e2ca6e Configure Kotlin in project: list only modules with Kotlin files
This was initially done in d07d34af but reverted in 8f2dd2c8, possibly due to
incorrect rebase

 #KT-10831 Fixed
2016-04-01 14:08:32 +03:00
Svetlana Isakova 860a2741d9 Minor 2016-04-01 11:41:53 +03:00
Svetlana Isakova f1ccf6b133 Restructuring in "invoke" description 2016-04-01 11:39:59 +03:00
Dmitry Petrov 1d87595dc9 binary compat validator: update testData for changes related to new facade generation 2016-04-01 10:13:22 +03:00
Dmitry Petrov 92ddbb271a KT-11410: generate light classes from multifile class parts in binaries
if explicitly requested by fqName
2016-04-01 10:13:22 +03:00
Dmitry Petrov 4c4141ea49 KT-11410: write multifile class code generation scheme to extra field (xi) in kotlin.Metadata. 2016-04-01 10:13:22 +03:00
Dmitry Petrov d30ab50532 KT-11410: Build stdlib with new part/facade inheritance scheme. 2016-04-01 10:13:22 +03:00
Dmitry Petrov db58ebc4b2 KT-11410: Class hierarchy for parts/facade of multi-file class.
Preserve static initialization semantics for parts by introducing a special "clinit trigger" class.
Insert "static initialization trigger" call to every method of a part class, remove this call on inline.
Always mangle names for private functions in multifile class parts to avoid resolution clashes on inheritance.

NB in codegen tests initializers for all non-const vals are wrapped in 'run { ... }',
so that the initializer is not a constant expression, and some static initialization code should be generated.
2016-04-01 10:13:22 +03:00
Dmitry Petrov 0ccaf43e2c KT-11410: Add Xmultifile-parts-inherit CLI option. 2016-04-01 10:13:21 +03:00
Dmitry Petrov 095cbea125 KOTLIN_CONFIGURATION_FLAGS directive for passing compiler configuration parameters to tests.
So far, only boolean flags are supported.
2016-04-01 10:13:21 +03:00
Sergey Mashkov cb4702c406 KT-11261 Implement MavenArchetypesProvider extension point 2016-03-31 23:04:51 +02:00
Sergey Mashkov 14ca0f4aac KT-2917 maven archetype for kotlin projects 2016-03-31 23:04:50 +02:00
Ilya Gorbunov f35dc47b4e Optimize snapshot operations to return special collection implementations when result is empty or has single element.
#KT-9990 Fixed
2016-03-31 21:30:59 +03:00
Alexey Tsvetkov 0a5db2fea4 Load kotlin.incremental from local.properties file too 2016-03-31 19:40:51 +03:00
Pavel V. Talanov 781bc13941 ExceptionTracker: do not increment counter on ReenteringLazyValueComputationException
ReenteringLazyValueComputationException is in fact correct behaviour which does not indicate a problem we should try to recover from
This led to an obscure bug when resolve sessions were invalidated multiple times during light class construction (see KT-11635)
 #KT-11635 Fixed
2016-03-31 19:33:05 +03:00
Pavel V. Talanov d7dc122298 KT-11721 Wrong "Typechecker has run into recursive problem" on calling kotlin get function as synthetic property
#KT-11721 Fixed
2016-03-31 19:33:04 +03:00
Ilya Gorbunov d5d19f5595 Make Map.plus accept Map out-projected by key type as either operand (receiver or parameter).
#KT-11301 Fixed
2016-03-31 17:20:58 +03:00
Ilya Gorbunov 0332217b70 Remove implementations of intrinsic array creation functions (arrayOf, primitiveArrayOf)
#KT-11485 Fixed
2016-03-31 17:15:10 +03:00
Ilya Gorbunov 9caa17dc74 Minor: Make internal monitorEnter/monitorExit functions private to remove them from the public API
#KT-11485
2016-03-31 17:15:10 +03:00
Nikolay Krasko bbd6417d3c Add plugin-api dependency of android-extension-compiler to plugin classpath
Add it to kotlin-plugin.jar but not to kotlin-android-extensions-plugin.jar because frontend depends on the module plugin-api too.
2016-03-31 16:07:22 +03:00
Nikolay Krasko c0481ca598 Move injection to optional dependency 2016-03-31 16:07:22 +03:00
Pavel V. Talanov 7de171efda Improve message clarity for WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostics
#KT-9887 Fixed
2016-03-31 16:06:48 +03:00
Alexey Tsvetkov d6cd46e079 Build non-incrementally when input class-file is changed 2016-03-31 15:08:14 +03:00
Denis Zharkov 1511a03027 Fix SAM adapters substitution
Approximate sourceFunction types if it's needed

 #KT-11696 Fixed
2016-03-31 14:52:12 +03:00
Denis Zharkov bc1b34a989 Add additional visibility check for synthetic extensions
Use extension receiver as dispatch one, because it is effectively dispatch
(after some desugaring)
2016-03-31 14:51:57 +03:00
Denis Zharkov b5c9523e4b Minor. Adjust JS test to protected visibility changes 2016-03-31 14:51:57 +03:00
Denis Zharkov 1bc45fb9cf Adjust J2K to latest protected visibility fixes 2016-03-31 14:51:57 +03:00
Denis Zharkov 92be4aee9c Prohibit protected constructor calls that are not super-calls in subtypes
#KT-11649 Fixed
2016-03-31 14:51:57 +03:00
Denis Zharkov 816f14a927 Minor. Covariantly override ClassDescriptor.original 2016-03-31 14:51:57 +03:00
Denis Zharkov 5056c43975 Do not check receiver for protected constructor calls
Checks for protected constructors should be performed manually,
because they are rather complex
2016-03-31 14:51:57 +03:00
Denis Zharkov 5bf336474d Respect receiver-dependent visibility when selecting smart-cast type 2016-03-31 14:51:57 +03:00
Denis Zharkov d3b7eb81fa Make PositioningStrategy.mark public
Because it's used with receivers of types different from call site ones.
2016-03-31 14:51:57 +03:00
Denis Zharkov 935355ad2f Refine isVisible for protected visibility
#KT-7437 Fixed
 #KT-7971 Fixed
 #KT-7051 Fixed
 #KT-6125 Fixed
 #KT-6186 Fixed
2016-03-31 14:51:57 +03:00
Denis Zharkov 182b349492 Clarify Visibility.isVisible contract for null as receiverValue
See comment
2016-03-31 14:51:57 +03:00
Mikhail Glukhikh 60511f010a Build fix: evaluationErrors.repl 2016-03-31 14:34:56 +03:00
Svetlana Isakova 4c30bcfca0 Added separate notes for name resolution motivation
Addressed some comments on the main article
2016-03-31 13:23:55 +03:00
Mikhail Glukhikh 56ef98ee29 Refactoring: DeclarationsChecker checkClassOrObjectMembers / checkFunction 2016-03-31 12:19:15 +03:00
Mikhail Glukhikh 8c131f4790 KT-11666: Implicit nothing is allowed for overridden function / properties 2016-03-31 12:00:22 +03:00
Mikhail Glukhikh 4c03aaabd4 Implicit nothing / intersection types are now checked also for member functions #KT-11666 Fixed 2016-03-31 11:59:17 +03:00
Alexander Udalov 0ea3b4ade4 Fix multiple resource leaks by closing InputStream instances
The main fix is in BuiltInsPackageFragment, the rest is the improvement of
other usages of getResourceAsStream

 #KT-11433 Fixed
2016-03-30 21:41:43 +03:00
Alexander Udalov 8316953259 Fix double quotes in diagnostic messages
For diagnostics without any parameters, the given text is simply rendered as a
String, so no symbols should be escaped.

For diagnostics with parameters, the format in java.text.MessageFormat is used,
so one single quote is erased and two single quotes become one single quote in
the rendered text.
2016-03-30 21:41:43 +03:00
Pavel V. Talanov 484167e9d9 KtLightModifierList* is created only for light classes build for sources
This is a hacky solution to avoid calling lightMemberOrigin.originalElement inside
Moreover it needs to resolve descriptor for sources inside computeAnnotations and it is used only for kotlin sources so this will have to do for now
2016-03-30 21:35:24 +03:00
Pavel V. Talanov e19cc04c63 KT-11678 Support navigation from Java source to Kotlin binaries
Introduce LightMemberOriginForCompiledElement which holds logic for finding corresponding decompiled declaration
ByJvmSignatureIndexer stores the required information while building decompiled text

Some are unsolved in this commit:
   - constructors
   - @Jvm* and other unregular generated members
   - annotation methods

 #KT-11678 Fixed
2016-03-30 21:35:23 +03:00
Pavel V. Talanov f9fa365059 LightElements: avoid computation of LightMemberOrigin.originalElement on common api calls 2016-03-30 21:35:23 +03:00