Alexander Udalov
b32241c967
JVM IR: build all needed stdlib symbols in JvmSymbols manually
...
This removes the mandatory dependency of all JVM IR tests on
kotlin-stdlib (ConfigurationKind.ALL in all IR test cases) and speeds up
tests which don't need kotiln-stdlib by about 20%. Another advantage of
this method is that all required dependencies are listed in one file,
are easy to grasp, and changes to the related code generation can be
done independently of the corresponding changes in the actual library,
which may help in bootstrapping the compiler
2019-03-29 12:07:11 +01:00
Igor Chevdar
3838a2f648
[IR] Copied functions from IrGenerator to IrBuilder
...
With that the number of UNDEFINED_OFFSET should be greater reduced
2019-03-29 12:47:34 +03:00
Alexander Udalov
4cb5a4fb6d
Fix misc typos in IR backends
2019-03-28 14:26:09 +01:00
Alexander Udalov
1ee4313803
Minor, introduce IrType.classOrNull
2019-03-28 14:26:09 +01:00
Alexander Udalov
dada35d785
Remove obsolete and unused descriptors and utils
2019-03-28 14:26:09 +01:00
Anton Bannykh
b3f1908026
JS_IR: remove stub generator from IrBuiltins
2019-03-26 17:38:44 +03:00
Anton Bannykh
ed440fc060
JS IR: remove obsolete hack from SymbolTable
2019-03-26 17:38:43 +03:00
Anton Bannykh
530804d072
JS_IR: eager IrBuiltins
2019-03-26 17:38:43 +03:00
Steven Schäfer
29b7da7c49
Implement support for KClass fields in annotation classes.
2019-03-26 11:54:16 +01:00
Anton Bannykh
a382956c19
IR: use the correct descriptor for the booleanNotSymbol creation
...
NOTE corresponding function now has a dispatch receiver instead of a
single argument
2019-03-25 17:49:15 +03:00
Dmitry Petrov
d4525e19dd
IR: get rid of descriptors in local delegated properties rendering
2019-03-25 11:50:14 +03:00
Dmitry Petrov
12e9943f8f
IR: IrCallableReference now implements IrDeclarationReference
2019-03-25 11:50:14 +03:00
Dmitry Petrov
6ca61cf347
IR: symbol for IrLocalDelegatedProperty
2019-03-25 11:50:14 +03:00
Georgy Bronnikov
0a2450bcd5
Remove duplicate definitions
2019-03-23 19:04:36 +03:00
Georgy Bronnikov
451cda79de
Rewrite AnnotationCodegen for IR, removing descriptors
2019-03-23 19:04:36 +03:00
Roman Artemev
538512fa2a
[JS IR BE] Fix unbound symbols after deserialization
...
* restore broken psi2ir invariant
2019-03-21 16:26:51 +03:00
Dmitry Petrov
a5c95275f0
IR: get rid of descriptors in DumpIrTree
2019-03-21 11:23:51 +03:00
Dmitry Petrov
9a82f926a1
IR: descriptor-less rendering of IR elements (work in progress)
2019-03-21 11:23:51 +03:00
Dmitry Petrov
cd138bc022
IR: IrSymbolVisitor
2019-03-21 11:23:51 +03:00
Dmitry Petrov
110a15d395
IR: drop IrFile.fileAnnotations (it already has annotations anyway)
2019-03-21 11:23:51 +03:00
Dmitry Petrov
b42aa39033
IR: drop IrTypeAlias
2019-03-21 11:23:51 +03:00
Dmitry Petrov
e49eae528c
IR: don't use descriptors in rendering (work in progress)
...
There's some descriptor-based code remaining. Need some more work on IR.
2019-03-21 11:23:51 +03:00
Roman Artemev
698594b14d
[IR] Fix classifier equality for Local classes
2019-03-20 23:45:03 +03:00
Ting-Yuan Huang
f352a4dcd4
IrBuiltIns: factoring out operator names
...
so that they can be used in other contexts.
2019-03-20 21:02:55 +01:00
Dmitry Petrov
9f48695dde
psi2ir: no unbound field symbols in delegated property references
...
#KT-30323 Fixed
2019-03-20 11:57:57 +03:00
Dmitry Petrov
15918fc475
IR: deprecations
2019-03-20 11:57:57 +03:00
Dmitry Petrov
04fad012a0
IR: IrPropertySymbol introduced, some code cleaned up
...
#KT-30304
2019-03-20 11:57:57 +03:00
Roman Artemev
2ed29d8869
[IR BE] Use pure IrType instead of KotlinType
...
* clean up code
2019-03-19 20:09:07 +03:00
pyos
330c4648cb
Implement property references in JVM_IR
2019-03-19 12:00:29 +01:00
Alexander Udalov
c730de13df
Minor, add missing copyright to compiler modules
2019-03-15 19:27:46 +01:00
Alexander Udalov
9ca7719d1f
Minor, inline obsolete and deprecated createFunctionSymbol
...
Also undeprecate 'createSymbolForScopeOwner' and make it private
2019-03-15 19:07:16 +01:00
Alexander Udalov
0c8e58936c
Remove DeepCopyIrTree and most "Creates unbound symbol" deprecated members
2019-03-15 19:05:19 +01:00
Roman Artemev
238f1b2b06
[IR] * Implement isSubtypeOfClass and commonSuperclass based on pure Ir
...
* Implement type strict equality check
* Move type checkers into Ir
* Implement strict Fqn-based classifier equality checker
2019-03-15 19:21:38 +03:00
Svyatoslav Kuzmich
4005b5ce10
[JS IR BE] Fix fqNames in moveBodilessDeclarationsToSeparatePlace
2019-03-15 13:53:20 +03:00
Ting-Yuan Huang
6bbb0269b1
IR: Set when.origin for IrIfElseImpl
...
Change-Id: I38510b59e3dc936baadbfe3ef2702990493815e5
2019-03-13 08:48:20 +01:00
Alexander Udalov
9d94a54f03
Simplify ExternalDependenciesGenerator
...
Remove unused parameters, inline inner class
2019-03-05 16:28:34 +01:00
Alexander Udalov
d7fd4987ae
Remove dependency of ir.tree on frontend.java
2019-03-05 16:28:34 +01:00
Alexander Udalov
aaa2bad719
Do not use IR_EXTERNAL_JAVA_DECLARATION_STUB in DeclarationStubGenerator
...
This code is common across backends and it should not depend on
JVM-specific behavior. Introduce GeneratorExtensions to reverse the
dependency here
2019-03-05 16:28:33 +01:00
romanart
5d6f42e4e6
Fix rebase
2019-03-04 23:24:17 +03:00
Roman Artemev
079f2534c7
[JS IR BE] Support compilation and tests against klib
2019-03-04 23:24:15 +03:00
Roman Artemev
b99377fd69
[JS IR BE] Fix backend to be able compile test against klib
2019-03-04 23:24:15 +03:00
Roman Artemev
6863f9e4f3
[JS IR BE] Make backend be able work with unbound symbols
...
* Fix array type deserialization
* Prepare to compilation against klibs
2019-03-04 23:24:14 +03:00
Roman Artemev
862ccd05df
[JS IR BE] Merge native fixes into Ir Serializer
2019-03-04 23:24:12 +03:00
Roman Artemev
3a444cd0f3
[JS IR BE] Move IrSerializer from native to JS
...
* Fix issues
2019-03-04 23:24:10 +03:00
Svyatoslav Kuzmich
8da076c1ed
[JS IR BE] Fix basic reflection for primitive types
2019-02-28 20:13:56 +03:00
Svyatoslav Kuzmich
e9cdad1143
[JS IR BE] Remove support for dynamic symbols and descriptors
...
Dynamic expressions in IR are now represented as IrDynamicOperatorExpression
We don't have dynamic functions, dynamic dispatch receivers anymore
2019-02-28 20:13:55 +03:00
Alexander Gorshenev
888641e7f1
Use file symbol instead of a file name string in IrReturnableBlockImpl
2019-02-26 13:54:04 +03:00
Svyatoslav Kuzmich
c4ffe36a21
[JS IR BE] Add CharSequence type check
2019-02-25 15:09:25 +03:00
Georgy Bronnikov
3531f47bfb
Remove descriptors from ToArrayLowering
2019-02-23 00:42:16 +03:00
Georgy Bronnikov
72ea4cc3d7
Remove descriptors from BridgeLowering
2019-02-23 00:42:16 +03:00