Commit Graph

8944 Commits

Author SHA1 Message Date
Evgeny Gerashchenko 9906bbef4e Navigation to decompiled primary constructor.
#KT-3168 in progress
2012-12-20 18:48:47 +04:00
Evgeny Gerashchenko 4c64ea58d5 Rendering primary constructor in decompiler.
#KT-3168 in progress
2012-12-20 18:48:47 +04:00
Evgeny Gerashchenko 9c15a04291 Pulled getUnsubstitutedPrimaryConstructor method to ClassDescriptor.
Removed ClassDescriptorFromSource. Implemented method in inheritors.
2012-12-20 18:48:47 +04:00
Evgeny Gerashchenko 5e5cd86194 Regenerated test data. 2012-12-20 18:48:47 +04:00
Evgeny Gerashchenko 1ab555a51b Checking primary flag in constructors loaded from Java. 2012-12-20 18:48:47 +04:00
Evgeny Gerashchenko 7fcbb3d563 Resolving primary flag for constructors. 2012-12-20 18:48:46 +04:00
Evgeny Gerashchenko 68d8b6b4c3 Added test with @KotlinSignature on method returning array.
#KT-2840 can't reproduce
2012-12-20 18:48:46 +04:00
Svetlana Isakova 4775329fb7 refactoring in recordInitializedVariables
(iteration over used variables can be replaced with iteration over declared variables)
2012-12-18 19:47:55 +04:00
Svetlana Isakova a5cf54d370 do not miss repeated 'uninitialized' error for properties 2012-12-18 19:47:55 +04:00
Svetlana Isakova a85519c3db isBackingFieldReference moved to JetPsiUtil 2012-12-18 19:47:55 +04:00
Svetlana Isakova 67d0d8b1a9 fix: val can be reassigned through backing field inside its own getter 2012-12-18 19:47:54 +04:00
Svetlana Isakova 58de1cabbc update tests according to package properties check 2012-12-18 19:47:54 +04:00
Svetlana Isakova 11bc01795f check package declaration in a file
to have the right properties initialization order
not to report errors if isDeclaredLocally (only recordInitializedVariables)
2012-12-18 19:47:54 +04:00
Svetlana Isakova 57518c1200 removed cached data for each instruction 2012-12-18 19:47:53 +04:00
Svetlana Isakova 207e161bfc made pseudocode be built on JetElement
instead of JetDeclaration
 to be able to be built on JetFile
