Mikhail Glukhikh
2ceffa241b
FIR: make Java default constructor visibility same with class visibility
2019-07-11 12:38:53 +03:00
Mikhail Glukhikh
56435fa283
FIR Java: add default constructors
2019-05-28 10:20:40 +03:00
Simon Ogorodnik
6c313895df
[FIR] Do not enhance java fields to firProperty
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
3e69838f48
FIR Java: map classes to make java type-parameters have correct bounds
...
Really, this commit implements early J2K mapping for all Java types.
It's questionable and probably wrong at least for super-types,
because, for example, we cannot resolve spliterator() in classes
derived from java.lang.Iterable
2019-04-30 18:45:51 +03:00
Mikhail Glukhikh
2476c0299f
FIR Java: fix constructor enhancements
...
Before this commit,
we generated regular member functions as constructor enhancement.
Now, we generate constructors as constructor enhancement.
2019-04-23 11:41:05 +03:00
Alexander Udalov
d257285c86
Load Java enums as final classes
...
In case Java enum has an abstract member, it has the ACC_ABSTRACT flag
set in the bytecode. However, we should still load it with final
modality to be consistent with Kotlin enums which are always considered
final
#KT-23426 Fixed
2019-04-10 14:39:16 +03:00
Simon Ogorodnik
498fb94c37
FIR: Make FIR rendering more kotlin-styled
2019-03-22 16:25:10 +03:00
Mikhail Glukhikh
33fb3d154b
FIR Java model: support static members & enum entries
...
Related to KT-29218
2019-03-14 18:07:17 +03:00
Mikhail Glukhikh
14fb495ab6
Support Java constructors in FIR (related to KT-29218)
2019-03-14 17:57:13 +03:00
Mikhail Glukhikh
7563a98999
FIR type enhancement: make J2K mapping and changed handling more exact
...
Related to KT-29937
2019-03-14 17:56:05 +03:00
Mikhail Glukhikh
6c79b184c0
FIR Java types: add Kotlin/Java mapping & mutability enhancements
...
Related to KT-29937
2019-03-14 17:55:10 +03:00
Mikhail Glukhikh
e7ac88d326
FIR: implement Java fields (in provider, type enhancement, scopes)
...
Related to KT-29218
2019-03-14 17:54:53 +03:00
Mikhail Glukhikh
4255c9f774
Add FIR enhancement tests, fix some exceptions / problems around them
...
Test data and tests themselves are based on
compiler/testData/loadJava/compiledJava
2019-03-14 17:52:33 +03:00
Mikhael Bogdanov
8ce7112123
New tests for TYPE_USE annotations in enums and inner classes
...
Main test data (testName.txt) a not totally valid cause of IDEA-205039.
Javac test data (testName.javac.txt) a not valid
cause of type annotations support absence.
Runtime tests are disabled cause reflection support absence.
2019-01-08 13:52:45 +01:00
Mikhael Bogdanov
d2a205c72d
Update synthetic parameter processing logic according to ASM 7 changes
...
#KT-27774 Fixed
2018-11-07 15:42:57 +01:00
Alexander Udalov
2f72f68e1a
Fix loading class literal value void.class in reflection
...
#KT-27878 Fixed
2018-10-31 17:21:05 +01:00
Alexander Udalov
c1ab08c8ce
Refactor KClassValue to store ClassLiteralValue internally
...
Only invariant array projections and non-null element types will be
supported soon (see KT-26568), so it makes no sense to store the
complete type in KClassValue. What we need is only the ClassId of the
class, and the number of times it's wrapped into kotlin/Array, which is
exactly what ClassLiteralValue represents.
This change helps in decoupling annotation values from
descriptors/types. The only constant value that depends on descriptors
is now AnnotationValue.
#KT-26582 Fixed
2018-10-25 16:27:23 +02:00
Denis Zharkov
a0268d23bb
Get rid of trivial allowFlexible replacing
...
As the type is anyway replaced with not-nullable version
explicitly, the only thing that changes is what type is loaded
for String[][].class:
- before it would be Array<Array<String?>?>
- now it's Array<(out) Array<(out) String!>!>
It's both a minor change and new behaviour can be considered
as correct
2017-07-03 17:55:37 +03:00
Valentin Kipyatkov
ec51076355
DescriptorRenderer to render annotations for all types + separate option to render annotation arguments + use it in IdeDescriptorRenderers
2016-10-11 23:38:54 +03:00
Stanislav Erokhin
203c4cd94d
Remake Raw type representation.
...
(cherry picked from commit b21cede)
2016-06-09 12:57:53 +03:00
Denis Zharkov
d0acb3674a
Fix rendered testData
...
New members in enum member scope
2016-05-16 15:38:13 +03:00
Alexander Udalov
1b8f934b54
Delete deprecated enum 'values' property
2016-02-19 22:28:44 +03:00
Ilya Gorbunov
f4822cd757
Fix testData in compiler: add collections and ranges package to fq-names.
2016-01-22 05:54:38 +03:00
Mikhail Glukhikh
c8b50eec1e
Enum.values: deprecation (warning) --> deprecation (error)
2015-12-11 11:11:42 +03:00
Pavel V. Talanov
280e00981f
Load java: load annotations on enum entries
2015-12-10 11:12:23 +03:00
Mikhail Glukhikh
dc60c62781
Enum.values is now deprecated but Enum.values() is no more deprecated
2015-11-23 17:29:36 +03:00
Alexey Tsvetkov
dc27363452
Remove @annotation from test data
2015-10-19 20:45:01 +03:00
Denis Zharkov
1c02231cda
Regenerate rendered descriptors after transforming Enum.values to property
2015-10-17 17:46:16 +03:00
Yan Zhulanow
9ae3b0fa9c
Drop loading Java annotation methods as functions
2015-10-16 22:13:34 +03:00
Mikhail Glukhikh
f8a356747e
Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated
2015-10-14 20:40:13 +03:00
Yan Zhulanow
d90585624f
Add 'DeprecationLevel' parameter to 'Deprecated'
2015-10-08 18:31:08 +03:00
Denis Zharkov
8d13f08271
Load static final fields of appropriate types from Java as const
2015-09-23 08:20:57 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Mikhail Glukhikh
3770e7f49f
Introduction of AnnotationTarget.CLASS as a replacement for CLASSIFIER (first step)
2015-09-11 17:59:40 +03:00
Mikhail Glukhikh
8f7b29f80a
Annotation rename: target --> @Target
2015-09-07 13:42:26 +03:00
Denis Zharkov
31244edec9
Deprecate deprecated in favor of Deprecated
2015-09-04 18:19:31 +03:00
Mikhail Glukhikh
778ac7f25c
annotation --> Retention / Repeatable / MustBeDocumented: converting from Java to Kotlin and back.
...
At this very short moment Kotlin supports both annotation(retention, repeatable, mustBeDocumented) and Retention / Repeatable / MustBeDocumented separately.
2015-09-04 12:49:36 +03:00
Mikhail Glukhikh
4e3bd10cd3
Java annotation with target "TYPE" is now applicable to Kotlin targets "CLASSIFIER" and "FILE"
2015-09-04 12:49:24 +03:00
Mikhail Glukhikh
699f1e0a70
AnnotationTarget.PACKAGE was dropped
2015-09-04 12:49:14 +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
Mikhail Glukhikh
45cc3c025f
Mapping of JavaDoc deprecated to Kotlin Deprecated + a pair of tests
2015-08-05 12:25: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
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
Mikhail Glukhikh
af5e7f58da
Implementation of Kotlin's 'target' annotation mapping to Java's 'Target' annotation + tests
2015-07-17 12:05:27 +03:00
Mikhail Glukhikh
37b2e97e56
Rendering changed: "annotation class" is now just "class" (with kotlin.annotation.annotation if it's kotlin annotation).
...
A swarm of tests fixed accordingly.
2015-07-14 16:25:08 +03:00
Mikhail Glukhikh
bae9a7d7f8
Types are no more rendered for annotation arguments + a swarm of tests corrected accordingly
2015-07-01 16:12:32 +03:00
Denis Zharkov
9245cfaa7f
Load Class-object from java annotated entity as KClass
2015-06-12 09:55:08 +03:00
Denis Zharkov
2e284718ce
Revert "Create additional constructor for java annotation with Class-parameter"
...
This reverts commit 8f0e290dec .
2015-06-12 09:55:06 +03:00
Denis Zharkov
9080b57635
Revert "Load annotation parameter's type for ctr as contravariant"
...
This reverts commit 294eb1dceb .
2015-06-12 09:55:03 +03:00
Dmitry Jemerov
9975bb8935
replace 'trait' keyword with 'interface' in user-visible messages and code generation tools
2015-05-12 11:49:37 +02:00