Simon Ogorodnik
2f7ced2a8e
FIR Java: bind overrides properly
2019-04-30 18:45:53 +03:00
Simon Ogorodnik
e521e66c74
FIR deserializer: provide proper type for enum entries
2019-04-30 18:45:52 +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
Simon Ogorodnik
6a0e3371ae
FIR: resolve conflicts on multiple inheritance of fun with same signature
2019-04-30 18:45:50 +03:00
Simon Ogorodnik
cec10dac85
FIR deserializer: remove cycle in annotations loading
2019-04-30 18:45:48 +03:00
Mikhail Glukhikh
e3e7eea3fe
FIR: support (partially) type annotations in JVM deserialized
2019-04-30 18:45:48 +03:00
Mikhail Glukhikh
48cd9e3251
FIR: support class annotations in JVM deserialized
2019-04-30 18:45:48 +03:00
Mikhail Glukhikh
a9db64989b
FIR deserializer: support enum entries and their annotation usages
2019-04-30 18:45:48 +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
f8bb1d161a
Fir Java: add type parameters to constructors and their return types
2019-04-30 18:45:47 +03:00
Simon Ogorodnik
9d7d358836
FIR deserializer: support properties
2019-04-30 18:45:47 +03:00
Simon Ogorodnik
8324ee7272
FIR deserializer: support type-aliases
2019-04-30 18:45:45 +03:00
Mikhail Glukhikh
7d793f6750
FIR resolve: add handling of companions as objects
2019-04-30 18:45:43 +03:00
Simon Ogorodnik
55467909da
FIR deserializer: optimize KotlinDeserializedJvmSymbolsProvider
2019-04-30 18:45:40 +03:00
Simon Ogorodnik
4cb8faf666
FIR: uniquify scopes to avoid ambiguity on diamond inheritance
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
3533541702
Provide class use-site scopes from FirSymbolProviders
2019-04-30 18:45:34 +03:00
Simon Ogorodnik
082e9d1cd7
FIR Java: implement knownClassNamesInPackage optimization
2019-04-30 18:45:34 +03:00
Alexander Udalov
bd6e90f302
FIR: remove dependency of :compiler:fir:resolve on :compiler:cli
2019-04-30 12:01:23 +02:00
Simon Ogorodnik
879563233a
FIR: optimize caching in JVM deserializer
2019-04-25 09:47:37 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +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
Simon Ogorodnik
8d2acd790d
FIR Java: use safer cases in use-site scope to allow constructors
2019-04-23 11:21:46 +03:00
Mikhail Glukhikh
cf72b13d84
Add accessor symbols & test for property overriding in Java
2019-04-23 11:15:24 +03:00
Simon Ogorodnik
c3632487d0
FIR Java: improve symbol provider laziness
2019-04-23 09:49:29 +03:00
Simon Ogorodnik
98f4fa1f6c
FIR Java: fix too strict cast in use-site scope
2019-04-23 09:49:29 +03:00
Mikhail Glukhikh
4213a4c7e2
FIR Java: reuse StandardClassIds
2019-04-04 10:31:02 +03:00
Denis Zharkov
825218b479
Replace FirSymbolProvider::getCallableSymbols with two methods
...
Requesting content of classes seems to be reasonable and at the same time
more easy to implement in Composite providers: they should find
just the first class' result instead of flatmapping all of them
2019-03-27 17:17:59 +03:00
Denis Zharkov
1426341e9f
FIR: Support loading deserialized declarations from JVM class files
2019-03-27 17:17:59 +03:00
Denis Zharkov
aec5ec89e7
FIR: Support deserialization for built-in classes content
2019-03-27 17:17:59 +03:00
Denis Zharkov
466296bca0
Remove FirLibrarySymbolProviderImpl from FirJavaModuleBasedSession
...
It's anyway already being created within dependencies
2019-03-27 17:17:59 +03:00
Simon Ogorodnik
61eb19fbbf
FIR: Make possible to return variable symbols from scope
2019-03-22 16:25:05 +03:00
Simon Ogorodnik
02079bbeb5
FIR: Update fir hierarchy, decouple member declaration from callable
2019-03-22 16:25:04 +03:00
Mikhail Glukhikh
909a5fd32d
FIR: implement named arguments #KT-24081 Fixed
2019-03-14 18:30:13 +03:00
Mikhail Glukhikh
d65b30dd82
Fix corner-cases in ConeTypeContext / FIR builder / FIR enhancements
...
This fixes a pack of FIR smoke diagnostic tests, now all of them pass
Related to KT-29962
2019-03-14 18:30:12 +03:00
Mikhail Glukhikh
e6bb920a1d
FIR Java: support Kotlin extension overriding: at last, #KT-29937 Fixed
2019-03-14 18:18:40 +03:00
Mikhail Glukhikh
d00d078b4f
FIR Java: implement "appendErasedType" thus adding predefined signatures
...
Related to KT-29937
2019-03-14 18:18:20 +03:00
Mikhail Glukhikh
43d06f85e3
Add raw type comparison for Java (J2K mapping is taken into account)
...
NB: Java enhancement scope does not perform substitution, so we could
have some duplicates inside "type enhancement" testData
Related to KT-29937
2019-03-14 18:17:58 +03:00
Mikhail Glukhikh
de14dd1b9f
FIR type enhancements: more accurate * handling
2019-03-14 18:17:31 +03:00
Mikhail Glukhikh
c708171add
FIR type enhancements: support annotations for default parameter values
...
Related to KT-29937
2019-03-14 18:17:17 +03:00
Mikhail Glukhikh
5f3a01c25a
Get rid of FirElement.session usages inside fir:java
2019-03-14 18:16:58 +03:00
Mikhail Glukhikh
6c12fabf74
FIR: make JavaClassEnhancementScope use-site, get rid of scope providers
...
Related to KT-29937
2019-03-14 18:09:41 +03:00
Mikhail Glukhikh
e0348b56a1
FIR type enhancement: extract indexed Java type qualifiers
2019-03-14 18:08:16 +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
3d29b31177
FIR type enhancements: handle class qualifiers, add new JSR 305 tests
...
Related to KT-29937
2019-03-14 18:07:46 +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
fb788dc4c0
Fix null Java type argument problem & add relevant test
2019-03-14 17:56:23 +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
9bb2278fd4
Simplify JavaClassEnhancementScope: callback -> TypeInSignature
2019-03-14 17:55:47 +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