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
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