Conversation
⚡ Risk Assessment —
|
| Files | Summary |
|---|---|
Test Framework MigrationExpressions/Tests/Expressions.Linq.Tests/ExceptionTests.csExpressions/Tests/Expressions.Test/ExceptionTests.csCollections/Collections.Test/ReadOnlyTest.csTransformations/Transformations.Tests/UnitTests/TransformationRuleTest.csTransformations/Transformations.Tests/UnitTests/TransformationRuleT2Test.csTransformations/Transformations.Tests/UnitTests/Relational/ComputationSourceTest.csTransformations/Transformations.Tests/UnitTests/TransformationEngineTest.csTransformations/Transformations.Tests/UnitTests/MarkInstantiatingForTest.csTransformations/Transformations.Tests/UnitTests/Relational/RelationalTest.csTransformations/Transformations.Tests/UnitTests/Misc.csTransformations/Transformations.Tests/UnitTests/TraceTest.csTransformations/Transformations.Tests/UnitTests/GeneralTransformationRuleTest.csTransformations/Transformations.Tests/UnitTests/MultipleDependencyTest.csTransformations/Transformations.Tests/UnitTests/SingleDependencyTest.csTransformations/Transformations.Tests/UnitTests/TransformationContextTest.csTransformations/Transformations.Tests/UnitTests/TransformationTest.csTools/Utilities.Tests/ClosureTest.csTools/Utilities.Tests/TreeTest.csOptimizations/Tests/Optimizations.Tests/RepeatAverageTests.csModels/Tests/Models.Tests.MSTest/ModelTest.csModels/Tests/Models.Tests.NUnit/ModelTest.cs |
Migrated from deprecated [ExpectedException] attribute to Assert.Throws<>() pattern for MSTest v4 compatibility |
Dependency Version UpdatesAnalysis/Tests/Connectivity.Tests/Connectivity.Tests.csprojAnyText/AnyText.Lsp/AnyText.Lsp.csprojAnyText/Tests/AnyText.Tests/AnyText.Tests.csprojCollections/Collections.Test/Collections.Test.csprojExpressions/Expressions.Chunk/Expressions.Chunk.csprojExpressions/Expressions.Utilities/Expressions.Utilities.csprojExpressions/Tests/Expressions.Chunk.Test/Expressions.Chunk.Test.csprojExpressions/Tests/Expressions.Configuration.Test/Expressions.Configuration.Test.csprojExpressions/Tests/Expressions.Linq.Tests/Expressions.Linq.Test.csprojExpressions/Tests/Expressions.Test/Expressions.Test.csprojExpressions/Tests/Expressions.Utilities.Tests/Expressions.Utilities.Tests.csprojExpressions/Tests/Models.Expressions.Tests/Expressions.Models.Tests.csprojGlsp/Glsp/Glsp.csprojGlsp/Tests/GlspTests/GlspTests.csprojGlsp/NMF-GLSP-Core.nuspecIntegrationTests/ComponentBasedSoftwareArchitectures/ComponentBasedSoftwareArchitectures.csprojIntegrationTests/IncrementalizationTests/IncrementalizationTests.csprojInterop/EcoreInterop.Tests/EcoreInterop.Tests.csprojModels/Models.Tests/Models.Tests.csprojModels/Tests/Models.Tests.Dynamic/Models.Tests.Dynamic.csprojModels/Tests/Models.Tests.Json/Models.Tests.Json.csprojModels/Tests/Models.Tests.MSTest/Models.Tests.MSTest.csprojModels/Tests/Models.Tests.NUnit/Models.Tests.NUnit.csprojOptimizations/Tests/Optimizations.Tests/Optimizations.Tests.csprojServices/Tests/ModelServicesTests/ModelServicesTests.csprojSynchronizations/Synchronizations.Models.Tests/Synchronizations.Models.Tests.csprojSynchronizations/Synchronizations.Tests/Synchronizations.Tests.csprojTransformations/Tests/CodeGenerationTests/CodeGenerationTests.csprojTransformations/Transformations.Tests/Transformations.Tests.csprojTools/Tests/Tests.csprojTools/Utilities.Tests/Utilities.Tests.csproj |
Updated NuGet package versions including Microsoft.NET.Test.Sdk, MSTest, NUnit, StreamJsonRpc, System.ValueTuple, and coverlet.collector |
Parser Position Calculation FixesAnyText/AnyText.Core/Parser.cs |
Added NextTokenPosition method to find next non-whitespace token, fixed text edit length calculation to handle mid-update scenarios correctly, fixed end column calculation to not add start column offset when on same line |
Grammar Rule Naming UpdateAnyText/AnyText/Grammars/AnyTextGrammar.csAnyText/AnyText/AnyText.anytext |
Renamed RulePrefixIDRule to RulePrefixLanguageIdRule for accuracy, updated grammar definition to use LanguageId instead of ID for fragment prefix |
Observable Model CollectionModels/Models/Repository/ModelCollection.cs |
Added ValuesCollection inner class implementing ICollection and INotifyCollectionChanged, fixed Values getter to return observable values collection instead of items.Values, syncs collection on model add |
Code Generator ImprovementsAnyText/AnyText.Generator/Transformation/AnytextCodeGenerator.cs |
Enhanced GetIdAssignment to use configurable identifier names setting, added fallback to data rules, added error handling for missing identifier rules |
Property View Model RetrievalUserInterfaces/Controls/PropertyView.Shared.cs |
Changed model retrieval to use WithUpdates() on Values collection directly instead of calling Distinct() then WithUpdates() for proper observable behavior |
Package Reference UpdatesGlsp/NMetaGlspEditor/NMetaGlspEditor.Server/NMetaGlspEditor.Server.csprojModels/Serialization.Json/Serialization.Json.csprojModels/NMF-Tests.NUnit.nuspecServices/PropertyService/PropertyService.csprojTools/Ecore2Code/Ecore2Code.csprojTransformations/CodeGen/CodeGen.csprojUserInterfaces/Controls.Avalonia/Controls.Avalonia.csprojUserInterfaces/Controls/Controls.csprojUserInterfaces/Editor.Avalonia/Editor.Avalonia.csprojUserInterfaces/Editor/Editor.csproj |
Updated package versions: Microsoft.AspNetCore.Mvc.Core, Swashbuckle.AspNetCore, System.Text.Json, System.CodeDom, System.ComponentModel.Composition, Avalonia packages, Extended.Wpf.Toolkit, bodong.Avalonia.PropertyGrid |
Nuspec Dependency UpdatesAnyText/NMF-Anytext-LSP.nuspecExpressions/NMF-Expressions-Chunk.nuspecExpressions/NMF-Expressions-Utilities.nuspecServices/NMF-ModelServices.nuspecServices/NMF-PropertyService.nuspecTransformations/NMF-CodeGen.nuspecUserInterfaces/NMF-Controls-Avalonia.nuspecUserInterfaces/NMF-Controls.nuspec |
Updated dependency versions in nuspec files to match updated package versions |
History/Changelog UpdatesAnyText/AnyText.historyExpressions/Expressions-Chunk.historyExpressions/Expressions-Utilities.historyGlsp/GLSP.historyModels/Models.historyModels/ModelsTests.historyServices/Services.historyTools/Ecore2Code.historyTransformations/CodeGen.historyTransformations/Transformations.historyUserInterfaces/Controls.history |
Updated changelog files to document dependency updates and new features |
Sequence Diagram
sequenceDiagram
participant User
participant TestRunner
participant ModelCollection
participant Parser
participant CodeGenerator
User->>TestRunner: Run tests
TestRunner->>TestRunner: Execute Assert.Throws‹›() pattern
User->>ModelCollection: Access Models
ModelCollection->>ModelCollection: ValuesCollection notifies on Add
ModelCollection->>ModelCollection: Values getter returns values not items.Values
User->>Parser: UpdateFromParseTree
Parser->>Parser: NextTokenPosition calculates correct edit range
User->>CodeGenerator: Generate code
CodeGenerator->>CodeGenerator: GetIdAssignment with configurable names
Dig Deeper With Commands
/review <file-path> <function-optional>/chat <file-path> "<question>"/roast <file-path>
Runs only when explicitly triggered.
Actionable Comments Posted: 1🧾 Coverage Summary✔️ Covered (66 files) |
| return GetEnumerator(); | ||
| } | ||
|
|
||
| private class ValuesCollection : ICollection<Model>, INotifyCollectionChanged |
There was a problem hiding this comment.
New observable ValuesCollection is not connected to ModelCollection.Values
The PR adds a ValuesCollection that raises CollectionChanged, but ModelCollection.Values still returns items.Values directly. That means the new reactive path described in the PR never gets used, so consumers switching to Values.WithUpdates() will not receive the intended notifications.
Return an instance of the new ValuesCollection from Values, initialize its backing store, and route add/remove operations through it so CollectionChanged can actually fire.
Actionable Comments Posted: 1🧾 Coverage Summary✔️ Covered (90 files) |
account for positions shifts in calculating next token positions
0d187c3 to
e4aa0c5
Compare
Summary by MergeMonkey