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