Alexander Udalov
593937d302
Support KCallable.callBy with map of parameters to arguments
...
callBy is able to handle optional parameters.
#KT-8827 Fixed
2015-08-29 18:37:40 +03:00
Alexander Udalov
0d62680f63
Support KParameter.isOptional
...
#KT-8825 Fixed
2015-08-29 18:37:39 +03:00
Alexander Udalov
fd97383f8a
Fix mapping of jvmStatic functions
...
#KT-8800 Fixed
2015-08-29 18:37:38 +03:00
Alexander Udalov
9a8cf23ed4
Support KClass.companionObject and companionObjectInstance
...
#KT-7636 Fixed
2015-08-29 18:37:32 +03:00
Alexander Udalov
94d45f35d4
Support KClass.nestedClasses
2015-08-29 17:59:45 +03:00
Valentin Kipyatkov
e8dc9ede31
Implemented HiddenDeclaration annotation (doc-comment to be added!)
2015-08-29 10:54:59 +03:00
Alexander Udalov
7c28a2e732
Support KClass.defaultType
2015-08-28 21:22:11 +03:00
Alexander Udalov
ea8fe56704
Include property type to KProperty.toString
2015-08-28 21:11:31 +03:00
Alexander Udalov
d36ef90dd6
Provide equals/hashCode/toString for KParameter implementation
...
Two KParameter instances are equal iff their backing descriptors are equal and
their callables are equal
2015-08-28 21:11:30 +03:00
Alexander Udalov
d4825cf4f0
Support KParameter.kind: instance, extension receiver, or value
2015-08-28 21:11:22 +03:00
Alexander Udalov
a73d02418d
Introduce additional API for introspecting functions
...
memberFunctions, declaredMemberFunctions, staticFunctions, etc.
#KT-8797 Fixed
2015-08-28 21:11:21 +03:00
Alexander Udalov
ebe4a8ec89
Provide equals/hashCode/toString for KType implementation
2015-08-28 21:11:20 +03:00
Alexander Udalov
9882e86ecb
Don't render contents of enum entry classes in .txt tests, regenerate tests
...
They are irrelevant because cannot be accessed from the outside anyway
2015-08-28 21:11:06 +03:00
Alexander Udalov
29abf94327
Prohibit clone() for enum classes
...
#KT-8972 Fixed
2015-08-28 21:11:02 +03:00
Alexander Udalov
89f3cfc704
Support parameter names for Java 8 classes in reflection
...
Also support specifying additional options to javac in codegen tests, which was
needed to compile Java sources with the "-parameters" option
2015-08-28 21:11:01 +03:00
Denis Zharkov
e8f91e596c
Adjust test data after fixes about generic nullability
2015-08-28 18:50:26 +03:00
Denis Zharkov
5e09a0c2c9
Add some test cases after review
2015-08-28 18:50:25 +03:00
Denis Zharkov
b471767e03
Refine smart cast check for type parameters
2015-08-28 18:50:25 +03:00
Denis Zharkov
aad977d204
Properly check whether nullability of receiver argument fits to parameter's nullability
...
It's should behave like we check isSubtype(receiverType, parameterType) + use nullability info from smart cast
#KT-1090 Fixed
2015-08-28 18:50:25 +03:00
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
Yan Zhulanow
0c87639514
Fix annotation list parsing: @identifier:[a b c]
2015-08-27 18:16:06 +03:00
Stanislav Erokhin
d92e71861e
Changed JetScope to LexicalScope in ClassDescriptorWithResolutionScopes and DeclarationScopeProvider
2015-08-27 12:01:13 +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
Alexander Udalov
7dcb690254
Additional tests on reflection calls
2015-08-24 01:29:58 +03:00
Alexander Udalov
ccb58d8601
Minor, add some tests on get/set/name/instanceof for properties w/o reflection
2015-08-24 01:29:58 +03:00
Alexander Udalov
df76695e72
Somewhat improve 'incomplete hierarchy' diagnostic message
2015-08-24 01:29:57 +03:00
Alexander Udalov
9095fa2844
Make PropertyMetadataImpl a data class
...
To allow property delegates to use property metadata as a key in the hash map,
and to improve debugging experience
2015-08-24 01:29:57 +03: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
Valentin Kipyatkov
468919f5d9
Fixed codegen crash on use of protected synthetic extension property
2015-08-12 18:17:09 +03: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
Mikhail Glukhikh
b2653ad1e9
Deprecated enum syntax removed: most compiler tests
2015-08-10 16:24:12 +03:00
Alexander Udalov
d3e39812cb
Support mapping of KType to j.l.reflect.Type
2015-08-07 00:55:35 +03:00
Alexander Udalov
49b689f883
Do not allow to assign null to a non-null property via reflection
...
This was already working for accessor-based properties because the assertions
were already generated into corresponding accessors, but for fields we must
manually check the value against null
2015-08-07 00:55:33 +03:00
Alexander Udalov
3091f2af3b
Report argument number mismatch nicely on wrong 'call()' invocation
...
The default Java reflection message in such case is not very helpful: "wrong
number of arguments"
2015-08-07 00:55:32 +03:00
Alexander Udalov
9c522b4d49
Refactor property calls in reflection, fix some corner cases
...
- compute a FunctionCaller instance for getter and setter so that "call" only
delegates to that FunctionCaller's "call", in the same way it's done in
KFunctionImpl
- use RuntimeTypeMapper.mapPropertySignature to get the exact origin and
signature of a property and its accessors. This makes unwrapFakeOverride call
unnecessary and also fixes some cases like private Java fields
- temporarily drop custom range checks, will be re-added soon
2015-08-07 00:55:30 +03:00
Alexander Udalov
a91729e041
Fix isAccessible for property accessors
2015-08-07 00:55:30 +03:00
Alexander Udalov
9f2feb1d27
Set failOnError = true by default in kotlinc Ant task as in javac
...
#KT-8742 Fixed
2015-08-06 22:38:41 +03:00