Alexey Sedunov
3952a121fb
Pseudocode: Track PSI elements which correspond to jump instructions
2014-04-17 19:00:56 +04:00
Andrey Breslav
d28ca5bdfa
Empty parameter list should go before '->' in a lambda
...
Example:
val x = { -> foo() }
2014-04-14 19:15:08 +04:00
Alexander Udalov
79e7ee91e4
Generate bridges for trait implementations properly
...
The intent was to keep the bridge codegen model as simple as possible: we
should be able to figure out all necessary bridges only by a minimal interface
that FunctionHandle provides (isAbstract, isDeclaration, getOverridden)
Add different tests for bridges
#KT-318 Obsolete
2014-04-11 21:57:47 +04:00
Alexander Udalov
b0db6a4526
Rewrite bridge generation to Kotlin, make it abstract
2014-04-11 21:57:46 +04:00
Alexander Udalov
fc838dbb53
Refactor ImplementationBodyCodegen.getTraitImplementations()
...
Make it static, extract a method which finds an implementation in a trait for a
fake override
2014-04-11 21:57:46 +04:00
Alexander Udalov
28940256e3
Minor, add bytecode text test on bridges for fake overrides
2014-04-11 21:57:45 +04:00
Alexander Udalov
478766815d
Consider all real functions, not only declarations in bridge codegen
...
There should be bridges to all of the functions present in bytecode
2014-04-11 21:57:45 +04:00
Alexander Udalov
04c237cc22
Generate bridges for fake overrides when needed
...
#KT-3985 Fixed
#KT-4145 Fixed
2014-04-11 21:57:44 +04:00
Tal Man
aeb5bae556
Refactoring of CompileTimeConstant, introduce flag to represent a constant being referenced by a variable
2014-04-09 14:47:05 -04:00
Nikolay Krasko
a7bc9ec96c
Minor: use directive with current ABI version in test data
2014-04-04 02:10:29 +04:00
Alexander Udalov
cbe6e49a93
Consider outer classes when topsorting hierarchy
...
- when building a topsorted hierarchy, consider not only edges to the class'
superclasses, but also from inner/nested classes to their container. This
effectively means that a class cannot inherit from its nested class. Similar
cases (see the tests) are disallowed in Java.
- filter classes by their presence in TopDownAnalysisContext, not by being a
MutableClassDescriptor (otherwise analysis for local classes ends up trying
to do something with outer superclasses)
- delete outdated comment: topsort is needed not only for better diagnostics,
but also for correct order of fake overrides construction
2014-04-03 19:12:56 +04:00
Alexander Udalov
9b2291d381
Fix StackOverflowError on cyclic hierarchy Java<->Kotlin
...
Report errors not only when superclasses are MutableClassDescriptorLite, but
any classes
#KT-2115 Fixed
2014-04-03 19:04:12 +04:00
Andrey Breslav
d5eea09146
Imports moved from under the script node to top level
2014-04-01 12:36:52 +04:00
Andrey Breslav
77261330b9
Only use script parameters from definition
...
Passing parameters of a _single_ script into TopDownAnalyser makes no sense
2014-04-01 12:25:33 +04:00
Andrey Breslav
f81bf5ea73
Do not add functions and properties with inferred types as script class memebrs
2014-04-01 12:25:31 +04:00
Mikhael Bogdanov
e2f3a589e7
KT-3308 Support local generic functions in codegen
...
#KT-3308 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
4269729b0a
KT-3214: Verify error when get array convention is used with varargs
...
#KT-3214 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
596dc68ea4
KT-4340: Jvm backend generates invalid synthetic accessor for private extension property
2014-04-01 11:18:15 +04:00
Evgeny Gerashchenko
dadc8351b6
Added tests for compiling Java against TraitImpl and extension members.
2014-03-31 22:39:58 +04:00
Natalia Ukhorskaya
4a79bfa16d
Generate static accessors fro protected functions in different packages
...
#KT-4617 Fixed
2014-03-31 21:27:13 +04:00
Mikhael Bogdanov
5b5ecca12a
Inline test: check that no any inline method is called directly
2014-03-31 20:04:23 +04:00
Mikhael Bogdanov
0d239a3e0e
Moving local fun callee generation to CallReceiver
2014-03-31 20:04:10 +04:00
Mikhael Bogdanov
7dc662f613
Optimization for const closures: access it via GETSTATIC
2014-03-31 20:04:09 +04:00
Mikhael Bogdanov
c7c1e33655
Move local fun callee generation to pushArgumentsWithCallReceiver.
...
Local fun callee generation via resolvedCall.resultingDescriptor not call
2014-03-31 20:03:43 +04:00
Evgeny Gerashchenko
829cd95469
KT-4770 Javac fails against Kotlin inner class
...
#KT-4770 fixed
2014-03-28 16:46:26 +04:00
Alexander Udalov
ea4daed0ac
Use FqNameUnsafe instead of FqName in JVM intrinsics
...
#KT-4777 Fixed
2014-03-27 22:46:44 +04:00
Alexander Udalov
0deea6b83c
Add test for obsolete issue
...
#KT-1936 Obsolete
2014-03-27 03:06:59 +04:00
Andrey Breslav
298ddcf0ad
Do not resolve annotation arguments when only a type is requested
...
This replaces the logic that always did complete constructor call resolution by a request to typeResolver when only a type is needed
2014-03-26 21:10:29 +04:00
Andrey Breslav
72b2fa77f7
Test for recursively annotated class object added
2014-03-26 21:10:29 +04:00
Andrey Breslav
4b5a192e4c
Don't add primary constructors parameters for properties
2014-03-26 21:10:27 +04:00
Andrey Breslav
bf2cc99109
Don't add delegated members from error types
2014-03-26 21:10:27 +04:00
Andrey Breslav
34c6eaec56
Correct scope for property accessors in lazy resolve
2014-03-26 21:10:27 +04:00
Andrey Breslav
4dfb6763b2
Alias importing fixed for the lazy case
2014-03-26 21:10:27 +04:00
Alexey Sedunov
5d4527d7aa
Parser: Fix recovery of constructor parameter list
...
#KT-4739 Fixed
2014-03-25 16:49:46 +04:00
Andrey Breslav
80737bdfcf
Fix PSI behavior for "val x : ()?' case
2014-03-25 15:55:53 +04:00
Evgeny Gerashchenko
33e59103ec
Fixed test when JDK 8 is system default.
2014-03-25 14:34:58 +04:00
Evgeny Gerashchenko
5e9e0acc34
Introduced trait for deserialized callable and implementations.
2014-03-25 14:31:42 +04:00
Evgeny Gerashchenko
537c03fb1a
Added test checking that initialization order in package part is not violated.
2014-03-25 14:31:41 +04:00
Evgeny Gerashchenko
d62bc07437
Partial compilation of package (only functions supported).
2014-03-25 14:31:38 +04:00
Ilya Ryzhenkov
480dd6767c
Convert module scripting to .ktm extension.
2014-03-24 18:17:51 +04:00
Ilya Ryzhenkov
98c54f39bb
Unify script file extensions to "kts" so that IDEA, compiler and tests agree when to parse as SCRIPT.
...
Include kt* files into formatter test generation, to test scripting formatting
2014-03-24 18:17:50 +04:00
Ilya Ryzhenkov
9239fa2ece
ScriptName now returns FqName, fully qualified with package name. Update usages and convert to internal format as needed.
2014-03-24 18:17:50 +04:00
Pavel V. Talanov
24364dd63b
Get rid of JetNodeTypes#LOOP_PARAMETER
2014-03-24 17:05:58 +04:00
Mikhael Bogdanov
ca4609dd2a
Support inline true/false options
2014-03-20 17:50:52 +04:00
Alexander Udalov
7d311cdfa0
Support named arguments for Java constructors annotated with KotlinSignature
2014-03-20 12:49:16 +04:00
Svetlana Isakova
75fbecceda
Improved error reporting for invoke on expression
2014-03-20 10:06:02 +04:00
Svetlana Isakova
a829da185d
Resolve invoke on any kind of expressions, not only on simple name expressions
2014-03-20 10:05:24 +04:00
Alexander Udalov
1c5df773c5
Disallow named arguments for Java methods
...
Since they don't have stable names: they're (sometimes) loaded from the
bytecode, which (sometimes) doesn't contain parameter names
2014-03-19 23:24:28 +04:00
Alexander Udalov
5fa1774cc1
Support hasStableParameterNames in KotlinSignature and propagation
...
#KT-1924 In Progress
#KT-2830 Fixed
2014-03-19 23:24:28 +04:00
Alexander Udalov
7fcd42f40c
Fix annoying parameter name override warning
...
Some corner cases still remain: KotlinSignature, propagation, deserialized
delegates to Java interfaces
#KT-1239 Obsolete
#KT-1924 In Progress
#KT-2081 Fixed
2014-03-19 23:24:27 +04:00