Alexander Udalov
028274b934
Don't assert that class is found in BindingContext
...
This isn't true when light classes are generated, according to other such
checks in the same file
#KT-4276 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
fa7076a4fa
Fix ClassCastException with nullable chars
...
#KT-4210 Fixed
#KT-4098 Fixed
#KT-4251 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
4aa6a42483
Support codegen of empty for-loop
...
#KT-3009 Fixed
EA-35742 fixed
2013-12-04 15:19:56 +04:00
Alexander Udalov
61ff9eb45b
Support codegen of empty do-while-loop
...
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
9058272528
Support codegen of empty while-loop
...
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
4cd4026174
Support empty if-statements
...
Type-check "if (...) ;" to Unit, report "implicit cast to Unit", propagate data
flow info out of its condition
#KT-2478 Fixed
2013-12-04 15:19:47 +04:00
Alexander Udalov
9890f2e5ac
Simplify CodegenBinding.canHaveOuter(), make it work for objects
...
This fixes CompileKotlinAgainstKotlinTest
2013-12-02 19:56:10 +04:00
Alexander Udalov
5a4cc1e2fe
Put enum entries into enum class in JDR
2013-12-02 19:56:07 +04:00
Alexander Udalov
60e7722a82
Enum entries are put into enum class, not its class object
2013-12-02 19:56:06 +04:00
Alexander Udalov
a5d6d6719c
EnumValue now has a ClassDescriptor for its enum entry
2013-12-02 19:56:06 +04:00
Alexander Udalov
6f930ef725
Support updated enum entry hierarchy in JVM codegen
2013-12-02 19:56:05 +04:00
Alexander Udalov
c04f63e157
Change object deserialization strategy
...
Objects now have synthetic class objects in deserialization as well. "Class"
proto message now can have a synthetic class object proto within, if it's not
contained in any external class file, which is the case with objects. Drop
"class_object_present" field from binary format, since its value is equivalent
to the presence of "class_object" field
2013-12-02 19:55:21 +04:00
Alexander Udalov
ae116c6d9a
Support updated object hierarchy in JVM codegen
2013-12-02 19:55:20 +04:00
Alexander Udalov
18c59d5495
Treat anonymous objects as classes (ClassKind.CLASS)
...
They're not objects per se, i.e. they're not singletons
2013-12-02 19:55:19 +04:00
Mikhael Bogdanov
8533fd64ff
Compiler inline on/off flag
2013-12-02 18:30:42 +04:00
Andrey Breslav
93160431f9
Fix recusrive calls in infix and prefix form
...
The infamous invokeOperation() method removed
2013-11-29 12:52:58 +04:00
Andrey Breslav
db4b73189a
Move handling of VariableAsFunctionCall's to invokeFunction
2013-11-29 12:52:57 +04:00
Andrey Breslav
23e533f3b7
Render byte code on exception from back-end
2013-11-29 12:52:57 +04:00
Alexey Sedunov
6dfad69434
Allow super calls in object declarations
2013-11-26 17:29:59 +04:00
Mikhael Bogdanov
9037449313
Inline flag calculation through inline annotation
2013-11-26 12:53:07 +04:00
Alexander Udalov
a77d6a006d
Cleanup ClassDescriptorImpl & ErrorClassDescriptor
...
ClassDescriptorImpl now extends ClassDescriptorBase and reuses most of its
functionality. ErrorClassDescriptor now is initialized in its own constructor.
Inline trivial arguments everywhere
2013-11-21 19:34:51 +04:00
Alexander Udalov
2c6bf6171f
Rename ClassKind.isObject -> isSingleton
...
"isObject" gives a false impression that this is a check if the kind is OBJECT
2013-11-21 19:34:50 +04:00
Andrey Breslav
054ecdaa6c
More info in the assert message
2013-11-21 13:07:39 +04:00
Andrey Breslav
0c2e1fb806
@NotNull annotations on descriptor classes
2013-11-21 13:07:34 +04:00
Natalia Ukhorskaya
d241bfc138
KT-3517 Can't call .equals() on a boolean
...
#KT-3517 Fixed
2013-11-19 12:05:26 +04:00
Alexey Sedunov
523e44f00d
Annotate JetVisitorVoid and its inheritors
2013-11-18 18:49:30 +04:00
Andrey Breslav
0c1c0e0099
Always generate local variable table to preserve parameter names
2013-11-15 19:41:25 +04:00
Alexander Udalov
76e347e530
Minor, rename method
2013-11-14 19:11:20 +04:00
Alexander Udalov
69ed375ce1
Extract SpecialNames utility class
2013-11-14 19:11:19 +04:00
Alexander Udalov
d6aa7c2d23
Minor, inline method
2013-11-14 19:11:19 +04:00
Andrey Breslav
6efd72738a
More information in error message
2013-11-13 18:09:37 +04:00
Pavel Talanov
82feef23c3
Rename: OverridingUtil#filterOverrides -> filterOutOverridden to be more precise
2013-11-12 14:15:43 +04:00
Andrey Breslav
2b6f688a52
Annotate fields from traits' class object properties
2013-11-11 17:20:16 +04:00
Andrey Breslav
1f574a9feb
Do not annotate private members and their parameters (to save space)
2013-11-11 17:20:15 +04:00
Andrey Breslav
0959f7e37c
Don't mark primitive types as @NotNull
2013-11-11 17:20:15 +04:00
Andrey Breslav
f3901d2844
visitAnnotation() could return null for light classes
2013-11-11 17:20:15 +04:00
Andrey Breslav
2873f74932
Generate @Nullable/@NotNull annotations on Kotlin declarations (for IDEA interop)
2013-11-11 17:20:15 +04:00
Andrey Breslav
4268d8aa27
Generate parameter annotations even in LIGHT_CLASSES mode
2013-11-11 17:20:15 +04:00
Mikhael Bogdanov
1795b2a0bc
KT-4118 Closures mix makes code fail on runtime
...
#KT-4118 Fixed
2013-11-11 12:22:06 +04:00
Zalim Bashorov
4cea0a3de4
Fix build after change api
2013-11-08 18:14:21 +04:00
Zalim Bashorov
ae8ac28ddc
Split OutputFileFactory to OutputFileCollection and OutputFile
2013-11-08 18:14:21 +04:00
Zalim Bashorov
5dd4eb780e
Extracted OutputFileFactory interface.
2013-11-08 18:14:20 +04:00
Mikhael Bogdanov
df03eb5330
KT-4173: Can't pass a non-trivial closure to a super-call for object expression
...
#KT-4173 Fixed
2013-11-08 15:19:20 +04:00
Mikhael Bogdanov
2c75bdacc5
Added exception for outer absence
2013-11-08 14:10:35 +04:00
Mikhael Bogdanov
3ee9b8cbc5
Code rearrangment
2013-10-31 16:48:31 +04:00
Mikhael Bogdanov
ee2a30f34f
KT-4152 Wrong postfix increment/decrement calculation
...
#KT-4152 Fixed
2013-10-31 16:48:24 +04:00
Mikhael Bogdanov
c325dfffd9
KT-3523: VerifyError for invoke function in inner class
...
KT-4106: VerifyError: Can't access outer this in a lambda in inner class' constructor
KT-3152: VerifyError when accessing from a function of object to a field of outer outer class
#KT-3523 Fixed
#KT-4106 Fixed
#KT-3152 Fixed
2013-10-31 16:42:53 +04:00
Mikhael Bogdanov
10396b853a
Code block reorganization
2013-10-31 16:42:53 +04:00
Mikhael Bogdanov
318214b9d7
Capturing this in constructor context
...
KT-4086 VerifyError creating anonymous object in constructor
#KT-4086 Fixed
2013-10-31 16:42:53 +04:00
Mikhael Bogdanov
936c0a0ae9
Lazy calculation of outer expression
2013-10-31 16:42:51 +04:00