1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-07-07 07:28:57 +00:00
6502bench/SourceGen
Andy McFadden 3702448780 Correctly handle a label update edge case
Test case:
 1. create a label FOO
   (can be referenced or unreferenced)
 2. add a platform symbol file that also defines FOO
   (the platform symbol will be masked by the user label)
 3. rename FOO to BAR
   (platform symbol should appear)
 4. hit "undo"
   (platform symbol should disappear)
 5. delete label FOO
   (platform symbol should appear)
 6. hit "undo"
   (platform symbol should disappear)

This will fail to update the display list properly, and/or crash
when we try to add FOO to a symbol table that already has a
symbol with that label.

The problem is the optimization that tries to avoid running the
data analysis pass if we're just renaming a user label.  We need to
check to see if the rename overlaps with project/platform symbols,
because we need to update the active def symbol set in that case.

To avoid the crash, we just need to use table[key]=value syntax
instead of table.Add(key,value).
2019-10-13 15:53:46 -07:00
..
AsmGen Optionally treat BRKs as two-byte instructions 2019-10-09 14:55:56 -07:00
Examples Add inline string script sample 2019-10-08 10:44:49 -07:00
Properties Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
Res SourceGen After Dark 2019-10-12 17:23:32 -07:00
RuntimeData Rename button text 2019-10-13 15:21:05 -07:00
Sandbox Make address translation available to extension scripts 2019-10-06 18:13:39 -07:00
SGTestData Change some EQU handling 2019-10-10 13:49:21 -07:00
Tests Add issues & limitations for scripts to manual 2019-10-07 17:56:35 -07:00
Tools Format ProDOS 8 parameter blocks 2019-10-07 15:42:40 -07:00
WpfGui Rename button text 2019-10-13 15:21:05 -07:00
Anattrib.cs Minor tweaks 2019-09-06 13:47:23 -07:00
App.config Fix startup issues 2019-07-20 17:36:12 -07:00
App.xaml Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
App.xaml.cs Version 1.4.0-dev1 2019-10-08 13:32:14 -07:00
AppSettings.cs SourceGen After Dark 2019-10-12 17:23:32 -07:00
AutoLabel.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
ChangeSet.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
CodeAnalysis.cs Optionally treat BRKs as two-byte instructions 2019-10-09 14:55:56 -07:00
DataAnalysis.cs Check formatted string structure at load time 2019-10-06 17:07:07 -07:00
DefSymbol.cs Allow explicit widths in project/platform symbols, part 3 2019-10-02 16:50:15 -07:00
DisasmProject.cs Correctly handle a label update edge case 2019-10-13 15:53:46 -07:00
DisplayList.cs Init all FormattedParts strings fields to an empty string 2019-10-06 15:24:22 -07:00
DisplayListSelection.cs Add C64 encodings to instruction and data operand editors 2019-08-15 17:53:12 -07:00
Exporter.cs Init all FormattedParts strings fields to an empty string 2019-10-06 15:24:22 -07:00
ExternalFile.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
FormatDescriptor.cs Expand set of symbols available to plugins 2019-10-04 16:57:57 -07:00
FormattedOperandCache.cs Add a string operand cache 2019-08-17 17:03:06 -07:00
HelpAccess.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
LineListGen.cs SourceGen After Dark 2019-10-12 17:23:32 -07:00
LocalVariableLookup.cs Instruction operand editor rework, part 2 2019-09-07 20:56:43 -07:00
LocalVariableTable.cs Add local variable uniquification 2019-08-31 14:19:50 -07:00
MainController.cs SourceGen After Dark 2019-10-12 17:23:32 -07:00
MultiLineComment.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
NavStack.cs Tweak navigation 2019-10-10 11:57:36 -07:00
PlatformSymbols.cs Correctly handle a label update edge case 2019-10-13 15:53:46 -07:00
ProblemList.cs Expand set of symbols available to plugins 2019-10-04 16:57:57 -07:00
ProjectFile.cs Optionally treat BRKs as two-byte instructions 2019-10-09 14:55:56 -07:00
ProjectProperties.cs Optionally treat BRKs as two-byte instructions 2019-10-09 14:55:56 -07:00
PseudoOp.cs Allow explicit widths in project/platform symbols, part 4 (of 4) 2019-10-03 10:32:54 -07:00
RuntimeDataAccess.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
SourceGen.csproj SourceGen After Dark 2019-10-12 17:23:32 -07:00
Symbol.cs Expand set of symbols available to plugins 2019-10-04 16:57:57 -07:00
SymbolTable.cs Expand set of symbols available to plugins 2019-10-04 16:57:57 -07:00
SystemDefaults.cs Optionally treat BRKs as two-byte instructions 2019-10-09 14:55:56 -07:00
SystemDefs.cs Move WPF code from SourceGenWPF to SourceGen 2019-07-20 13:28:37 -07:00
UndoableChange.cs Add LocalVariableTable list to project 2019-08-26 16:58:53 -07:00
WeakSymbolRef.cs Add local variable uniquification 2019-08-31 14:19:50 -07:00
XrefSet.cs Instruction operand editor rework, part 2 2019-09-07 20:56:43 -07:00