Commit Graph

3205 Commits

Author SHA1 Message Date
Natalia Ukhorskaya f218bd1df2 Add NotNull annotations 2013-12-05 15:19:23 +04:00
Natalia Ukhorskaya c437b8c4dc Rename files 2013-12-05 15:19:22 +04:00
Natalia Ukhorskaya 64f8556a76 Extract evaluator from AnnotationResolver 2013-12-05 15:19:21 +04:00
Andrey Breslav 9efa604cff Revert 4ca90e9c68 2013-12-05 14:04:50 +04:00
Andrey Breslav d665146e9a No real need to check whether expressions have already been marked 2013-12-05 13:29:54 +04:00
Andrey Breslav 0e1ccc4525 Rename parameter 2013-12-05 13:28:41 +04:00
Andrey Breslav 4ca90e9c68 Proper instructions for elvis operator
We should not mark elvis operator unused, for the rhs may have desired side-effects
2013-12-05 13:28:41 +04:00
Andrey Breslav 6df3a3042c Properly handle the case of backing field access qualified with 'this' reference 2013-12-05 13:28:40 +04:00
Andrey Breslav 11fcd64949 Mark expressions for correct recognition by "unreachable code" 2013-12-05 13:02:17 +04:00
Andrey Breslav e8c94a9d1d Do not generate call for elvis + move dead code tests 2013-12-05 13:02:17 +04:00
Andrey Breslav e0cf73d989 Do not forget to process rhs on unsupported lhs 2013-12-05 13:02:16 +04:00
Andrey Breslav 6c519bb515 Render whitespace in elements without newlines and tabs 2013-12-05 13:02:16 +04:00
Andrey Breslav ef194ffe23 Order fixed in assignment instructions with qualified expression on a lhs 2013-12-05 13:02:16 +04:00
Andrey Breslav 28acbcb219 Using call for set on an indexed expression in lvalue position 2013-12-05 13:02:15 +04:00
Andrey Breslav a5854560f0 Proper order of arguments in array setter calls 2013-12-05 13:02:15 +04:00
Andrey Breslav 163e5cfbb4 Properly process this in callee position 2013-12-05 13:02:15 +04:00
Andrey Breslav b5ae3adf77 Proper resolved calls for '==' 2013-12-05 13:02:14 +04:00
Andrey Breslav 87b6ec4990 Proper read instructions for function literals 2013-12-05 13:02:14 +04:00
Andrey Breslav 09a1736ab6 Recovery in qualified expressions 2013-12-05 13:02:06 +04:00
Andrey Breslav 5908211fbf Refactor JetControlFlowBuilderAdapter to avoid mutable fields 2013-12-05 13:00:44 +04:00
Andrey Breslav de3af6151b Proper assertion message 2013-12-05 13:00:44 +04:00
Andrey Breslav 1e2eb6dfa1 Special instructions added for calls and other constructs 2013-12-05 13:00:44 +04:00
Andrey Breslav 0b575da5d3 @NotNull annotations in instruction classes 2013-12-05 12:56:17 +04:00
Andrey Breslav 3110edaca6 Useless assertions removed 2013-12-05 12:56:17 +04:00
Andrey Breslav f26fe1b71a Rename method and class 2013-12-05 12:56:17 +04:00
Andrey Breslav 750390704d Rename methods 2013-12-05 12:56:17 +04:00
Andrey Breslav 5bedec575d Adding local functions through builder 2013-12-05 12:56:17 +04:00
Andrey Breslav 0a3557d331 Rename class 2013-12-05 12:56:16 +04:00
Andrey Breslav 47ea25dbc2 Rearranged declarations, added missing annotations in JetControlFlowBuilder 2013-12-05 12:56:16 +04:00
Andrey Breslav 8b0eea76ef Field made final 2013-12-05 12:56:16 +04:00
Alexander Udalov 1c3383c811 Unextend Char from Number
This is impossible to achieve on JVM, where java/lang/Character does not extend
java/lang/Number
2013-12-04 15:57:53 +04:00
Alexander Udalov 7af72b98fe Resolve generic bounds of all classes prior to supertypes 2013-12-04 15:57:53 +04:00
Alexander Udalov 4cd4026174 Support empty if-statements
Type-check "if (...) ;" to Unit, report "implicit cast to Unit", propagate data
flow info out of its condition

 #KT-2478 Fixed
2013-12-04 15:19:47 +04:00
Alexander Udalov dfd660a8e3 Try to resolve expression as class object if resolution found an inappropriate result 2013-12-03 19:00:44 +04:00
Alexander Udalov 9465fb22d3 Delete unused method from JetClassLikeInfo 2013-12-02 19:56:16 +04:00
Alexander Udalov 969d81b43b Drop deprecated INLINE flag from binary format 2013-12-02 19:56:16 +04:00
Alexander Udalov 310a70bf84 Report a separate diagnostic on inheritance from singletons 2013-12-02 19:56:16 +04:00
Alexander Udalov 2c2e212d0a Don't allow to call constructors of singletons
This fixes testKt2014
2013-12-02 19:56:16 +04:00
Alexander Udalov 080bd42f88 Allow singletons and functions with the same name 2013-12-02 19:56:15 +04:00
Alexander Udalov dcedbed7e1 Minor, inline DescriptorUtils.getEnumEntriesScope 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 d82e8b9a35 Minor, use ExpressionTypingContext in CallExpressionResolver
Will be needed to use expression-typing-specific things
2013-12-02 19:56:14 +04:00
Alexander Udalov 92cdb0b6e7 Fix imports from objects
This almost reverts 345ecbf, since now properties are no longer created for
objects
2013-12-02 19:56:13 +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 ba693d3e38 Delete nested_object_name from binary format
It's useless now: nested objects are stored along with classes
2013-12-02 19:56:12 +04:00
Alexander Udalov 4526d96186 Delete JetScope.getObjectDescriptor() 2013-12-02 19:56:11 +04:00
Alexander Udalov 550df37056 Delete JetScope.getObjectDescriptors() 2013-12-02 19:56:11 +04:00
Alexander Udalov 31c84951dc Fix objects appearing in type position in completion
After the object refactoring they're present as classes in scopes, not as
object descriptors
2013-12-02 19:56:11 +04:00
Alexander Udalov 9e6cc829fb Delete WritableScopeImpl.addObjectDescriptor() 2013-12-02 19:56:10 +04:00