Mike
a038a88bfa
More correct NOTHING_TO_INLINE description
...
Strictly speaking, they are not 'lambda parameters', they are 'functional parameters' or 'parameters of functional types'.
Sorry for my pedantry.
2018-05-15 16:27:45 +02:00
Mikhael Bogdanov
f4f01efd1f
Avoid descriptors usage in IrFunction flag calculation
2018-05-15 16:07:07 +02:00
Mikhael Bogdanov
e9216625f0
Update logic to $default function lowering (don't skip interface members)
2018-05-15 16:06:31 +02:00
Mikhael Bogdanov
9d36367fbd
Minor. Code clean: use class kind utils
2018-05-15 16:06:30 +02:00
Mikhael Bogdanov
678b1101cb
Add class kind utils
2018-05-15 16:06:28 +02:00
Mikhael Bogdanov
6590666983
Run ir test in parallel
2018-05-15 16:06:00 +02:00
Mikhael Bogdanov
9546c36c3c
Get rid of 'descriptor.isInner()' call
2018-05-15 16:06:00 +02:00
Mikhael Bogdanov
b9da331dcd
Migrate DescriptorsFactory.getInnerClassConstructorWithOuterThisParameter() API to symbols
2018-05-15 16:05:59 +02:00
Mikhael Bogdanov
9103b6a51b
Migrate DescriptorsFactory.getOuterThisFieldSymbol() API to symbols
2018-05-15 16:05:59 +02:00
Mikhael Bogdanov
ee98556669
Migrate DescriptorsFactory caching to symbols
2018-05-15 16:05:58 +02:00
Mikhael Bogdanov
d4d8fe4995
Migrate DescriptorsFactory.getSymbolForObjectInstance() API to symbols
2018-05-15 16:05:57 +02:00
Mikhael Bogdanov
2631d149b2
Migrate DescriptorsFactory.getFieldDescriptorForEnumEntry() API to symbols
2018-05-15 16:05:55 +02:00
Mikhael Bogdanov
9fad3f25f3
Minor. Reformat
2018-05-15 16:04:47 +02:00
Dmitry Petrov
a57869993d
Fix asserted cast in IrBuilderWithScope.irReturn
2018-05-15 15:43:56 +03:00
Dmitry Petrov
21dfee4565
psi2ir: inferred type for 'when' is Nothing only if it's exhaustive
...
TODO: fix inference bug
2018-05-15 15:43:56 +03:00
Dmitry Savvinov
70622ff668
Introduce -Xoutput-imports mode of JVM compiler
...
In this mode, instead of analyzing files and generating bytecode for
them, compiler just saves imports of each file in JSON map of form
'<path to file> -> [<import1>, <import2>, ...]'
It is needed for some external tools, notably for Google3 toolchain.
2018-05-15 15:36:14 +03:00
Denis Zharkov
9de174959e
Support androidx under-migration-like nullability annotations
...
They are hardcoded to avoid having dependency from android.jar on
our annotations' jar with UnderMigration.
Even while it could be a compile-only dependency we need to make sure
that annotated types are read properly without RecentlyNonNull/RecentlyNullable
in the classpath
#KT-24278 Fixed
2018-05-14 17:16:15 +03:00
Igor Chevdar
6daabca90b
Fixed forgotten receivers during copying
2018-05-14 16:01:13 +03:00
Ilya Chernikov
b3219cb762
Implement lazy script definition and light discovery in cli plugin, ...
...
update appropriate parts of the scripting infrastructure
2018-05-14 11:13:44 +02:00
Dmitry Petrov
0feb50021c
IrClass.isInner
2018-05-14 10:37:27 +03:00
Natalia Selezneva
1e92dbf806
Fix tests: attach script reports in cli
2018-05-14 09:21:09 +03:00
Ilya Chernikov
c74924fb8c
Fix lz4 dependency...
...
after snappy was replaced by lz4 in the platform (see the previous commit
with related test for the more info)
2018-05-12 19:02:04 +02:00
Zalim Bashorov
0ca6dbcb82
[JS IR BE] remove no longer needed descriptor based utils
2018-05-11 20:27:54 +03:00
Roman Artemev
131fb642aa
Fix initializer lowering crash during deep copy
2018-05-11 17:14:30 +03:00
Natalia Selezneva
9535c82149
Backport ScriptSeverity.FATAL to old script API
...
(cherry picked from commit dceb063)
2018-05-11 15:51:47 +03:00
Natalia Selezneva
082916be70
Refactoring of ScriptDependenciesUpdater
...
Extract classes for sync and async dependencies loading
2018-05-11 15:51:14 +03:00
Roman Artemev
455edae7de
Fix name clashing between constructors in function reference lowering
2018-05-11 11:33:23 +03:00
Dmitry Petrov
93f5fe2451
IrField is 'final' if corresponding property is 'val'
2018-05-11 11:24:46 +03:00
Dmitry Petrov
d83849eec5
IR: IrValueSymbol.owner: IrValueDeclaration
2018-05-11 11:24:46 +03:00
Dmitry Petrov
1592aa499f
IR: IrFunctionSymbol.owner: IrFunction
...
This requires some class hierarchy juggling around
IrFunction and IrReturnableBlock.
2018-05-11 11:24:46 +03:00
Dmitry Petrov
f500329dac
IR: IrFunction.name
2018-05-11 11:24:46 +03:00
Dmitry Petrov
729efaf912
IR: IrConstructor.isPrimary
...
NB this is required for Kotlin/JS.
2018-05-11 11:24:46 +03:00
Dmitry Petrov
a6057fb499
IR: {IrClass, IrFunction, IrProperty, IrField}.isExternal
2018-05-11 11:24:46 +03:00
Dmitry Petrov
9717345e3b
IR: IrField.isFinal
2018-05-11 11:24:46 +03:00
Vyacheslav Gerasimov
9721ca8d09
as32: Update compiler.pro for AS 3.2 C14
2018-05-10 23:28:42 +03:00
Vyacheslav Gerasimov
4adc0a94ab
as32: Update to 181 platform api
2018-05-10 23:28:41 +03:00
Ilya Chernikov
e727e20973
[minor] Improve daemon exceptions logging
2018-05-08 15:59:45 +02:00
Mikhail Zarechenskiy
eee59cb23c
Fix deserialization of inline functions from inline classes
...
This fixes:
CompileKotlinAgainstInlineKotlinTestGenerated$InlineClasses.testInlineFunctionInsideInlineClassesBox
Consider the following binary dependency:
inline class UInt(val u: Int) {
inline fun foo() {}
}
Now, if we want to inline function `foo`, we have to load it from bytes
as ASM method and to do this we should know the container of this function.
Note that because of inline class, actual signature of this function
would be `foo(I)` and it will be stored in UInt$Erased class, not `UInt`
2018-05-08 11:54:24 +03:00
Dmitry Savvinov
58eb117ae1
Improve message of exception thrown from codegen
...
Don't lose information about which file caused crash.
2018-05-08 11:28:40 +03:00
Mikhail Zarechenskiy
50116fd8fc
Fix coercion result for inline classes, add comment
2018-05-07 15:25:48 +03:00
Mikhail Zarechenskiy
b25a1d9522
Support inline functions inside inline classes
2018-05-07 15:25:46 +03:00
Mikhail Zarechenskiy
5c57c799fc
Fix generation of elvis with null constant for inline classes
2018-05-07 15:25:45 +03:00
Mikhail Zarechenskiy
043c3d9a97
Prohibit properties with backing fields inside inline classes
2018-05-07 15:25:43 +03:00
Mikhail Zarechenskiy
29d15b9990
Prohibit varargs on parameters of inline class types
2018-05-07 15:25:42 +03:00
Mikhail Zarechenskiy
d3c1c11dc5
Prohibit initializer blocks inside inline classes
2018-05-07 15:25:40 +03:00
Mikhail Zarechenskiy
6a120d2f85
Require presence of public primary constructor for inline class
2018-05-07 15:25:38 +03:00
Mikhail Zarechenskiy
096fe1c411
Don't report diagnostics on the whole declaration, use main keyword
2018-05-07 15:25:37 +03:00
Mikhail Zarechenskiy
ed4fd2bb2f
Mark inline classes feature as experimental
2018-05-07 15:25:35 +03:00
Mikhail Zarechenskiy
71de2e3265
Report diagnostics for inline classes even if the feature is unsupported
...
This would help for those who use inline classes by suppressing error
about unsupported feature
2018-05-07 15:25:34 +03:00
Mikhael Bogdanov
8834ea74f2
Revert "Don't generate reified inline function as privates"
...
This reverts commit 56859f7
2018-05-07 14:14:07 +02:00