Commit Graph

26469 Commits

Author SHA1 Message Date
Yan Zhulanow 7e8674c6ee Fix resolve (members/extensions with 'infix' has higher priority) 2015-10-07 15:49:50 +03:00
Yan Zhulanow d28ecc2316 Mark builtins and stdlib functions with 'infix' 2015-10-07 15:49:29 +03:00
Yan Zhulanow 1238e93b9f Diagnostics on 'infix' (declaration&use site) 2015-10-07 15:49:28 +03:00
Mikhail Glukhikh fff434d377 data + open / inner / abstract / sealed are now forbidden 2015-10-07 15:13:14 +03:00
Mikhail Glukhikh 3725ef8cdf Open / data forbidden code fix (eval4j) 2015-10-07 15:13:11 +03:00
Mikhail Glukhikh b79c1435a3 Open / data forbidden: SMAP fixes 2015-10-07 15:13:09 +03:00
Svetlana Isakova efb23be367 Open / data forbidden: ConstraintPosition fix 2015-10-07 14:41:42 +03:00
Mikhail Glukhikh 7331eec817 override is forbidden inside annotations 2015-10-07 11:57:41 +03:00
Mikhail Glukhikh c07f0e9602 private / internal / protected are forbidden in annotations 2015-10-07 11:57:39 +03:00
Mikhail Glukhikh cba6870f52 protected & internal are now forbidden in interfaces 2015-10-07 11:57:14 +03:00
Mikhail Glukhikh 5f43628f1b Abstract data is forbidden: Idea module infos fixed 2015-10-07 11:57:02 +03:00
Mikhail Glukhikh 67755d7dca Protected / final are deprecated in interfaces: scopes and call translator 2015-10-07 11:49:45 +03:00
Mikhail Glukhikh 49a420e3f9 Build fixed (deprecated protected in interface) 2015-10-07 11:48:37 +03:00
Mikhail Glukhikh 846d7cac69 protected is deprecated inside objects and forbidden inside annotations and enum entries 2015-10-07 10:21:11 +03:00
Mikhail Glukhikh 407d46baad Protected in object deprecated: overriders search fix 2015-10-07 10:17:47 +03:00
Mikhail Glukhikh c77d0b9cce No protected inside object: performance counter fixed 2015-10-07 10:17:44 +03:00
Mikhail Glukhikh 06cd19dd0d Open / data forbidden: AnalysisResult fix 2015-10-07 10:17:41 +03:00
Mikhail Glukhikh 5e6c9f1979 Internal is deprecated in interfaces: reflection fix 2015-10-07 10:17:38 +03:00
Mikhail Glukhikh 434a318439 Typo fixed 2015-10-07 10:17:35 +03:00
Denis Zharkov 6a1566a6dc Make JVM backend work with Collection.size as val
0. Such properties are called special because their accessor JVM name differs from usual one
1. When making call to such property, always choose special name
2. When generating Kotlin class inheriting such property generate `final bridge int size() { return this.getSize(); }`
3. If there is no `size` declaration in current class generate `bridge int getSize() { // super-call }`
2015-10-07 08:46:35 +03:00
Denis Zharkov 252c82abe3 Generate bridges for FAKE_OVERRIDE properties
The same way it's done for function, just call generateBridges for accessors

 #KT-9442 Fixed
2015-10-07 08:46:34 +03:00
Denis Zharkov c21d827326 Adjust various testData to size transformation 2015-10-07 08:46:34 +03:00
Denis Zharkov a0e9754edc Adjust js collections to size transformation 2015-10-07 08:46:33 +03:00
Denis Zharkov e52e6cf869 Temporary make SmartSet less smart
SmartSet is compiled both with bootstrap and new compiler, so it can't
implement both old and new Set interfaces (with 'size' as function and as property).

