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
Valentin Kipyatkov
28e9fbf9b8
Correct synthetic extensions for methods like "getURL"
2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
22e631dda3
Naming with "is" supported for synthetic extensions
2015-07-16 13:49:18 +03:00
Valentin Kipyatkov
08754b9fc0
Support for synthetic extensions in codegen
2015-07-16 13:49:13 +03:00
Valentin Kipyatkov
2e351f3e4d
Initial implementation of synthetic extensions resolve
2015-07-16 13:49:13 +03:00
Pavel V. Talanov
c313887641
Split CompileTimeConstant into two entities
...
1. ConstantValue
* just holds some value and its type
* implementations for concrete constants
2. CompileTimeConstant
* is only produced by ConstantExpressionEvaluator
* has additional flags (canBeUsedInAnnotation etc)
* has two implementations TypedCompileTimeConstant containing a constant value
and IntegerValueConstant which does not have exact type
* can be converted to ConstantValue
Adjustt usages to use ConstantValue if flags are not needed
Add tests for some uncovered cases
2015-07-16 02:28:05 +03:00
Pavel V. Talanov
0369de86c7
Convert compile constant classes to kotlin: j2k
2015-07-15 20:56:41 +03:00
Denis Zharkov
d19cb747be
Emit not-null assertions for enhanced types
2015-07-15 10:01:14 +03:00
Denis Zharkov
e23c7f457b
Preserve type annotations on type parameter when substituting
...
Subsitute(@A T, T:@B String) = @B @A String
Nullability when loading Java:
Subsitute(@NotNull T, T:String) = @NotNull String
Subsitute(@NotNull T, T:String!) = @NotNull String
Subsitute(@NotNull T, T:String?) = @NotNull String
Subsitute(@Nullable T, T:String) = @Nullable String?
Subsitute(@Nullable T, T:String!) = @Nullable String?
Subsitute(@Nullable T, T:String?) = @Nullable String?
2015-07-15 10:01:14 +03:00
Mikhail Glukhikh
0d2a81f098
Annotation target checking in front-end, a set of tests for different annotation targets, existing test fixes
...
No checks for erroneous annotations. Additional checks for identifiers.
2015-07-14 16:25:04 +03:00
Mikhail Glukhikh
609d696202
Annotations have now retention of "RUNTIME" by default. Java retention is generated as given by kotlin annotation. Annotation rendering changed.
...
Annotation arguments with default values are rendered as ... if renderDefaultAnnotationArguments is true.
Tests: java retention does not taken into account by Descriptor comparator.
Java retentinon changed to kotlin retention in some tests + one new test with java retention added.
More accurate tests for intentions in byte code (visibility controlled).
2015-07-14 16:25:01 +03:00
Mikhail Glukhikh
1eac4d67de
"annotation" is now parsed as an identifier. It is no longer a soft keyword.
...
Sometimes it's allowed to parse "annotation" unescaped even if other annotations must be escaped.
A set of annotations and their options tests.
A swarm of existing tests fixed (mostly kotlin.annotation.annotation() added to txt-files).
STUB_VERSION increased. Some quick fixes slightly changed.
2015-07-14 16:24:55 +03:00