View Issue Details

IDProjectCategoryView StatusLast Update
0002149ConvertrDiff Enginepublic2022-11-20 22:12
ReporterChris GrahamAssigned To 
SeverityFeature-request 
Status non-assignedResolutionopen 
Summary0002149: Intelligence with StringReplace* ops
DescriptionIf complete coverage in a StringReplace op can't be found, the engine will have to use individual StringReplaceAfter/StringReplaceBefore/StringReplaceBetween ops to get the necessary specificity.

However, there may be a middle ground in some cases.

For example:

a
b
a
b
a
-->
ax
b
ax
b
a

In this case, StringReplace of a to ax is not going to work, because there is one non-compliant case. So we may use StringReplaceBefore instead.

It wouldn't work automatically to cover these in a single case (I think) because we'd normally look for the StringReplaceBefore that captures a single diff line and only that line, i.e. over-specifying it, and then we'd follow on to find the remaining case with the second opcode.

However, obviously a single StringReplaceBefore op would work (replace any "a" line before a "b" line line with an "ax" line).
Additional InformationMake sure unit tests exist to capture this.

Don't take my above wording or example as gospel. The key issue here is ensuring that our engine is smart enough to have both correctness and conciseness in its choice of ops.
TagsNo tags attached.
Sponsorship open

Relationships

child of 0002147 non-assigned Implement StringReplace* opcodes 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2022-11-20 22:12 Chris Graham Assigned To rutger1 =>
2022-11-20 22:12 Chris Graham Status assigned => non-assigned