Skip to content
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

MODELIX-829 Split INode interface into multiple interfaces #1306

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

slisson
Copy link
Member

@slisson slisson commented Jan 8, 2025

No description provided.

Copy link
Contributor

github-actions bot commented Jan 8, 2025

Test Results

  197 files    197 suites   33m 8s ⏱️
1 088 tests 1 079 ✅ 8 💤 1 ❌
1 098 runs  1 089 ✅ 8 💤 1 ❌

For more details on these failures, see this check.

Results for commit b721e5b.

♻️ This comment has been updated with latest results.

@slisson slisson force-pushed the MODELIX-829-Split-INode-interface-into-multiple-interfaces branch 5 times, most recently from b74e985 to 4602537 Compare January 9, 2025 09:47
Copy link
Contributor

github-actions bot commented Jan 9, 2025

JVM coverage report

Overall Project 56.02% -2.11%
Files changed 73.14%

File Coverage
TransientNodeAssociation.kt 100% 🍏
MPSNode.kt 100% 🍏
BuiltinLanguages.kt 99.93% -0.07% 🍏
ModelImporter.kt 99.33% -0.67% 🍏
MPSProjectSyncFilter.kt 96.6% -3.4% 🍏
MPSRepositoryAsNode.kt 96.25% -3.13% 🍏
MPSJavaModuleFacetAsNode.kt 93.98% -6.02% 🍏
FileGenerator.kt 93.33% 🍏
SolutionProducer.kt 92.77% -7.23% 🍏
MPSReferences.kt 90.77% 🍏
MPSModuleReferenceAsNode.kt 90.27% -9.73% 🍏
ModelIndex.kt 90.05% 🍏
MPSProperty.kt 87.22% -4.51% 🍏
AsyncTree.kt 86.58% -0.64%
IWritableNode.kt 86.57% -13.43% 🍏
MPSModelImportAsNode.kt 86.36% -13.64% 🍏
MPSModuleAsNode.kt 82.93% -12.98% 🍏
ModelData.kt 82.01% -7.83%
ModelSynchronizer.kt 80.42% -15.04%
MPSSingleLanguageDependencyAsNode.kt 80.24% -12.57% 🍏
NodeAssociationToModelServer.kt 80% -20% 🍏
MPSReferenceLink.kt 79.31% -4.83% 🍏
INodeAssociation.kt 78.95% -21.05%
MPSWritableNode.kt 78.8% -21.2%
MPSModelAsNode.kt 77.51% -18.54%
MPSChildLink.kt 76.67% -4.67% 🍏
Util.kt 75% 🍏
ModelPersistenceWithFixedId.kt 74.14% -25.86%
LegacyNodeAsWritableNode.kt 73.66% -26.34%
MPSProjectAsNode.kt 68.09% -6.38%
PNodeAdapter.kt 66.35% 🍏
NodeDataAsNode.kt 66.01% -33.99%
INodeReferenceSerializer.kt 64.63% 🍏
NodeUtil.kt 64.46% -20.66%
MPSArea.kt 59.76% -4.56%
MPSProjectModuleAsNode.kt 58.82% -3.92%
MPSGenericNodeAdapter.kt 58.72% -41.28%
InvalidationTree.kt 57.93% 🍏
IConcept.kt 57.69% -3.85%
MPSModuleDependencyAsNode.kt 56.69% -43.31%
IChildLink.kt 53.57% -16.5%
IProperty.kt 50% -18.57%
MPSDevKitDependencyAsNode.kt 50% -9.09%
WritableNodeAsLegacyNode.kt 49.45% -50.55%
IReferenceLink.kt 47.97% -20.3%
CPNodeRef.kt 47.86% -9.29%
MPSBulkSynchronizer.kt 39.14% -3.68%
IRole.kt 31.14% -1.17% 🍏
IMetaModelScope.kt 29.81% -70.19%
IConceptReference.kt 28.07% -5.26%
ILink.kt 25% 🍏
IArea.kt 20.83% -8.33%
IModel.kt 20.35% -79.65%
INode.kt 19.19% -5.72%
IDefaultNodeAdapter.kt 7.48% -0.34%
CompositeFilter.kt 0% -78.26%
IncludedModulesFilter.kt 0% -18.52%
ExportFromModelServer.kt 0% -5.33%

@@ -36,13 +36,15 @@
invalidate(containmentPath)
}

override fun needsDescentIntoSubtree(subtreeRoot: INode): Boolean {
override fun needsDescentIntoSubtree(subtreeRoot: IReadableNode): Boolean {
val subtreeRoot = subtreeRoot.asLegacyNode()

Check warning

Code scanning / detekt

Name shadowed: subtreeRoot Warning

Name shadowed: subtreeRoot
require(subtreeRoot is PNodeAdapter)
val path = subtreeRoot.branch.transaction.tree.ancestorsAndSelf(subtreeRoot.nodeId).toList().asReversed()
return rootNode.needsDescentIntoSubtree(path, 0)
}

override fun needsSynchronization(node: INode): Boolean {
override fun needsSynchronization(node: IReadableNode): Boolean {
val node = node.asLegacyNode()

Check warning

Code scanning / detekt

Name shadowed: node Warning

Name shadowed: node
@slisson slisson force-pushed the MODELIX-829-Split-INode-interface-into-multiple-interfaces branch 2 times, most recently from 6847456 to 29da845 Compare January 9, 2025 12:47
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

detekt found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@slisson slisson force-pushed the MODELIX-829-Split-INode-interface-into-multiple-interfaces branch 6 times, most recently from 87c751d to 56a7eea Compare January 17, 2025 11:09
@slisson slisson force-pushed the MODELIX-829-Split-INode-interface-into-multiple-interfaces branch 10 times, most recently from 821005e to 21cf379 Compare January 28, 2025 15:56
The bulk sync so far could only synchronize existing models, but not create new ones.
Since they are generated there is nothing the user can do to fix these warnings.
@slisson slisson force-pushed the MODELIX-829-Split-INode-interface-into-multiple-interfaces branch from 0305564 to 3947aaa Compare January 29, 2025 07:57
This will compile the published artifacts against the latest MPS version.
If there are any binary incompatibilities, users can just migrate their project to a newer
MPS version. Migrating to an older version usually isn't possible.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant