Simon Ogorodnik
f99f06831c
FIR resolve: support typing for get class
2019-04-30 18:45:53 +03:00
Simon Ogorodnik
00ccea220e
Raw FIR: allow implicit type of value parameter (helpful for lambda)
2019-04-30 18:45:53 +03:00
Simon Ogorodnik
9169071d60
FIR resolve: introduce draft version of the visibility checker
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
adf845b2fd
FIR: provide resolved super-type as the type of enum entry reference
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
8e200d8113
Filter out self output directory from classpath in FIR modularized test
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
e521e66c74
FIR deserializer: provide proper type for enum entries
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
ca350e64c2
FIR deserializer: add proper container class id to nested class members
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
daf9f927d4
FIR: add property case to companion test
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
e41a79fbe9
Unify building references to symbols in html fir dump
2019-04-30 18:45:51 +03:00
Simon Ogorodnik
0c0f45791b
Anchors instead of refs on declaration site in html fir dump
2019-04-30 18:45:51 +03:00
Simon Ogorodnik
d28bb5bc70
Render value-parameter modifiers in html fir dump
2019-04-30 18:45:51 +03:00
Simon Ogorodnik
efbf096879
Support ::class in html fir dump
2019-04-30 18:45:51 +03:00
Simon Ogorodnik
cb19a586f4
Fold nullability flexible types in html fir dump
2019-04-30 18:45:51 +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
cb91c6b977
Add abbreviated types rendering to html fir dump
2019-04-30 18:45:50 +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
84fbf4ec25
Partially cache scopes in FIR body resolve transformer
2019-04-30 18:45:50 +03:00
Simon Ogorodnik
861ea6a30f
Provide hashCode and equals for lookup tag based types
2019-04-30 18:45:50 +03:00
Simon Ogorodnik
ce0b482413
FIR resolve: add work-around to support enum entries
2019-04-30 18:45:50 +03:00
Simon Ogorodnik
d22eab680e
FIR: provide nested classes and objects via declared member scope
2019-04-30 18:45:50 +03:00
Simon Ogorodnik
ee73d21d32
Expand type-aliases in cone (FIR) type context
2019-04-30 18:45:49 +03:00
Simon Ogorodnik
6f9f9fc087
FIR types: relax requirements around flexible types
2019-04-30 18:45:49 +03:00
Simon Ogorodnik
0ae2f992fa
Raw FIR: provide receiver to ++, -- operators
2019-04-30 18:45:49 +03:00
Simon Ogorodnik
dc4ccf8d23
FIR resolve: make receiver completion run independent from outer call
2019-04-30 18:45:49 +03:00
Simon Ogorodnik
adb135d036
Provide title to symbol references in html fir dump
2019-04-30 18:45:49 +03:00
Simon Ogorodnik
c1a9fee7e1
Implement break, continue, init in html fir
2019-04-30 18:45:49 +03:00
Simon Ogorodnik
26119f0403
FIR: implement isDenotable on type constructor more accurately
2019-04-30 18:45:48 +03:00
Simon Ogorodnik
21d002ab6f
FIR: add function for copying type-parameters
2019-04-30 18:45:48 +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
b839e50ee2
FIR: deserialize annotations (built-ins only, no enums & arrays yet)
...
Problems: enums aren't deserialized correctly; array aren't done at all;
Target annotation has no arguments in built-in for some reason.
2019-04-30 18:45:47 +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
Mikhail Glukhikh
5bf489327d
Minor fix of around flexible and not-null FIR types (by semoro)
2019-04-30 18:45:47 +03:00
Simon Ogorodnik
c487c1443f
FIR deserializer: provide type parameters for type-aliases
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
b02b090bdf
FIR inference: implement simple constraint system properly
2019-04-30 18:45:46 +03:00
Simon Ogorodnik
ddb08777d9
Link type parameters in html fir dump
2019-04-30 18:45:46 +03:00
Simon Ogorodnik
4469fec57b
Enable local functions in fir html dump
2019-04-30 18:45:46 +03:00
Mikhail Glukhikh
f9feeac5e1
Raw FIR: generate data-class component1, component2, ... functions
2019-04-30 18:45:46 +03:00
Mikhail Glukhikh
bb7dcd9945
FIR: protect importing scopes from empty names
2019-04-30 18:45:46 +03:00
Simon Ogorodnik
8324ee7272
FIR deserializer: support type-aliases
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
e6ab38a583
FIR: resolve constructors via type-aliases
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
aa077b42e9
FIR deserializer: provide type-parameters for constructors
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
1512a6ba9a
Support FirAnonymousObject in html fir dump
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
e6b9c41f3a
FIR resolve: use proper argument mapping in FlatSignature for constructor
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
d89913dc8d
FIR: use type of last expression as type of branch, not type of block
2019-04-30 18:45:44 +03:00
Simon Ogorodnik
fd279860f7
FIR resolve: provide unconditional typing for block
2019-04-30 18:45:44 +03:00