Denis Zharkov
6ecfa6e985
Refine subtyping check: pay attention to corresponding supertype nullability
...
F: Any, T : F? => !isSubtype(T, Any)
It helps to identify upper bounds violation like in KT-7455
#KT-7455 Fixed
#KT-2924 Fixed
#KT-3015 Fixed
2015-08-28 18:50:25 +03:00
Denis Zharkov
a906be6dd7
Prohibit using null as a value of generic type
...
#KT-7350 Fixed
#KT-7736 Fixed
#KT-7485 Fixed
2015-08-28 18:50:25 +03:00
Stanislav Erokhin
2a0159f23b
Created JetScope.memberScopeAsFileScope()
2015-08-27 12:01:11 +03:00
Stanislav Erokhin
9a435e332f
Fix InnerClassesScopeWrapper - remove properties and functions from this scope.
2015-08-27 12:01:07 +03:00
Alexander Udalov
56e12787a8
Fix exception on overridding var-property with a val constructor parameter
...
#KT-3810 Fixed
2015-08-27 10:23:49 +03:00
Alexander Udalov
8d9618348d
Move .java and .kotlin extension properties to kotlin.jvm
...
Delete the old ones in package kotlin.reflect.jvm because otherwise the code
using those functions will become red in a lot less meaningful way (overload
resolution ambiguity) than if they're deleted (unresolved import)
Based on the work originally done by @dnpetrov
#KT-8380 Fixed
2015-08-27 08:19:50 +03:00
Stanislav Erokhin
abb18b7bb9
KT-8861 Package name vs property with wrong receiver
...
#KT-8861 Fixed
2015-08-25 20:43:52 +03:00
Dmitry Jemerov
4743a69d76
rename platformName annotation to jvmName
2015-08-25 15:40:46 +02:00
Dmitry Jemerov
341f09afd3
rename platformStatic to jvmStatic
2015-08-21 16:59:05 +02:00
Stanislav Erokhin
2ee8f1c454
Change outer scope for nested class and object -- removed implicit outer class receiver.
...
#KT-5362 Fixed
#KT-8814 Fixed
2015-08-18 21:26:42 +03:00
Evgeny Gerashchenko
50dbf080f7
Test for KT-2082 Missing 'Unused expression' warning
...
#KT-2082 obsolete
2015-08-15 12:29:41 +02:00
Ilya Ryzhenkov
a717afd9db
Fix NPE in checkLValue when selector is absent. Add test for incomplete syntax.
2015-08-12 17:08:16 +03:00
Dmitry Petrov
b59bf6227f
unqualified super: should be able to invoke methods of Any without extra hassle
...
when Any is an implicit immediate superclass
2015-08-12 12:14:14 +03:00
Valentin Kipyatkov
e3bca3010c
Fixed infinite recursion
2015-08-11 13:21:57 +03:00
Valentin Kipyatkov
7f42c8b482
No report of wrong class literal for unresolved
2015-08-11 13:21:57 +03:00
Valentin Kipyatkov
ceae7eda39
Fixed test data
2015-08-11 13:21:56 +03:00
Mikhail Glukhikh
3f14e74b08
Drop old enum syntax. Comma / semicolon are now a syntactic part of enum entry.
...
Comma must present now between enum entries, semicolon between last entry & first member, constructor calls must be without colons / specifiers.
A swarm of tests fixed accordingly.
2015-08-11 10:38:10 +03:00
Denis Zharkov
cb7518c3ee
Minor. Drop irrelevant field from testData
2015-08-06 08:18:18 +03:00
Denis Zharkov
41d4af2cb9
Implement rendering of raw types
...
Also add some clarification in spec
2015-08-06 08:18:18 +03:00
Denis Zharkov
51668b4cc3
Do not substitute arguments while replacing them
...
It prevents from creating complicated types
2015-08-06 08:18:18 +03:00
Mikhail Glukhikh
5b31560808
x?.y is now nullable even if y is Unit + three tests + codegen test fix + source code fix #KT-7936 Fixed #KT-8347 Fixed
2015-08-05 12:26:01 +03:00
Mikhail Glukhikh
45cc3c025f
Mapping of JavaDoc deprecated to Kotlin Deprecated + a pair of tests
2015-08-05 12:25:39 +03:00
Valentin Kipyatkov
7d02b45558
Fixed test data
2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
4c0404ea82
Changes on code review
2015-08-04 18:05:57 +03:00
Valentin Kipyatkov
c3064e2b0f
Synthetic extensions for non-public get/set java methods
2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
d5f95cf126
Correct visibility for non-public SAM-adapters
2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
cb9ef9e1f0
Fixed nullability for return and parameter types in SAM-adapters
2015-08-04 18:05:56 +03:00
Valentin Kipyatkov
729085ec9a
Iniital implementation of synthetic extensions for SAM-adapter functions (non-static only)
2015-08-04 18:05:55 +03:00
Mikhail Glukhikh
992c019c1e
Redundant modifier targets introduced (abstract / open on interface, final on enum or object)
2015-08-03 19:42:00 +03:00
Mikhail Glukhikh
d127162a6d
Removed LOCAL_ENUM_NOT_ALLOWED
2015-08-03 19:41:58 +03:00
Mikhail Glukhikh
4bd48c4796
Regular modifier checker implemented (initial version). A set of tests fixed accordingly.
...
Most of modifier diagnostic is expressed by REDUNDANT_MODIFIER, INCOMPATIBLE_MODIFIERS, REPEATED_MODIFIER, WRONG_MODIFIER_TARGET, WRONG_MODIFIER_PARENT.
A set of modifier diagnostics is not in use now (but not deleted yet).
2015-08-03 19:41:50 +03:00
Mikhail Glukhikh
faac06ff7e
Annotation option 'mustBeDocumented': definition, mapping from Kotlin to Java Documented and back, tests
2015-08-03 19:41:48 +03:00
Mikhail Glukhikh
dfaed3fef3
Binary or runtime repeatable annotations are not allowed for JVM. Some tests fixed accordingly.
2015-08-03 19:41:45 +03:00
Denis Zharkov
6b92f67eac
Load raw types as platform with specific bounds
...
Raw(A<T_i>) = (A<UP(T_i)>..A<*>)
Raw types have specific scopes that behaves like JVM signature erasure
2015-07-31 17:33:21 +03:00
Denis Zharkov
0fba28a8f0
Do not retrieve parent of FQname for root
...
#KT-8642 Fixed
2015-07-31 17:33:20 +03:00
Dmitry Petrov
9bf0211152
KT-8408 Prohibit Array<T>::class for non-reified T
2015-07-30 12:18:29 +03:00
Alexander Udalov
50dbda1e1a
Introduce KClass.members, make properties/extensionProperties extensions
...
To avoid significant growth of KClass and KPackage interfaces
2015-07-29 21:36:36 +03:00
Mikhail Glukhikh
41500c916b
java Retention + Repeatable = kotlin.annotation.annotation (but java Repeatable is still intact), a few tests
2015-07-29 16:28:36 +03:00
Mikhail Glukhikh
10ba9c7264
Repeatable test renamed
2015-07-29 16:28:33 +03:00
Mikhail Glukhikh
a072550931
Class is an annotation iff it is annotated by kotlin.annotation.annotation, or is kotlin.annotation.annotation itself.
...
JetClassOrObject.isAnnotation() is no more in use during resolve. Additional test.
2015-07-29 16:28:26 +03:00
Mikhail Glukhikh
dbf6da89b7
java.lang.annotation.Repeatable is deprecated + test in a new group: diagnostic tests with Java 8.
2015-07-28 19:03:55 +03:00
Mikhail Glukhikh
a86857fbb5
Java Deprecated is mapped in accordance with Java Target / Retention, some diagnostic changed
2015-07-28 17:13:37 +03:00
Mikhail Glukhikh
d6406d8d4a
Annotation repetition checking with a pair of tests, some old tests changes
2015-07-28 17:13:32 +03:00
Mikhail Glukhikh
11f87e6ca1
No more java Target / Retention loaded. Render java Retention / Target. Related test changes.
2015-07-22 19:00:39 +03:00
Mikhail Glukhikh
c2480d1183
Java to Kotlin annotation retention mapping + new test + JvmLoader test adaptation
2015-07-22 19:00:26 +03:00
Pavel V. Talanov
add8387141
Fix some problems with jsCode function
...
1. Fix a bug in frontend when passing non-String constant led to exception
2. Fix a bug in backend when passing non-JetStringTeplate string constant led to exception
3. Avoid recomputing constant argument in backend
2015-07-21 20:52:42 +03:00
Dmitry Petrov
6437a4bdc6
Support overload ambiguity resolution for callable references by expected type.
...
Resolve callable references taking into account expected callable types.
This affects call resolution procedure (resolve 'foo' in for 'foo(::bar)') similar to the approach used for function literals:
* During "shape arguments" phase of call resolution, callable references are resolved in independent context without expected type. If the callable reference is ambiguous, its shape type is a function placeholder type without parameter types and return type information. Otherwise, it is a reflection type for the resolved function or property. Upper-level call is resolved without taking into account ambiguous callable references.
* During "complete call" phase of call resolution, resolve callable reference arguments to actual descriptors (if possible), and update constraint system for the given call accordingly.
#KT-6982 Fixed
#KT-5780 Fixed
2015-07-21 18:33:15 +03:00
Mikhail Glukhikh
94a00540be
Targeting / retention for a set of standard annotations, some inapplicable annotation checks replaced with target check, some fixed tests
2015-07-21 15:36:53 +03:00
Mikhail Glukhikh
9e7a67fabf
Warning about java.lang.annotation.Target annotation usage
2015-07-21 15:20:37 +03:00
Mikhail Glukhikh
1309c1f95f
Annotation mapper is introduced to map java annotation targets to kotlin targets + a set of new / fixed tests
2015-07-21 15:20:31 +03:00