Commit Graph

43 Commits

Author SHA1 Message Date
Pavel V. Talanov 5540f09751 Report default object specific diagnostics on 'default' modifier 2015-03-06 19:37:02 +03:00
Pavel V. Talanov 59f192ef90 Replace 'class object' with 'default object' in renderers and test data
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Pavel V. Talanov 48fbce9582 Refactor: process mentions of class object
Rename usages that refer to "default object" concept now
Test data file names are left as is
2015-03-03 20:57:08 +03:00
Pavel V. Talanov 989f07962b Write to trace in case class qualifier is a short reference to default object
This allows to fix some cases when there is a difference between explicit and short reference to default object
Fix shorten reference, optimize imports and import insert helper for default objects
ShortenReferences always transforms default object references to shorter form for now
Fix DescriptorUtils#getFqName() for default objects (affects test data mostly)
Fix DescriptorUtils#getImportableDescriptor()
2015-03-03 13:04:30 +03:00
Pavel V. Talanov ca3096a948 Prohibit inner classes in objects
Using inner classes in objects makes little sense since objects have single static instance
2015-02-20 14:47:37 +03:00
Pavel V. Talanov 460c1e328f Improve error message for inner class in trait 2015-02-20 14:47:36 +03:00
Pavel V. Talanov 7b837e2631 Updata test data: txt files for diagnostics tests 2015-02-16 15:38:36 +03:00
Andrey Breslav 7323ef7002 Minor. Noisy warnings removed from test data 2015-01-29 16:07:26 +03:00
Svetlana Isakova 7a5124215a Updated test data for Array<out T> vararg type 2014-12-12 23:08:28 +03:00
Nikolay Krasko 75c887048e Drop AbstractLazyResolveRecursiveComparingTest test
Test data from compiler/testData/lazyResolve/ was moved to diagnostics tests
2014-12-03 14:08:23 +03:00
Nikolay Krasko 0f852efb54 LTDA: Don't store illegal 'inner' modifier in descriptors 2014-11-28 17:18:43 +03:00
Andrey Breslav 0eee83b6ec Lazy logs removed 2014-11-21 18:59:45 +03:00
Svetlana Isakova 2a83053355 Updated lazy log tests 2014-11-21 14:02:45 +03:00
Stanislav Erokhin b7c473f59e Update lazy.log files 2014-11-17 17:45:01 +03:00
Pavel V. Talanov d2cfcfa659 Fix test data after changes to renderer and descriptors 2014-11-14 17:09:05 +03:00
Alexander Udalov 4f0d83a7fe Update lazy logs after field rename 2014-11-11 18:35:39 +03:00
Andrey Breslav 4892369cf4 Diagnostic tests are logging their lazy activity 2014-11-10 17:24:04 +02:00
Valentin Kipyatkov f0b93f3de3 Fixed highlighting range for errors in class object 2014-10-31 21:08:52 +03:00
Alexander Udalov 3a8ad45dec Append newline to EOF for .txt test data files
Reverts and fixes 102f0d3
2014-10-21 03:18:27 +04:00
Alexander Udalov 102f0d3470 Regenerate .txt testData
Add newline to EOF, trim trailing spaces
2014-10-21 00:16:08 +04:00
Svetlana Isakova 595b3ffe23 KT-6026 Exception on instantiating a nested class in an anonymous object
#KT-6026 Fixed
2014-10-18 11:06:53 +04:00
Svetlana Isakova b20327770b KT-5854 Incorrect 'Nested class should be qualified'
#KT-5854 Fixed
2014-10-18 11:06:52 +04:00
Alexander Udalov 6ddc063a76 Regenerate test data on enums
Now they have final equals, hashCode and compareTo
2014-10-17 21:27:24 +04:00
Nikolay Krasko e796f88b38 Regenerate test data with constructed descriptors for diagnostics tests 2014-09-18 17:58:23 +04:00
Svetlana Isakova 17c3eeb7bd Added error 'NESTED_CLASS_SHOULD_BE_QUALIFIED'
when nested class is resolved through implicit this
2014-09-01 12:32:54 +04:00
Svetlana Isakova 9d366cb896 Prohibit local objects and enum classes
#KT-5402 Fixed
  #KT-4838 Fixed

Resolve type of object inside local object as special, not supertype('Any').
Changed visibility of constructor of anonymous object to 'internal' to be able to resolve the following:
fun box(): String {
    var foo = object {
        val bar = object {
            val baz = "ok"
        }
    }
    return foo.bar.baz
}
The containing declaration of property initializers is constructor, so 'baz' was invisible inside private constructor.
2014-09-01 12:32:52 +04:00
Svetlana Isakova f811b9541c Position error on 'class A' or 'object A' instead of name identifier only 2014-09-01 12:32:51 +04:00
Svetlana Isakova 7f33ad90a6 Report 'nested class accessed via instance reference' error 2014-09-01 12:32:50 +04:00
Andrey Breslav fbdba0f48d Test data fixed 2014-02-26 20:48:45 +04:00
Svetlana Isakova 791fa22abb KT-4405 Control-flow analysis is not performed for some local declarations #KT-4405 Fixed 2014-02-12 12:48:13 +04:00
Svetlana Isakova 5ef320173c generate pseudocode for functions in local classes
#KT-4405 In progress
 #KT-3501 Fixed
2014-02-11 21:07:10 +04:00
Evgeny Gerashchenko e994b718cb KT-4351 Cannot resolve reference to self in init of class local to function
#KT-4351 fixed
2014-01-14 19:13:16 +04:00
Svetlana Isakova 26f66eaea5 fixed INACCESSIBLE_OUTER_CLASS_EXPRESSION check
for extension lambda (with implicit this) in nested class
2013-12-17 19:04:41 +04:00
Nikolay Krasko 27baad64c0 Fix recursion of checking type is supertype during resolving list of supertypes 2013-06-07 17:24:18 +04:00
Nikolay Krasko 37cd7eb1ba Allow resolve class declarations in class objects
Use INACCESSIBLE_OUTER_CLASS_EXPRESSION error for marking already resolved elements

 #KT-3261 Fixed
2013-06-07 17:24:17 +04:00
Alexander Udalov a0a22b7be6 Outer's superclass' method is now inaccessible from nested
Also the diagnostic error message reported the wrong nested class name: it
should be the nested class in the hierarchy which is static, not the class of
the scope where we're checking the accessibility
2013-01-23 20:18:16 +04:00
Alexander Udalov 8dff523858 Add some regression tests for obsolete issues
Regenerate tests
2013-01-17 17:38:46 +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 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 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