Commit Graph

1478 Commits

Author SHA1 Message Date
Kirill Berezin e89a8c684f KT-3159 Disallow overriding var with different type #KT-3159 fixed 2013-01-21 15:42:39 -08:00
Natalia.Ukhorskaya d7c8655966 Refactoring in Codegen Tests 2013-01-21 13:26:06 +04:00
Jack Zhou 2f47e30a1a Fixed UnsupportedOperationException when a namespace is used in place of an expression. 2013-01-21 13:10:19 +04:00
Alexander Udalov 4305a009df Add regression test for KT-2673
#KT-2673 Obsolete
2013-01-18 21:27:07 +04:00
Alexander Udalov ffd62eb80e Refactor ClassGenTest
Initialize environment with JDK_ONLY in setUp(), allowing to quickly launch
tests without compilation of stdlib.

Remove duplicate/unneeded/commented out tests
2013-01-18 18:04:09 +04:00
Alexander Udalov c4a3963925 Fix nested classes codegen bug
When constructing a closure, codegen in some cases incorrectly determined if
it needed to store a reference from a nested class to the outer
2013-01-18 14:59:27 +04:00
Alexander Udalov 8dff523858 Add some regression tests for obsolete issues
Regenerate tests
2013-01-17 17:38:46 +04:00
Alexander Udalov 3b43d5e874 Additional loadJava/loadKotlin tests for nested classes
#KT-1174 Fixed
2013-01-17 16:45:51 +04:00
Alexander Udalov 192a81591b Resolve qualified nested class expressions
lookupNamespaceType now returns NamespaceType of a scope not only of the
namespace found by name, but also of the classifier static classes scope found
by the same name. This allows correct resolution of expressions
"Class.Nested.member()", where Class comes from Java (previously it was
resolved into a NamespaceDescriptor with a NamespaceType).

NamespaceDescriptor.getNamespaceType() is deleted since there are no sense in
namespace's NamespaceType alone anymore.

Also some minor refactoring (referencedName param is useless)

 #KT-1174 In Progress
2013-01-16 23:11:50 +04:00
Alexander Udalov c4b5577555 Do not report NO_CLASS_OBJECT when namespacesAllowed=true
Now with nested classes the expression "A.something" makes sense even when A
doesn't have a class object ("something" could be a nested class)

Also "A" expression now gets a NamespaceType with the scope of all static
nested classes of A

 #KT-1174 In Progress
2013-01-16 23:11:50 +04:00
Alexander Udalov 85bd41dfa5 Codegen tests for inner/nested classes
#KT-1174 In Progress
2013-01-16 23:11:49 +04:00
Alexander Udalov cc5ba53c80 Support inner/nested classes in JVM back-end
#KT-1174 In Progress
2013-01-16 23:11:48 +04:00
Alexander Udalov 051e94b1c5 Get rid of MutableClassDescriptorLite.isStatic()
isStatic() is now precisely !isInner()
2013-01-16 23:11:48 +04:00
Alexander Udalov b612989eb0 Remove 'inner enum' hack & fix Java inner class resolve
Inner enum was placed into the class object of the outer class. Remove the
hack from frontend, frontend.java & backend. Fix tests

 #KT-1174 In Progress
2013-01-16 23:11:47 +04:00
Alexander Udalov 65716431c4 DescriptorRendererImpl now writes 'inner' for inner classes
#KT-1174 In Progress
2013-01-16 23:11:45 +04:00
Alexander Udalov 0b51a6cae0 Disallow nested classes within inner & local classes
#KT-1174 In Progress
2013-01-16 23:11:45 +04:00
Alexander Udalov a0caa88adf Report ILLEGAL_MODIFIER on inappropriate 'inner' keyword usage
#KT-1174 In Progress
2013-01-16 23:11:44 +04:00
Alexander Udalov 0a1907de11 Check all modifiers for objects
DeclarationsChecker didn't check visibility modifiers for objects
2013-01-16 23:11:43 +04:00
Alexander Udalov 7a3000ccac Forbid usage of outer's generic parameter in nested class
#KT-1174 In Progress
2013-01-16 23:11:42 +04:00
Alexander Udalov 43c37398af Labeled this & super to nested class' outer is an error
#KT-1174 In Progress
2013-01-16 23:11:42 +04:00
Alexander Udalov 5d92453532 Inaccessible outer class member is now an error
#KT-1174 In Progress
2013-01-16 23:11:41 +04:00
Alexander Udalov 84e4611d2b Add 'inner' keyword
Support for the keyword in PSI and stubs

 #KT-1174 In Progress
