Alexander Udalov
e079b8f425
Support KCallable.call
...
#KT-2187 Fixed
2015-07-29 21:36:42 +03:00
Alexander Udalov
936bede8b1
Support mapping between Kotlin functions and JVM methods/constructors
2015-07-29 21:36:41 +03:00
Alexander Udalov
93656c93c1
Support KPackage.members, functions and properties
2015-07-29 21:36:40 +03:00
Alexander Udalov
95be8b11f5
Don't write JetValueParameter to the bytecode
...
The class itself can't be deleted at this point because it's used in the old
bytecode and tools (e.g. proguard) will complain if they can't find it in the
new runtime
2015-07-29 21:36:39 +03:00
Alexander Udalov
6ab1c6bfb3
Add KParameter.type, KType, KType.isMarkedNullable
2015-07-29 21:36:38 +03:00
Alexander Udalov
81ef1c19d8
Support KClass.constructors in reflection
2015-07-29 21:36:37 +03:00
Alexander Udalov
da5cffdb60
Support KClass.functions and declaredFunctions
2015-07-29 21:36:36 +03:00
Alexander Udalov
2492977274
Additional tests on reflection for Java methods
2015-07-29 21:36:35 +03:00
Alexander Udalov
5962b79126
Support introspection of parameter names and indices in reflection
2015-07-29 21:36:34 +03:00
Alexander Udalov
87c70aa2ae
Make Class<*>.kotlinPackage nullable
2015-07-29 21:36: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
Michael Nedzelsky
e9d7bbf493
fix KT-8648 Exception from incremental compilation
...
#KT-8648 Fixed
2015-07-29 15:14:45 +03:00
Michael Nedzelsky
2e18b3de9d
prepare to retire Type.Constructor message in descriptors.proto after M13
2015-07-28 19:49:00 +03:00
Michael Nedzelsky
459eed7d28
introduce custom options for messages in proto files
2015-07-28 19:48:44 +03:00
Michael Nedzelsky
ef8381f8af
two optional fields have been added to Type.Constructor message in descriptors.proto in preparation to remove field which requires double interpetation
2015-07-28 19:48:37 +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
Alexey Sedunov
39ff3c3000
Pull Up: Initial support
...
#KT-7330 Fixed
2015-07-28 18:48:29 +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
Dmitry Petrov
a64f1a86c0
Fix KT-8608: Compiler crashes with assertion Restore stack is unavailable
...
- fix SAVE_STACK_BEFORE_TRY insertion:
TRYCATCHBLOCK LA, LB, LC
LA
NOP
try_body
LB
...
LC
handler_body
should be transformed into:
LA
{SAVE_STACK_BEFORE_TRY}
LA' // new TCB start label
NOP
try_body
LB
...
LC
handler_body
with all TCBs start labels remapped
- properly wrap exceptions from MandatoryMethodTransformer
#KT-8608 Fixed
2015-07-27 10:40:14 +03:00
Pavel V. Talanov
273e69c02c
Refactor: Pass buitlins into IntegerValueTypeConstant and IntegerValueTypeConstructor
2015-07-24 13:47:59 +03:00
Pavel V. Talanov
99e8ba1947
Get rid of static function ConstantExpressionEvaluator.evaluateToConstant
2015-07-24 13:47:53 +03:00
Pavel V. Talanov
6698b3b070
Refactor: get rid of static ConstantExpressionEvaluator.evaluate function
...
Move ArgumentTypeResolver.getLastElementDeparenthesized to JetPsiUtil
2015-07-24 13:47:52 +03:00
Ilya Gorbunov
8892192e9c
Generate openRange tests for compiler.
...
#KT-4665
2015-07-24 04:13:53 +03:00
Valentin Kipyatkov
383a4da231
No annotations rendered in completion and other places
...
KT-5517 Completion shouldn't show inlineOptions annotation
#KT-5517 Fixed
2015-07-23 22:02:06 +03:00
Pavel V. Talanov
8cc9739f72
Refactor: Pass TargetPlatform instead of configurator, hide DynamicTypesSettings inside configurator
2015-07-23 16:15:38 +03:00
Pavel V. Talanov
84b8ed00c5
Refactor: Move TargetPlatform to frontend, make it expose platform dependant resolve services
...
AdditionalCheckerProvider -> PlatformConfigurator which operates directly on container
2015-07-23 16:15:35 +03:00
Pavel V. Talanov
b452c20cc2
Minor: Remove unused references to AdditionalCheckerProvider
2015-07-23 16:15:31 +03:00
Pavel V. Talanov
3227ae5577
Inject non-context dependent CallCheckers instead of getting them from context
2015-07-23 16:15:28 +03:00
Mikhail Glukhikh
414c44ade5
Make retention of 'kotlin.annotation.annotation' to SOURCE. Serialize / deserialize it instead. Some fixed tests.
2015-07-22 19:00:51 +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
Zalim Bashorov
679d5fe496
Introduce UsageCollector
2015-07-21 22:27:27 +03:00
Zalim Bashorov
41449c107e
Location.NOWHERE -> UsageLocation.NO_LOCATION
2015-07-21 22:27:25 +03:00
Zalim Bashorov
e2e3520c3d
Add location parameter to JetScope::getClassifier
2015-07-21 22:27:25 +03:00
Zalim Bashorov
0f92036353
Add location parameter to JetScope::getFunctions
2015-07-21 22:27:25 +03:00
Zalim Bashorov
f79155df97
Add location parameter to JetScope::getProperties
2015-07-21 22:27:24 +03:00
Pavel V. Talanov
4e0d2bc23c
CompileTimeConstantUtils: use getConstant instead of evaluate
...
Hacky way to avoid passing builtins into this code
2015-07-21 20:52:43 +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
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
Denis Zharkov
3ec00114c0
Check type of elvis with expected type info
...
#KT-6713
2015-07-21 15:16:06 +03:00
Denis Zharkov
58e7923218
Use substituted return type for SAM adapeter of constructor
...
#KT-7282 Fixed
2015-07-21 15:16:06 +03:00
Denis Zharkov
97af85da9c
Change default upper bound of Java type parameters to Any!
...
#KT-7672 Fixed
2015-07-21 15:16:05 +03:00
Valentin Kipyatkov
31b7c33fa8
No need to scan base classes
2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
1c52f8a524
Fixed synthetic properties for method inherited from two bases
2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
612c009f6b
Synthetic properties: correct behaviour for method hierarchies
2015-07-21 08:32:51 +03:00
Valentin Kipyatkov
23cfe88b71
KT-8530 Synthetic properties doesn't work with smart casts
...
#KT-8530 Fixed
2015-07-21 08:32:50 +03:00
Nikolay Krasko
9648338b19
Enum with interface keywords leads to fail in DeclarationChecker
2015-07-17 20:59:03 +03:00
Nikolay Krasko
71b406d792
Fix class kind detector: prioritize enum over annotations. Introduce new error about enum annotations classes.
2015-07-17 20:59:02 +03:00
Mikhail Glukhikh
af5e7f58da
Implementation of Kotlin's 'target' annotation mapping to Java's 'Target' annotation + tests
2015-07-17 12:05:27 +03:00
Pavel V. Talanov
2896ec67ba
Support synthetic java properties in REPL
...
Use brand new iterable injection
2015-07-16 18:05:44 +03:00