Commit Graph

14514 Commits

Author SHA1 Message Date
Svetlana Isakova ec4df2ac0b Formatting. 2014-03-07 21:08:19 +04:00
Svetlana Isakova 8045594abd minor: moved methods 2014-03-07 21:08:19 +04:00
Svetlana Isakova 5d77ae075c rename: in -> incoming, out -> outgoing 2014-03-07 21:08:19 +04:00
Svetlana Isakova 0a4abd2ebd refactoring: inlined createEdges function 2014-03-07 21:08:19 +04:00
Svetlana Isakova d2bdb3cb6d removed InstructionDataMergeStrategy, InstructionDataAnalyzeStrategy
interfaces from PseudocodeTraverse
(use only in Java as type aliases to simplify function type parameters)
2014-03-07 21:08:19 +04:00
Svetlana Isakova dab9f6997a rollback: moved 'collectData' to PseudocodeTraverser 2014-03-07 21:08:18 +04:00
Svetlana Isakova b7f7063bf4 improved postProcess
collect (and cache) reachable instructions for local declarations
after processing all parent instructions
2014-03-07 21:08:18 +04:00
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