Commit Graph

2267 Commits

Author SHA1 Message Date
Alexander Udalov 080bd42f88 Allow singletons and functions with the same name 2013-12-02 19:56:15 +04:00
Alexander Udalov c2598faa4e Fix class object visibility check
ExpressionTypingContext now has a scope for visibility checking, which isn't
replaced on replaceScope()
2013-12-02 19:56:15 +04:00
Alexander Udalov dce9fbb91c Report a proper error on class object in enum entry or object
CLASS_OBJECT_NOT_ALLOWED instead of MANY_CLASS_OBJECTS
2013-12-02 19:56:13 +04:00
Alexander Udalov 2e4807856f Don't create NamespaceType for enum entries
Enum entry expressions have the type of their enum, so it shouldn't be possible
to access static nested classes of enum entries from outside.

This fixes BlackBoxCodegenTestGenerated$CallableReference.testEnumNameMethod
2013-12-02 19:56:13 +04:00
Alexander Udalov 550df37056 Delete JetScope.getObjectDescriptors() 2013-12-02 19:56:11 +04:00
Alexander Udalov 9e6cc829fb Delete WritableScopeImpl.addObjectDescriptor() 2013-12-02 19:56:10 +04:00
Alexander Udalov ce481b08d8 Fix CompileKotlinAgainstCustomBinariesTest
The two cases are almost irrelevant now that objects aren't resolved to
properties anymore
2013-12-02 19:56:08 +04:00
Alexander Udalov 42839fa061 Delete LoadKotlinCustomTest
It's useless now because enums are loaded the same way from binaries as well as
from sources
2013-12-02 19:56:08 +04:00
Alexander Udalov dd290bbeb9 Create classes when deserializing enum entries 2013-12-02 19:56:07 +04:00
Alexander Udalov 83ef095093 Change enum entry resolution strategy in JDR
Enum entry is now resolved into a class with a class object, which inherits
from the former class, as in the other parts of the compiler. Create a special
class EnumEntrySyntheticClassDescriptor which will be reused in deserialization
later
2013-12-02 19:56:06 +04:00
Alexander Udalov 57678a5506 Fix AnnotationDescriptorResolveTest, objects are now classes in scopes 2013-12-02 19:56:06 +04:00
Alexander Udalov 26bd1ff189 Change object resolution strategy in lazy resolve 2013-12-02 19:55:20 +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 606b3aa4a9 Test for local fun 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov 59dbf75d80 Added test for sam 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov 712dcaac91 Added tests for && and || 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov 0b2c3efc40 Inline recursion diagnostic 2013-12-02 18:30:43 +04:00
Mikhael Bogdanov 621a4002e4 Binary and unary expression support 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov 1391676281 Support parenthesized, typed and labeled expressions 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov 8533fd64ff Compiler inline on/off flag 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov 4079735bf2 Diagnostic for nullable parameter of Function type 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov eb3edeb527 Nothing to inline diagnostic 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov f7c62fe631 Checking modality and visibility of inline function 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov 7329a7a9ef Diagnostic for vararg parameters 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov 558687f20f Inline visibility checking 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov c89c465fec Diagnostics for wrong inlinable usage 2013-12-02 18:28:24 +04:00
Andrey Breslav 8f45f73340 JetControlFlowTest rewritten to generator 2013-11-29 14:48:31 +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 c975fcb847 Do not generate byte code to text twice 2013-11-29 12:52:56 +04:00
Andrey Breslav 25f6aa68e0 Verification by ASM added to back-end tests 2013-11-29 12:49:43 +04:00
Mikhael Bogdanov 1f37ebf7e7 Tests for KT-3646: Wrong this in closure for extension function in constructor
#KT-3646 Obsolete
2013-11-28 12:12:14 +04:00
Mikhael Bogdanov 35f42b1a65 Tests for KT-4252: Error generating primary constructor with kind OwnerKind
#KT-4252 Obsolete
2013-11-28 10:11:26 +04:00
svtk b178c79573 analyze function arguments after completion for unresolved and ambiguity cases 2013-11-27 14:26:36 +04:00
Nikolay Krasko 87fac21310 Auto generate test for rename 2013-11-26 19:19:59 +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
svtk 95ca2d8f98 Fixed bug with property and function name clash.
Complete type inference dependent on function literals and expected type
for variable as function calls not for 'invoke' calls
2013-11-25 19:42:07 +04:00
svtk 1bfca62592 Fixed: analyze unmapped (or with no callee) functional arguments with right context. 2013-11-22 18:58:02 +04:00
svtk ae3331717e Fixed: unmapped arguments should be completed as well. 2013-11-22 18:58:02 +04:00
svtk 058726a0f1 Check function arguments of nested unsuccessful calls. 2013-11-22 18:58:02 +04:00
svtk 1a34dffb1f Fixed inference in a simple case.
Try number lower bounds before upper bounds when computing a value.
2013-11-22 18:58:01 +04:00
svtk ca1650d31d Fixed exception from EA
"The constraint shouldn't contain different type variables on both sides: T <: R".
It occurred because we analyzed function literals before completion with unsubstituted (therefore wrong) expected type, and cached resulting type.
2013-11-22 18:58:01 +04:00
svtk 2bd4aa97c6 KT-4204 ConstraintSystem erased after resolution completion
#KT-4204 Fixed
2013-11-22 18:57:59 +04:00
svtk c1ec8cbde9 check Nothing type for all expressions not only for calls and simple names
(but excluding statement expressions)
2013-11-22 18:57:58 +04:00
Alexander Udalov ff29684e3d Delete ExpressionPosition
It had been deprecated in 838c408
2013-11-21 19:34:50 +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
Evgeny Gerashchenko 9a8d639ac5 Fixed compilation.
Ffter accidental using of method from too fresh IDEA.
2013-11-21 19:15:49 +04:00
Alexey Sedunov 2ecac63405 Fix compilation error caused by the change in IDEA API 2013-11-21 18:57:13 +04:00
Evgeny Gerashchenko 581b9646d7 Added test for kotlinc executables. 2013-11-21 17:37:37 +04:00