Steven Schäfer
d89d68e3df
JVM IR: Cache SAM wrappers in top-level classes and use proper naming scheme
2019-09-06 15:11:59 +02:00
Steven Schäfer
2be4abe9a6
Refactoring: Consistently use Symbols in JvmSymbols
2019-09-06 15:11:59 +02:00
Steven Schäfer
c77fa1ecd6
JVM IR: Fixes in SAM lowering
2019-09-06 15:11:59 +02:00
Steven Schäfer
e7410348a7
JVM IR: Fix visibility for @InlineOnly functions
2019-09-06 12:12:58 +02:00
Steven Schäfer
ee45933e33
JVM IR: Create local classes in PropertyReferenceLowering
...
In particular, we should not cache classes or instances for property
references, since they may be used inside of inline funtions. This also
allows us to mark the $$delegatedProperties array as package private.
2019-09-06 12:12:58 +02:00
Steven Schäfer
626f4c94f6
Handle special case visibility rules in LocalDeclarationsLowering
2019-09-06 12:12:58 +02:00
pyos
20626e4aaf
Make ReturnableBlockLowering common
...
and remove special handling in JVM_IR codegen.
2019-09-05 15:48:26 +02:00
Mads Ager
75f9532959
[IR] Avoid duplicate IR elements in for loops lowering.
2019-09-05 11:33:26 +02:00
Roman Artemev
0040298eac
Fix master
...
- improve assertion message
- compare correct file paths
- fix C JS BE testData
2019-09-04 14:37:14 +03:00
Mads Ager
3f28b71509
[IR] Fix issue getting the length property from CharSequence bounded type parameter
...
Use the class of the subtype of CharSequence when available. When
it is not (for type parameters bounded by CharSequence) call the
CharSequence getter and 'get' method. Using the most specific type
posible fixes the forInStringSpecialized test that expects the
use of INVOKEVIRTUAL and not INVOKEINTERFACE.
Add tests for the type parameter use.
2019-09-03 20:18:03 +02:00
Alexander Udalov
4953f67563
JVM IR: do not use KotlinTypeMapper indirectly via InlineCodegen
...
Move JVM signature and method owner computation out of InlineCodegen's
constructor to the call sites.
2019-09-03 19:33:54 +02:00
Alexander Udalov
bf5ca2ed84
Cleanup compiler warnings in IR-related modules
2019-09-03 19:32:57 +02:00
Igor Chevdar
5bd88f3191
[IR] ForLoopsLowering: fixed problems with type parameters
2019-09-03 14:40:06 +03:00
Roman Artemev
21c7c89dbc
[JS KLIB IC] Support incremental klib generation for JS IR
...
Note: the following test do not work yet because of IrField FO issue
testSecondaryConstructorAdded
testCompanionObjectInheritedMemberChanged
2019-09-03 14:21:32 +03:00
Roman Artemev
6bea403338
[KLIB] Fix ir serializer output format
2019-09-03 14:21:32 +03:00
Roman Artemev
1cdff7810e
[Psi2Ir] Fix Lazy Fake override field
...
- add comment about problem with DeserializedPropertyDescriptor
2019-09-03 14:21:31 +03:00
Roman Artemev
1e547dd1cd
[IR SERIALIZATION] Add more informative error message
2019-09-03 14:21:31 +03:00
Roman Artemev
31f3e668d2
[IR SERIALIZATION] Cleanup mangler interface
2019-09-03 14:21:31 +03:00
Roman Artemev
2e0ab8ba3f
[IR SERIALIZATION] Fix ONLY_DECLARATION_HEADERS mode
2019-09-03 14:21:31 +03:00
Roman Artemev
0c7454c918
[IR SERIALIZATION] Fix forward Declarations in deserializaer
2019-09-03 14:21:31 +03:00
Roman Artemev
2bd3d90fe0
[IR SERIALIZATION] Link depend modules lazily
2019-09-03 14:21:31 +03:00
Roman Artemev
aa8b58e396
[IR SERIALIZATION] Get rid of UniqIdKey
2019-09-03 14:21:31 +03:00
Roman Artemev
125982841a
[IR SERIALIZATION] Fix clashes
2019-09-03 14:21:30 +03:00
Roman Artemev
55f06ecff5
[IR SERIALIZATION] Fix rebase
2019-09-03 14:21:30 +03:00
Roman Artemev
16be3b6d6e
[IR SERIALIZATION] Add deserializaFullModule API
2019-09-03 14:21:30 +03:00
Roman Artemev
d9affc5abb
[IR SERIALIZATION] Raname IrIrSeriazlizedIrFile -> SerializedIrFile
2019-09-03 14:21:30 +03:00
Roman Artemev
f6339bcf93
[IR SERIALIZATION] Handle UniqId clashes
2019-09-03 14:21:30 +03:00
Roman Artemev
5e14b94a88
[IR SERIALIZATION] Do not track non-metadata descriptors in descriptor table
2019-09-03 14:21:30 +03:00
Roman Artemev
df5f6a2a12
[IR SERIALIZATION] Refactored uniqId allocation
...
- split DeclarationTable into local and global one
- minimize usages of kotlin mangler
- clean up interfaces
2019-09-03 14:21:30 +03:00
Roman Artemev
19b5d57f0e
[IR PROTO] Delete unused proto.java files
2019-09-03 14:21:30 +03:00
Roman Artemev
b7b951c8c8
[IR] Refactoring
2019-09-03 14:21:30 +03:00
Roman Artemev
ea42eb6a5c
[IR] Fix rebase
2019-09-03 14:21:29 +03:00
Roman Artemev
d50eb5ce52
[IR SERIALIZATION] Make [de]serialization processes incremental
...
- Use local uniqID local indexation file-local
- Rethink the way declaration is looked for
- Store in public file index only publicly accessible symbols
- refactor API
- code clean up
2019-09-03 14:21:29 +03:00
Roman Artemev
96a2cc1f17
[JS IR] Clean up Declaration Table code
2019-09-03 14:21:29 +03:00
Roman Artemev
f14107bf65
[IR] Sort dependencies a bit early
2019-09-03 14:21:29 +03:00
Roman Artemev
1465121266
[IR] Split declaration & descriptor tables
2019-09-03 14:21:29 +03:00
Roman Artemev
a7714a5589
[JS IR BE] Split IrModule/IrFile serializers
2019-09-03 14:21:29 +03:00
Roman Artemev
15a49cf2aa
[IR BE] Rename IrModuleSerializer -> IrFileSerializer
2019-09-03 14:21:29 +03:00
Roman Artemev
94a03c9cb4
[IC KLIB] Serialization infrastructure refactoring
...
- remove IrModule header
- put IrDeclaration and its body into separate files
- use only one type of IrData index
- separate deserialization of declarations and its bodies
- introduce FqName message
2019-09-03 14:21:29 +03:00
Roman Artemev
5a45960c04
[IR] Do not interact with file system during Ir Serialization
...
- make `IrModuleSerializer` produce ByteArrays with serialized data
- isolate file system access on Klib writer
2019-09-03 14:21:28 +03:00
Mads Ager
85b1e0165b
[IR] For loop lowering for CharacterSequence.indices.
2019-09-03 13:18:21 +02:00
Steven Schäfer
102a3d60e0
IR: Consistently copyAttributes in DeepCopyIrTreeWithSymbols
...
This was missing for IrFunctionReferences, which caused problems when
copying default parameters before CallableReferenceLowering in the
JVM_IR backend.
2019-09-02 19:55:36 +02:00
Svyatoslav Kuzmich
9594e9b3b1
[JS IR BE] Initial export generation
2019-08-30 13:15:37 +03:00
Svyatoslav Kuzmich
6670180782
[JS IR BE] Use internal visibility for generated helper methods
2019-08-30 13:15:37 +03:00
Vasily Levchenko
22c53e14e6
[IR][inliner] fixed occasional endless recursion in InlinerExpressionLocationHint::toString
2019-08-30 12:23:18 +03:00
Mads Ager
8ed1317839
[IR] For loop lowering for iteration over CharacterSequences.
...
Change-Id: I7aeadfffc80f791ec19a3607e219c1dc4de028db
2019-08-30 09:35:59 +02:00
Vasily Levchenko
d6c5fbace0
[IR][inliner] prevent of parameters location information loss
2019-08-29 16:53:56 +03:00
Steven Schäfer
fd2ad89799
JVM IR: Write ACC_DEPRECATED flags
2019-08-28 19:41:12 +02:00
Steven Schäfer
a90ac2438d
Set correct field visibility in psi2ir
2019-08-28 19:41:11 +02:00
Mads Ager
6c7a904663
Psi2Ir: Mark accessors with no bodies as default accessors.
...
They are currently marked as defined even when they get a
default implementation. That makes it hard to figure out
if the accessor should be removed when introducing a backing
field in the JVM_IR backend.
2019-08-28 19:25:13 +02:00