2012-12-18 19:47:53 +04:00
Svetlana Isakova cb87ec8bdd added 'getFiles' method to BodiesResolveContext interface 2012-12-18 19:47:53 +04:00
Svetlana Isakova b6e2a0fb39 made JetFile implements JetElement 2012-12-18 19:47:53 +04:00
Svetlana Isakova 62f35e5e87 added LookInsideStrategy enum 2012-12-18 19:47:53 +04:00
Svetlana Isakova 0626225ea5 removed always true 'lookInside' parameter 2012-12-18 19:47:52 +04:00
Svetlana Isakova f697098fb4 KT-2960 Perform control flow checks for package property initializers
#KT-2960 fixed
2012-12-18 19:47:52 +04:00
Svetlana Isakova 51c38d4cd3 do not store references to all copies (if it's a copy itself) 2012-12-18 19:47:52 +04:00
Svetlana Isakova 428a2d8538 rename value -> generateInstructions 2012-12-18 16:00:27 +04:00
Svetlana Isakova dc3e324987 removed cached reversedInstructions and deadInstructions 2012-12-18 16:00:27 +04:00
Svetlana Isakova 6e8ac23689 removed allow dead collecting 2012-12-18 16:00:27 +04:00
Svetlana Isakova 8584a76750 do not need 'allow dead instructions'
after copies are collected

(instruction is dead only if all copies are dead)
2012-12-18 16:00:27 +04:00
Svetlana Isakova d778952512 fixed bug with incorrect copy of pseudocode part
(was noticeable in doTestCopy4 example)
labels after part should be repeated as well
2012-12-18 16:00:27 +04:00
Svetlana Isakova e15340bf3c use upper-case L in label name instead of lower-case 2012-12-18 16:00:27 +04:00
Svetlana Isakova e91805a593 TraversalOrder enum instead of boolean flag 2012-12-18 16:00:27 +04:00
Svetlana Isakova 7a03c85549 refactoring: merge traverseNextInstructions & traverseInstructionsInReverseOrder
into one method (traverseFollowingInstructions)
2012-12-18 16:00:27 +04:00
Ioannis Tsakpinis f5d6e8d751 KT-3141 Use iteration instead of recursion in traverseInstructionsInReverseOrder and traverseNextInstructions. 2012-12-18 16:00:26 +04:00
Svetlana Isakova d7a60f5fed added tests for KT-2369, KT-2585 and KT-2972
KT-2369 Variable is not marked as uninitialized in 'finally' section
 #KT-2369 fixed
KT-2585 Code in try-finally is incorrectly marked as unreachable
 #KT-2585 fixed
KT-2972 Wrong "unused value" warning when finally is present
 #KT-2972 fixed
2012-12-18 16:00:26 +04:00
Svetlana Isakova 97058e628e added names for loop labels
updated control flow test data
2012-12-18 16:00:26 +04:00
Svetlana Isakova 9904f21ceb added ThrowExceptionInstruction
(to store throw expression in it)
2012-12-18 16:00:26 +04:00
Svetlana Isakova e72cdbc1f7 added tests for 'copy' finally pseudocode part 2012-12-18 16:00:26 +04:00
Svetlana Isakova bd31f36836 added repeat pseudocode method
repeat from startLabel to finishLabel
(logic is inside PseudocodeImpl)
2012-12-18 16:00:26 +04:00
Svetlana Isakova 93327a3e31 check uninitialized vars inside local declarations
added parameter 'includeInsideLocalDeclarations' to getDeclaredVariables
2012-12-18 16:00:26 +04:00
Svetlana Isakova d45a4f9d27 refactoring: traverseForward and traverseBackward
instead of boolean parameter 'directOrder'
2012-12-18 16:00:26 +04:00
Svetlana Isakova f0dea9aee4 updated test data for try-finally 2012-12-18 16:00:26 +04:00
Svetlana Isakova ee395bee1f Reporting the same diagnostic only once for copied instructions
(depends on whether it should be reported for all or only for one of the copies)

VariableContext introduced
2012-12-18 16:00:26 +04:00
Svetlana Isakova bb2e1c04ec updated allow dead instructions handling
Added labels collecting:
Allow dead instruction block can have several starters and
one stopper that knows all corresponding starters by labels
2012-12-18 16:00:26 +04:00
Svetlana Isakova 28f1d288cf Added optional custom names to labels in pseudocode 2012-12-18 16:00:26 +04:00
Svetlana Isakova 3ac45ecca7 store references to instruction copies
inside instruction
2012-12-18 16:00:26 +04:00
Svetlana Isakova d92e989c6e add assert to ControlFlowTest 2012-12-18 16:00:25 +04:00
Svetlana Isakova 8a123f8722 added copy() method to Instruction 2012-12-18 16:00:25 +04:00
Svetlana Isakova 8141229744 added edge from try start to error through finally block
KT-2845 Wrong cf-analysys for variable initialization in try..finally
 #KT-2845 fixed
todo: some errors now are reported for several times (each time when analyzing finally block)
2012-12-18 16:00:25 +04:00
Svetlana Isakova b01dc094db parameter removed from 'jumpToError' method 2012-12-18 16:00:25 +04:00
Natalia.Ukhorskaya fcc3a4d0ab Android tests: finish all processes 2012-12-17 17:48:14 +04:00
Natalia.Ukhorskaya 1824879dd0 Add JpsTests for inheritance (J-K-J, K-J-K) 2012-12-17 17:48:06 +04:00
Evgeny Gerashchenko 9d0a4155bb Got rid of unnecessary 'div' elements in table. 2012-12-17 16:36:01 +04:00
Evgeny Gerashchenko e9639ead91 Minor. Added static modifiers, removed unused method. 2012-12-17 16:36:01 +04:00