Commit Graph

14507 Commits

Author SHA1 Message Date
Svetlana Isakova fbbfb95861 added 'mergeDataWithLocalDeclarations' option
for collecting variable data for pseudocode

  removed using data from outer context
  for local declarations for 'variable initializers' analysis
2014-03-07 21:08:18 +04:00
Svetlana Isakova eed3dec539 rewrote PseudocodeTraverser to kotlin 2014-03-07 21:08:18 +04:00
Svetlana Isakova 18eaf483d3 added test for pseudocode memory overhead 2014-03-07 21:08:18 +04:00
Svetlana Isakova a050ebe9d1 rename to kt file 2014-03-07 21:08:17 +04:00
Svetlana Isakova de4a5bbb5b refactoring: extracted local function updateEdgeDataForInstruction 2014-03-07 21:08:17 +04:00
Svetlana Isakova 7d46ff951e Jump after 'for' cycle to loop parameter change.
Not to the cycle body.
2014-03-07 21:08:17 +04:00
Svetlana Isakova e34385bbcf added tests to DataFlowTest
to be able to compare difference in the next commit
2014-03-07 21:08:17 +04:00
Svetlana Isakova 35c6a656c9 Store only data for variables declared in current lexical scope.
Remove data for other variables (when leaving a scope).
2014-03-07 21:08:17 +04:00
Svetlana Isakova 9dd23d9289 refactoring: PseudocodeVariableDataCollector
added a reference to pseudocode
2014-03-07 21:08:17 +04:00
Svetlana Isakova 006f3ccbe9 Added/updated tests for LexicalScope. 2014-03-07 21:08:16 +04:00
Svetlana Isakova 2cfcd1783b Added LexicalScope.
Each instruction has a reference to a lexical scope it was generated in.
The lexical scope is: block, for loop, catch clause, a declaration of: function, function literal, class/object, etc.
2014-03-07 21:08:16 +04:00
Svetlana Isakova 6857694d1a added 'getParent' to Pseudocode
fixed DataFlowInfoTest:
variable data shouldn't be built for locals as independent declarations
2014-03-07 21:08:16 +04:00
Svetlana Isakova 88f2c32724 added DataFlowInfoTest 2014-03-07 21:08:16 +04:00
Svetlana Isakova ab9e470ea9 check edges directions only in ControlFlowTest 2014-03-07 21:08:16 +04:00
Svetlana Isakova 547ee304b6 returned AbstractControlFlowTest
as a subclass of AbstractPseudocodeTest
  moved code to it
2014-03-07 21:08:16 +04:00
Svetlana Isakova 9cb8d17be7 rename AbstractControlFlowTest -> AbstractPseudocodeTest
to make later ControlFlowTest a subclass and preserve a history of the file
2014-03-07 21:08:15 +04:00
Svetlana Isakova 8efd31ffe0 refactoring: added 'getInstructionData' parameter
to 'dumInstructions'
 to be able to dump any instruction data later
2014-03-07 21:08:15 +04:00
Svetlana Isakova 04947fa6a9 refactoring: extracted 'checkPseudocode' 2014-03-07 21:08:15 +04:00
Svetlana Isakova 5de4c5965c removed unused methods 2014-03-07 21:08:15 +04:00
Svetlana Isakova b9c7e1e328 refactoring: extracted methods
computeInstructionColumnWidth,
computeNextInstructionsColumnWidth
2014-03-07 21:08:15 +04:00
Svetlana Isakova 010937525b extracted CFGraphToDotFilePrinter 2014-03-07 21:08:15 +04:00
Svetlana Isakova 1fc4573a8c removed duplication of pseudocode in tests
for local functions
2014-03-07 21:08:15 +04:00
Svetlana Isakova ec47821567 restructured control flow tests 2014-03-07 21:08:14 +04:00
Svetlana Isakova fe349da4d5 rename constants
LAST_READ -> READ
 LAST_WRITTEN -> WRITTEN_AFTER_READ
2014-03-07 21:08:14 +04:00
Svetlana Isakova 58db8d1331 formatting 2014-03-07 21:08:14 +04:00
Svetlana Isakova 69e4346961 minor: added @NotNull annotation 2014-03-07 21:08:14 +04:00
Svetlana Isakova 11c953c220 rewrote PseudocodeVariableDataCollector to kotlin 2014-03-07 21:08:14 +04:00
Svetlana Isakova 1f37a2120e rename to kt file 2014-03-07 21:08:14 +04:00
Svetlana Isakova 4a4e237539 made PseudocodeVariableDataCollector know about variables
(not about abstract data)
2014-03-07 21:08:13 +04:00
Svetlana Isakova b79df51dab extracted PseudocodeVariableDataCollector 2014-03-07 21:08:13 +04:00
Svetlana Isakova 77bc6c44a1 formatting 2014-03-07 21:08:13 +04:00
Svetlana Isakova c2b10dc274 removed initial map for start instruction 2014-03-07 21:08:13 +04:00
Andrey Breslav b1a12608b8 Unused definitions removed from lexer 2014-03-07 19:38:58 +04:00
Andrey Breslav 2a0ccb95b1 Support quotes at the end of a raw string
Fix for KT-4650 Can't use double quote at the end of the raw string

#KT-4650 Fixed
2014-03-07 19:38:58 +04:00
Alexey Sedunov 3cd1af3ba1 Forbid nulls in getPackageNames() collection
#KT-4666 Fixed
2014-03-07 19:24:38 +04:00
Alexey Sedunov 8b0e8ed398 Keep original expression when attempting to bind reference to empty FqName 2014-03-07 19:24:37 +04:00
Alexey Sedunov ca65e27214 Minor refactoring 2014-03-07 19:24:36 +04:00
Alexey Sedunov 09574d72b8 Translate JetSimpleNameReference to Kotlin 2014-03-07 19:24:35 +04:00
Alexey Sedunov c9d10cfcd3 Do not postpone reference lengthening
Do not shorten references located in import/package directives
2014-03-07 19:24:34 +04:00
Alexey Sedunov 5327031300 Update references when moving Kotlin file
#KT-1696 Fixed
2014-03-07 19:24:33 +04:00
Alexey Sedunov e4df997ad0 Fix warnings 2014-03-07 19:24:31 +04:00
Alexey Sedunov 99b8c47276 Extract reference resolver from ShortenReferences 2014-03-07 19:24:30 +04:00
Natalia Ukhorskaya d9d045cbb2 Fix line separators for windows in tests 2014-03-07 18:05:12 +04:00
Mikhael Bogdanov 1fdd3bd615 Android test fix 2014-03-07 16:29:08 +04:00
Mikhael Bogdanov e54ece8d12 Field access chain update on lambda regeneration 2014-03-07 16:12:10 +04:00
Mikhael Bogdanov 632061b324 Support nested chain of non-inline lambdas inside inline one 2014-03-07 14:53:50 +04:00
Alexander Udalov 4937812414 Rewrite KotlinClassHeader to Kotlin 2014-03-07 03:43:41 +04:00
Alexander Udalov 39cd3b1e13 Add tests that there's no PSI for all kinds of synthetic classes 2014-03-07 03:43:28 +04:00
Alexander Udalov 0b2c832343 Write KotlinSyntheticClass to anonymous and local classes 2014-03-07 03:08:19 +04:00
Alexander Udalov cbfb626d50 Write KotlinSyntheticClass to generated classes for functions
That is SAM wrappers, callable reference wrappers, local functions and
anonymous functions
2014-03-07 03:08:18 +04:00