This commit should be reverted after bootstraping
2015-10-07 08:46:33 +03:00
Denis Zharkov 61416b3d14 Adjust stdlib to size transformation 2015-10-07 08:46:27 +03:00
Denis Zharkov 7b432e4830 Introduce size() extensions for migrational purposes 2015-10-06 23:56:17 +03:00
Denis Zharkov 547aa2cda6 Load special java methods as properites
Currently only those that override special builtin properties (e.g. `Collection.size`)
Their modality is defined by method's modality
2015-10-06 23:56:17 +03:00
Denis Zharkov a02b64f0e3 Setup overridability rules for properties built on Java fields
- They overrides each other
- They do not overrides Kotlin propeties and vice versa
2015-10-06 23:56:17 +03:00
Denis Zharkov dfe93406d9 Minor. Inline parameter 2015-10-06 23:56:17 +03:00
Denis Zharkov 27b231cd7d Minor. Do not record method within resolveMethodToFunctionDescriptor 2015-10-06 23:56:17 +03:00
Denis Zharkov 9d087ce5bd Convert size() functions in builtins to properties
Just like it will work itself out :)
2015-10-06 23:56:17 +03:00
Nikolay Krasko a4d029dab2 Rename ant tasks for continuous builds: unify suffixes with correspondent branches 2015-10-06 20:51:43 +03:00
Ilya Gorbunov 0851728454 Deprecate mapNotNull to change its behavior later.
#KT-4410
2015-10-06 18:32:06 +03:00
Ilya Gorbunov d7da8b7bd3 J2K: Special conversion for java.lang.String methods.
#KT-7732
2015-10-06 18:24:24 +03:00
Dmitry Jemerov 4b92bd100c add space between property type parameter list and property name 2015-10-06 16:20:48 +02:00
Dmitry Jemerov 1fdf08bec5 quickfix to migrate function type parameter lists to new syntax 2015-10-06 16:20:48 +02:00
Dmitry Jemerov 7c20630272 diagnostics for deprecated syntax of function type parameter list 2015-10-06 16:20:47 +02:00
Dmitry Jemerov c5d3673b6b change the ID of the language from "jet" to "kotlin"; rename JetLanguage to KotlinLanguage 2015-10-06 16:14:07 +02:00
Dmitry Jemerov 870b640008 "add operator modifier" fix handles fake overrides
#KT-9347 Fixed
2015-10-06 16:12:09 +02:00
Dmitry Jemerov 8fd9d181de add @suppress to the list of known KDoc tags
#KT-9415 Fixed
2015-10-06 16:12:08 +02:00
Dmitry Jemerov 2884a1c6ea handle semicolons in "introduce backing property"
#KT-9417 Fixed
2015-10-06 16:12:08 +02:00
Pavel V. Talanov 3ed04aea8a Imports from objects: Do not create new instances on getOriginal every time
Also fixes a problem where DeclarationLookupObjectImpl didn't have stable hashCode
2015-10-06 16:31:23 +03:00
Pavel V. Talanov 508b401603 Codegen: fix callable reference to member imported from object 2015-10-06 16:31:22 +03:00
Pavel V. Talanov 37d5c4b223 Allow to import members from object by name
Wrap object members so they do not require dispatch receiver
Hack jvm backend to make it work
2015-10-06 16:31:21 +03:00
Pavel V. Talanov 507293e1ff QualifiedExpressionResolver, minor: extract a couple of functions 2015-10-06 16:31:20 +03:00
Nikolay Krasko ca2c78e629 Refactoring: remove warnings about javaClass() call 2015-10-06 14:00:23 +03:00
Nikolay Krasko 05cf67049c Allow roots before parent setup and disallow after teardown 2015-10-06 14:00:20 +03:00
Nikolay Krasko d999000705 Minor: fix warning about annotation absence 2015-10-06 14:00:18 +03:00
Dmitry Petrov 4a3f53b322 Revert fbf2424838:
postpone "transparent semantics for spread operator"
until Java-related design issues are resolved (java.utils.Arrays#asList).
2015-10-06 13:48:59 +03:00
Dmitry Petrov fbf2424838 Spread should always copy arrays. 2015-10-06 10:07:12 +03:00