-
Notifications
You must be signed in to change notification settings - Fork 82
two HiFi tree diff algorithms for after source-to-source transformations (quick-fix, refactoring, formatting) in the IDE #2031
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
84 commits
Select commit
Hold shift + click to select a range
7b6f519
experimental HiFi tree diff algorithm for use with quick-fixes and re…
jurgenvinju 374a8a2
developing the list diff algorithms with inspiration from the diff tool
jurgenvinju da7f5a1
Merge branch 'main' into hifi-tree-diff
jurgenvinju c623d2b
made some progress with the list algorithm
jurgenvinju 1525e73
minor improvements. this is not finished yet
jurgenvinju 3196433
slow progress
jurgenvinju 3f05df4
added demo
jurgenvinju 2547a1a
Merge branch 'main' into hifi-tree-diff
jurgenvinju ed091f7
exposed IString.indent to String library module to allow users to reu…
jurgenvinju 2462eeb
slow progress on the diff algorithm
jurgenvinju 8abdbd6
more complex example, and debug prints
jurgenvinju 4a55110
finetunes stuff in indentation learner
jurgenvinju 97eb352
testing
jurgenvinju b051673
Merge branch 'main' into hifi-tree-diff
jurgenvinju 27e8536
Merge branch 'main' into hifi-tree-diff
jurgenvinju fd6ccbb
fixed nasty bug in Type.intersection w.r.t. parameter types
jurgenvinju 1c0a81d
started on testing HiFiTreeDiff
jurgenvinju 9c64458
minor improvements
jurgenvinju 71a1c00
fixed bug in list diff
jurgenvinju 2677795
oops
jurgenvinju 091b0b9
simplified and repaired equal sublist detection
jurgenvinju ed1ad03
finding more nested similarity under list elements
jurgenvinju cf798ec
Finishes HiFiTreeDiff algorithm
jurgenvinju c84a9e2
fixed omision in ResultFactory for ComposedFunctions
jurgenvinju af081f5
added more tests, fixed some issues
jurgenvinju 94c9adc
added failing test
jurgenvinju 9856f1c
debugging
jurgenvinju cbfaa68
more debugging
jurgenvinju ec718d1
one more test
jurgenvinju c634cb7
Merge branch 'main' into hifi-tree-diff
jurgenvinju 5371199
Merge remote-tracking branch 'origin/main' into hifi-tree-diff
toinehartman c8c267d
Add missing return.
toinehartman 5e89924
Implement layoutDiff.
toinehartman 5437b63
factored layoutDiff into its own module
jurgenvinju 51821f5
added TODO
jurgenvinju bfa4947
simplifying and fixing and commenting layoutDiff
jurgenvinju ee4eec2
minor steps
jurgenvinju 45b3e90
added TODO
jurgenvinju e884961
removed unused import
jurgenvinju 7b16301
added reposition function to ParseTree
jurgenvinju 373179f
finished first reasonable version of layoutDiff
jurgenvinju d9b9c77
initial comment learning tricks for layoutDiff
jurgenvinju 2ae0e4e
comments
jurgenvinju a384344
minor
jurgenvinju 6112a81
worked around ambiguities with character class types using an alias
jurgenvinju 3fbe31d
reposition by defaults reproduces parse
jurgenvinju 89efd7a
Fix failing tests.
toinehartman a9f675a
Add base case for cycles and chars.
toinehartman 7f73393
Remove accidental character.
toinehartman 7865448
Write base case with explicit patterns.
toinehartman 21d08bb
added first test for reposition
jurgenvinju 70b9140
added missing documentation on Tree@\loc
jurgenvinju 7f87c8a
added tests
jurgenvinju 4f27ec9
removed debug println
jurgenvinju 6e3d0cd
optimized base cases
jurgenvinju 69e3e1e
added 5 modes of case-insensitive formatting to layoutDiff
jurgenvinju 0e0b252
fixed parse error
jurgenvinju 028b428
more parse errors. still learning how to work with error recovery in …
jurgenvinju 3beb15f
added default option
jurgenvinju a136daf
fixed comment
jurgenvinju 64b4b1a
aligned CI options of Tree2Box with layoutDiff
jurgenvinju a9fb177
default indentation size set to 4
jurgenvinju cb7dedf
added more complex tests for sublist equality
jurgenvinju bd9cc83
fixed asFormatted literal option
jurgenvinju 6f2dceb
added TODO
jurgenvinju 37334ab
added test
jurgenvinju 5d12f49
improved indentation inheritance
jurgenvinju 5d60bdf
refactored private function name
jurgenvinju f99ee23
fixed documentation
jurgenvinju 5b24d7d
fixed minor issue in tutor compiler
jurgenvinju 4299881
Merge branch 'main' into hifi-tree-diff
jurgenvinju 62689ab
apply suggesting by @toinehartman for improved readability
jurgenvinju f197f4a
workaround for #2342
jurgenvinju a893ed1
added comment
jurgenvinju d1ff2bb
bug in execute text edits solved
jurgenvinju 7bff86d
finetune comma and semicolon separated lists
jurgenvinju 122932f
better defaults for binary expressions
jurgenvinju 407b95b
minor refactoring
jurgenvinju 5d1606d
with layoutDiff in the game, comment preservation is no longer a task…
jurgenvinju c545a74
finetuning the pico demo
jurgenvinju 9e07b1f
factored clones in pico formatting demo
jurgenvinju 93e0b93
improved docs
jurgenvinju b56bb93
Fix tutor & type errors.
toinehartman afbb402
Merge branch 'main' into hifi-tree-diff
jurgenvinju File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.