Denis Zharkov
9914b487b7
FIR: Do not load hashCode/toString/equals methods from Java interface
...
As it's done in FE 1.0, and there are subtle semantics in the language that depends on it
2020-10-01 17:49:02 +03:00
Dmitriy Novozhilov
3acb64c536
[FIR] Add flexible default upper bound for java type parameters
2020-03-27 10:17:12 +03:00
Mikhail Glukhikh
e051251b27
FIR: set isOperator only for Java methods with appropriate names
...
#KT-35133 Fixed
2020-02-19 18:09:04 +03:00
Denis Zharkov
2ad8488e6a
FIR: Rewrite Java type mapping
...
Previoisly, there were two places where mapping had happened:
- toConeKotlinTypeWithNullability
- enhancePossiblyFlexible
The first one was used for supertypes and bounds and the second one
was used for other signature parts
The main idea is to perform type mapping once to a flexible type,
and then use it as it's needed (it's lower bound, or for the further ehnancement)
Also, this commit fixes flexibility for type arguments, see the tests
2020-02-19 15:53:34 +03:00
Denis Zharkov
95b4fa4b31
FIR: Support flexible types in getErasedVersionOfFirstUpperBound
2020-02-12 16:05:11 +03:00
Mikhail Glukhikh
91b432b4a1
[FIR] Java super-type arguments are now handled as flexible
2020-02-03 16:45:19 +03:00
Dmitriy Novozhilov
950d1f4fe4
[FIR] Fix enhancement of java array type
2019-11-19 10:43:46 +03:00
Mikhail Glukhikh
c657d46437
FIR Java: add nullable (instead of not-null) type parameter bounds
2019-11-11 17:07:57 +03:00
Dmitriy Novozhilov
e6bf3b3263
[FIR] Render nullability in type renderer, not in fir renderer
2019-08-22 10:55:07 +03:00
Mikhail Glukhikh
56435fa283
FIR Java: add default constructors
2019-05-28 10:20:40 +03:00
Mikhail Glukhikh
0aaf8c7689
Fix FIR Java enhancement of java.util.Map & similar supertypes
2019-05-28 10:17:21 +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
092d10b1a8
FIR Java: fix creation & handling of type parameter symbols
...
Before this commit, we created type parameter symbols each time
when type parameter was referenced or created.
In this commit, we introduced class-bound Java type parameter stack
and use it to find referenced type parameter symbol.
So now they are created only when Java type parameter is created
2019-04-30 18:45:47 +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
Mikhail Glukhikh
568e831651
FIR: make rendering of type parameters similar to original Kotlin
2019-04-10 13:31:02 +03:00
Simon Ogorodnik
498fb94c37
FIR: Make FIR rendering more kotlin-styled
2019-03-22 16:25:10 +03:00
Mikhail Glukhikh
be412baf9f
FIR type enhancement: fold flexible types when it's possible
...
Related to KT-29937
2019-03-14 18:08:01 +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
226cf8e42c
FIR Java types: handle wildcard types correctly
...
Related to KT-29937, KT-29218
2019-03-14 17:55:25 +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
baratynskiy
01883a41cb
javac-wrapper: refactoring, fixes and tests
2017-08-29 18:01:36 +03:00
Mikhail Zarechenskiy
011231f2ab
Collect sam adapters for constructors in synthetic scope
...
Also place computation of synthetic constructors under one function
2017-06-16 16:44:52 +03:00
Mikhail Zarechenskiy
7541a3754d
Move SAM constructors to synthetic scope
2017-05-05 21:30:35 +03:00
Mikhail Zarechenskiy
95ede7fb67
Move SAM adapters from static scope to synthetic one
2017-05-05 21:30:10 +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
Valentin Kipyatkov
41ee06ec96
Use parameter names in DescriptorRenderer
2016-10-11 23:38:49 +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
Denis Zharkov
80fd9e3cbb
Fix wrong contract assumption
...
Currently SamAdapterOverridabilityCondition can be called
even for incompatible descriptors
#KT-10486 Fixed
2015-12-24 12:25:31 +03:00
Denis Zharkov
b443f605ed
Minor. Add load-java test checking that SamAdapterOverridabilityCondition is on
2015-12-11 22:41:03 +03:00
Denis Zharkov
95cecdbc42
Support overrides of generic methods with erased version in Java
2015-12-03 18:19:36 +03:00
Denis Zharkov
e920ce709b
Render captured type parameters in verbose mode
2015-11-13 14:59:04 +03:00
Alexander Udalov
477823b093
Change override rules when type parameters have multiple bounds
...
Instead of constructing the magic intersection type, compare sets of upper
bounds instead as javac does, modulo the substitution
2015-10-28 19:12:02 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +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
Denis Zharkov
97af85da9c
Change default upper bound of Java type parameters to Any!
...
#KT-7672 Fixed
2015-07-21 15:16:05 +03:00
Denis Zharkov
76648878e0
Ignore type parameters in value arguments while comparing SAM adapters
...
#KT-8388 Fixed
2015-07-10 08:46:27 +03:00
Andrey Breslav
4e17500e1c
Test data for LoadJava tests fixed
2015-07-09 16:36:43 +03:00
Andrey Breslav
694af022c8
Type Enhancement for Java fields and constructors supported as well
2015-07-09 16:32:25 +03:00
Alexander Udalov
4141e0a8df
Introduce fictitious numbered Function class descriptors
2015-05-26 15:04:54 +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
Andrey Breslav
0f0f205248
Serializing information about star projections
2015-02-02 19:52:02 +03:00
Alexander Udalov
ae3c17d399
Minor, get rid of SAMs in some loadJava tests
2014-11-11 18:10:43 +03:00
Alexander Udalov
3a8ad45dec
Append newline to EOF for .txt test data files
...
Reverts and fixes 102f0d3
2014-10-21 03:18:27 +04:00
Andrey Breslav
ea3215b361
Massive test data update for compiledJava
2014-10-13 15:38:05 +04:00
Andrey Breslav
dd2e95b3bc
Substitution implemented for flexible occurrences of Java type parameters
2014-10-13 15:37:52 +04:00
Andrey Breslav
bf53222bd9
Flexible types in SAM conversions
2014-10-13 15:37:51 +04:00
Andrey Breslav
0cbbb6a0db
Test data fixed
2014-10-13 15:37:47 +04:00
Alexander Udalov
bcfb5f3b09
Rewrite Java resolve to use static class scope instead of synthesized packages
...
#KT-4149 Fixed
#KT-4839 Fixed
2014-09-09 20:42:36 +04:00