Jack Zhou
2f47e30a1a
Fixed UnsupportedOperationException when a namespace is used in place of an expression.
2013-01-21 13:10:19 +04:00
Nikolay Krasko
6ce830e999
Add information about unsupported class for label descriptor
2013-01-17 21:05:08 +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
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
cc6bd6239a
Remove unused method
2013-01-16 23:11:46 +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
e76abcb625
Add ClassDescriptor.isInner()
...
Implement in resolve & lazy resolve; place a stub in resolve-java
#KT-1174 In Progress
2013-01-16 23:11:40 +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
Alexander Udalov
949f5ed834
JetSimpleNameExpression's name is not null
...
Modify usages accordingly
2013-01-16 23:11:39 +04:00
Evgeny Gerashchenko
739acbcf01
Fixed test by topologically sorting classes in OverrideResolver.
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
Andrey Breslav
6f8c9bf0d1
JetClass.isEnum() introduced
2013-01-14 20:20:27 +04:00
Andrey Breslav
66aef9a64f
JetClassOrObject implements JetNamedDeclaration
2013-01-14 20:20:14 +04:00
Andrey Breslav
4a6fd1676b
Index classes refactored: keys are properly references, ensuring that a keys doesn't get confused across classes
2013-01-14 20:20:12 +04:00
Andrey Breslav
df7490d01c
Index package FqNames for files
2013-01-14 20:20:11 +04:00
Andrey Breslav
380c8b596a
The slow (synchronized) java.util.Stack replaced by com.intellij.util.containers.Stack
2013-01-14 20:20:10 +04:00
Andrey Breslav
f1e31341ef
Methods reordered
2013-01-14 15:19:49 +04:00
Vladimir Rudev
e4d33e386e
KT-2255, KT-3032 Repair renaming in JetSimpleNameReference
2013-01-11 21:12:51 +04:00
Evgeny Gerashchenko
8a7548bc84
Wiped traces of JetStandardLibrary class name.
2013-01-11 18:23:05 +04:00
Evgeny Gerashchenko
9d4447e3ae
Stabler member sorting.
...
In case when they have same value parameter types, but different type parameter bounds.
2013-01-11 16:08:32 +04:00
Evgeny Gerashchenko
859ef8432e
Removed constructor parenthesis for named objects and enum entries.
2013-01-11 16:08:28 +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
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
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
55968aabad
fixed an exception from 'getConstructorReferenceExpression'
...
(from exception analyzer)
2012-12-29 20:08:10 +04:00
Evgeny Gerashchenko
e03eaf6dde
Removed @author javadocs from code.
2012-12-28 17:44:31 +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
28c93f2912
Not rendering "final" for top-level functions and properties.
2012-12-28 14:25:18 +04:00
Evgeny Gerashchenko
60f8c8a343
Rendering modality if it is "non-default".
2012-12-28 14:25:17 +04:00
Evgeny Gerashchenko
bc9f5da47e
Rendering nice unicode arrow for function types in UI.
2012-12-27 20:46:59 +04:00
Evgeny Gerashchenko
c0ce15ddfb
Made parameter of renderType() @NotNull.
2012-12-27 20:46:59 +04:00
Evgeny Gerashchenko
da7f4f3421
Escaping parameter names in "where".
2012-12-27 20:46:59 +04:00
Evgeny Gerashchenko
ef1ffa4bf7
Sorting upper bounds when rendering "where" to workaround failing test.
2012-12-27 20:46:56 +04:00
Evgeny Gerashchenko
0df966323d
Smarter members sorting.
2012-12-27 20:46:56 +04:00
Evgeny Gerashchenko
b13a99d4cd
Moved MemberComparator to frontend.
2012-12-27 20:46:56 +04:00
Evgeny Gerashchenko
d89f00e981
Fixed missing " " before class object name.
2012-12-27 20:46:56 +04:00
Evgeny Gerashchenko
778df8b1fd
Rendering annotations and visibility for class object.
...
Don't render modality for any object kind.
2012-12-27 20:46:55 +04:00
Evgeny Gerashchenko
63b3e59a18
Render annotation arguments.
2012-12-27 20:46:55 +04:00
Evgeny Gerashchenko
bf42e3c093
Rendering "constructor" instead of "ctor".
2012-12-27 20:46:54 +04:00
Evgeny Gerashchenko
df11628fb0
Added annotation filtering in DescriptorRenderer.
2012-12-27 20:46:54 +04:00