2013-01-16 23:11:39 +04:00
Natalia.Ukhorskaya 37b12bff2e Vararg in constructor isn't loaded correctly from bytecode
#KT-3251 Fixed
2013-01-16 17:59:35 +04:00
Evgeny Gerashchenko 6574eca393 Fixed test after introducing new warning. 2013-01-16 15:58:02 +04:00
Vladimir Rudev 290681ceee KT-614 Emit a warning when non-null type is checked for instance of nullable type
#KT-614 Fixed
2013-01-15 23:44:20 +04:00
Natalia.Ukhorskaya 47abdcf565 Rename namespace class to {package.name}Package
Conflicts:

	compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java
2013-01-15 19:45:06 +04:00
Evgeny Gerashchenko 21fa647983 Added load java test with deep Java-Kotlin subclassing. 2013-01-15 19:41:41 +04:00
Nikolay Krasko 1263919e39 Test for property from top level object
#KT-3187 Fixed
2013-01-15 19:06:53 +04:00
Andrey Breslav 05cf9041af Tests to make sure that light classes compute the data properly 2013-01-15 15:32:06 +04:00
Andrey Breslav 1a03850951 A test for K-J-K inheritance with generics 2013-01-15 15:32:04 +04:00
Andrey Breslav d4854c22c4 A test for K-J-K inheritance 2013-01-15 15:32:04 +04:00
Maxim Shafirov c293fe124d Regression test for KT-3238. The issue itself is incorrect but test may be useful 2013-01-13 03:09:40 +04:00
Andrey Breslav 9d538dad8a EA-36903 - ISE: JavaTypeTransformer$.visitClassType Fixed 2013-01-10 16:16:49 +04:00
Svetlana Isakova 33a82da493 supertype of error type should be an error type, not any 2013-01-10 15:55:50 +04:00
Svetlana Isakova 142d9a090c no senseless comparison for error type 2013-01-10 15:55:50 +04:00
Alexander Udalov 4cebd3f75b Fix last if-statement in block codegen
#KT-3203 Fixed
2013-01-10 14:05:28 +04:00
Pavel V. Talanov 293b272a22 Fix for a problem where inner (or nested) classes were not analyzed in some situations
# KT-3124 Fixed
2013-01-09 18:38:58 +04:00
Pavel V. Talanov ad848f2ebc Check for ClassKind in getClassifier() and getObjectDescriptor() implementations in java scopes
# KT-3124 fixed
2013-01-09 18:38:56 +04:00
Alexander Udalov 0fea6822c3 Fix codegen of loaded class objects
Remove useless check and todo.

 #KT-2717 Fixed
 #KT-3142 Fixed
2013-01-09 15:40:21 +04:00
Alexander Udalov a2e453b759 Refactor CompileKotlinAgainstKotlinTest
CKAKTest is now abstract, the actual testcases are generated via GenerateTests
into CompileKotlinAgainstKotlinTestGenerated.

Also invokeMain() now invokes namespace.main instead of bbb.namespace.main.
2013-01-09 15:32:51 +04:00
Svetlana Isakova 0b53bd25bd KT-2397 Prohibit final methods in traits with no implementation
#KT-2397 fixed
2012-12-29 20:08:10 +04:00
Svetlana Isakova 9bd4ed2a8d changed case for test file 2012-12-29 20:08:10 +04:00
Svetlana Isakova 55968aabad fixed an exception from 'getConstructorReferenceExpression'
(from exception analyzer)
2012-12-29 20:08:10 +04:00
Evgeny Gerashchenko dda15f7505 Excluded class object names from FQ name and qualified name. 2012-12-28 14:25:34 +04:00
Evgeny Gerashchenko c041fc8fea Removed sorting of upper bounds in renderer.
Removed corresponding test.
2012-12-28 14:25:18 +04:00
Evgeny Gerashchenko 6fa36d330c Regenerated test data. 2012-12-28 14:25:18 +04:00
Evgeny Gerashchenko 28c93f2912 Not rendering "final" for top-level functions and properties. 2012-12-28 14:25:18 +04:00
Evgeny Gerashchenko da7f4f3421 Escaping parameter names in "where". 2012-12-27 20:46:59 +04:00
Evgeny Gerashchenko 862a6ffbbc Moved class object case to namespace comparing test. 2012-12-27 20:46:59 +04:00
Evgeny Gerashchenko 6ab081d969 Regenerated test data. 2012-12-27 20:46:58 +04:00