Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
812b2c8
Initial plan
Copilot Nov 29, 2025
c2dbb71
Implement AST-based conditional breakpoint expressions with serializa…
Copilot Nov 8, 2025
b946bd9
Add GDB conditional breakpoint support via X:condition parameter
Copilot Nov 8, 2025
1b1cf79
Fix code style: replace generic catch with ArgumentException, remove …
Copilot Nov 8, 2025
65c8054
Refactor to use proper constructor injection and SneakilyRead
Copilot Nov 8, 2025
2d343d2
WIP: Integrate breakpoint expressions with CfgCpu AST system
Copilot Nov 9, 2025
a47c88f
Extend AstExpressionBuilder and AstInstructionRenderer with new opera…
Copilot Nov 9, 2025
03a2a6f
Create GdbBreakpointCommand record and GdbBreakpointCommandParser
Copilot Nov 9, 2025
8f8f115
Refactor GDB parser: separate parsing from interpretation, add reusab…
Copilot Nov 9, 2025
f33a741
Fix code quality issues: replace generic catch with specific exceptio…
Copilot Nov 9, 2025
7722b1a
Refactor to use AstExpressionParser and AstExpressionBuilder for comp…
Copilot Nov 9, 2025
0f929f5
Improve GDB parser code quality: use TryParse and extract generic par…
Copilot Nov 9, 2025
9c4c97c
Add TypeConversionNode for explicit type conversions in AST
Copilot Nov 9, 2025
55871f3
Add support for 8-bit high/low, 32-bit registers, and segmented pointers
Copilot Nov 9, 2025
28753ba
Remove obsolete code and fix recursive breakpoint issue in tests
Copilot Nov 9, 2025
bd6b536
Fix parser bug: don't skip whitespace when reading identifiers
Copilot Nov 9, 2025
971d8fd
Add custom ExpressionParseException for better UI error reporting
Copilot Nov 10, 2025
f7ec397
Remove unused GetContextSnippet method from ExpressionParseException
Copilot Nov 10, 2025
2c8ad8f
No default parameter.
kevinferrare Nov 13, 2025
256927e
Add breakpoint condition dialog for disassembly context menu (#1520)
Copilot Nov 15, 2025
0ce63f5
[WIP] Add AST part with tests for render understanding of parser (#1521)
Copilot Nov 15, 2025
5f35cb0
chore : no null checks (gdb)
maximilien-noal Nov 16, 2025
f5fb207
refactor: logs in generic catch (UI)
maximilien-noal Nov 16, 2025
b58c7a1
refactor: no generic catch (gdb)
maximilien-noal Nov 16, 2025
8233d2b
chore: post rebase build fix
maximilien-noal Nov 25, 2025
24f154b
Fix CfgCpu AST parser and renderer for round-trip tests (#1549)
Copilot Nov 25, 2025
9d68d6b
Convert BreakpointDialog to DialogHost pattern and add condition supp…
Copilot Nov 25, 2025
27889f4
refactor: removed unused var in test
maximilien-noal Nov 25, 2025
533e015
Changes before error encountered
Copilot Nov 29, 2025
785eb07
fix: use using statements for GdbIo disposal in tests
Copilot Nov 29, 2025
e0a929e
fix: address Copilot AI code review comments
Copilot Nov 29, 2025
cf26562
Update src/Spice86/ViewModels/BreakpointsViewModel.cs
maximilien-noal Nov 30, 2025
191ba47
refactor: don't use null forgiving operator
maximilien-noal Nov 30, 2025
9c8d56b
refactor: create State and Memory directly in ConditionalBreakpointTests
Copilot Nov 30, 2025
d86ac45
fix: resolve unassigned variable error in GdbConditionalBreakpointTests
Copilot Nov 30, 2025
e6f5647
chore: remove unused var
maximilien-noal Nov 30, 2025
c1a8f46
refactor: catch strategy in UI viewmodel
maximilien-noal Nov 30, 2025
fb4c0ee
fix: remove unreachable code in TryCompileConditionWithErrorHandling
Copilot Nov 30, 2025
b21c02e
refactor: remove Machine dependency from GdbConditionalBreakpointTests
Copilot Nov 30, 2025
73f3ace
refactor: (GdbCommandParser) OrdinalIgnoreCase
maximilien-noal Nov 30, 2025
61e979a
feat: add Avalonia.Headless.XUnit NuGet package for UI testing
Copilot Nov 30, 2025
c14fb95
feat: add headless test application and infrastructure
Copilot Nov 30, 2025
527ef81
test: add basic headless infrastructure verification tests
Copilot Nov 30, 2025
6a063a8
test: add comprehensive AST breakpoint UI tests
Copilot Nov 30, 2025
1515a8d
test: add real integration tests for conditional breakpoints
Copilot Nov 30, 2025
5e3e2c1
fix: use imported namespace instead of fully qualified names in Disas…
Copilot Dec 1, 2025
626ccf9
refactor: reduce cyclomatic complexity in GdbBreakpointCommandParser
Copilot Dec 1, 2025
f0df9f2
docs: clarify round-trip normalizations in AstExpressionParserRoundTr…
Copilot Dec 1, 2025
888c279
refactor: rename AstBreakpointUiTests to BreakpointConditionCompilerT…
Copilot Dec 1, 2025
52a8111
refactor: extract shared BreakpointTestFixture to reduce code duplica…
Copilot Dec 1, 2025
6d385b5
Merge branch 'master' into copilot/review-feedback-on-breakpoints
maximilien-noal Dec 1, 2025
13f57d6
test: add comprehensive UI breakpoint tests with shared infrastructure
Copilot Dec 1, 2025
7aad082
Changes before error encountered
Copilot Dec 1, 2025
ad3ad4b
Changes before error encountered
Copilot Dec 2, 2025
17f4692
refactor: extract shared BreakpointConditionService for condition com…
Copilot Dec 2, 2025
3ee9038
refactor: use field instance for BreakpointConditionService
Copilot Dec 2, 2025
65bcfc4
refactor: use real implementations instead of mocks in tests
Copilot Dec 2, 2025
bd7da98
fix: prevent race condition between UI rendering and emulator initial…
Copilot Dec 2, 2025
5c5bcf7
docs: improve XML documentation for vgaRenderer parameter
Copilot Dec 2, 2025
7f61394
Changes before error encountered
Copilot Dec 2, 2025
cf0df4f
fix: add comprehensive null checks in Renderer to prevent race condit…
Copilot Dec 2, 2025
92d671d
Revert "fix: add comprehensive null checks in Renderer to prevent rac…
Copilot Dec 2, 2025
cc85db7
fix: shift operand support in AstExpressionBuilder
maximilien-noal Dec 2, 2025
ccd9771
fix: use Interlocked for thread-safe IsInitialized flag
Copilot Dec 2, 2025
7f7a8c7
feat: add breakpoint editing and condition tooltips in DisassemblyView
Copilot Dec 3, 2025
1cd348f
refactor: remove thread race condition code - fixed in master
Copilot Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Spice86.Core/Emulator/CPU/CfgCpu/Ast/IAstVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public interface IAstVisitor<T> {
public T VisitSegmentedAddressConstantNode(SegmentedAddressConstantNode node);
public T VisitBinaryOperationNode(BinaryOperationNode node);
public T VisitUnaryOperationNode(UnaryOperationNode node);
public T VisitTypeConversionNode(TypeConversionNode node);
public T VisitInstructionNode(InstructionNode node);
public T VisitConstantNode(ConstantNode node);
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
namespace Spice86.Core.Emulator.CPU.CfgCpu.Ast.Operations;

public enum BinaryOperation { PLUS, MULTIPLY, EQUAL, NOT_EQUAL, ASSIGN }
public enum BinaryOperation {
PLUS,
MINUS,
MULTIPLY,
DIVIDE,
MODULO,
EQUAL,
NOT_EQUAL,
LESS_THAN,
GREATER_THAN,
LESS_THAN_OR_EQUAL,
GREATER_THAN_OR_EQUAL,
LOGICAL_AND,
LOGICAL_OR,
BITWISE_AND,
BITWISE_OR,
BITWISE_XOR,
LEFT_SHIFT,
RIGHT_SHIFT,
ASSIGN
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
namespace Spice86.Core.Emulator.CPU.CfgCpu.Ast.Operations;

public enum UnaryOperation {
NOT
NOT,
NEGATE,
BITWISE_NOT
}
Loading
Loading