Skip to content

Commit

Permalink
Merge pull request #2574 from mbeddr/feature/nset
Browse files Browse the repository at this point in the history
  • Loading branch information
alexanderpann authored Nov 12, 2024
2 parents d499787 + 37e7a0b commit efdcdb9
Show file tree
Hide file tree
Showing 15 changed files with 7,785 additions and 15 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is _loosely_ based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). The project does _not_ follow
Semantic Versioning and the changes are simply documented in reverse chronological order, grouped by calendar month.

# November 2024

## com.mbeddr.mpsutil

### Feature

- A new language `com.mbeddr.mpsutil.collections` was added that adds support for a set type `nset` that use nodes as the values of the set. Equivalence of nodes is checked structurally. The hash code calculation is done for all properties and children and the first level of references. The runtime solution also contains a more general class `EquivalenceHashSet` to implement hashsets with arbitrary `equals` and `hashcode` methods.

# October 2024

## com.mbeddr.mpsutil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1533,6 +1533,21 @@
<ref role="3bR37D" to="ffeo:7Kfy9QB6KXW" resolve="jetbrains.mps.lang.core" />
</node>
</node>
<node concept="1SiIV0" id="bHMJKhDDfb" role="3bR37C">
<node concept="3bR9La" id="bHMJKhDDfc" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6L9O" resolve="jetbrains.mps.lang.smodel" />
</node>
</node>
<node concept="1SiIV0" id="bHMJKhDDfd" role="3bR37C">
<node concept="3bR9La" id="bHMJKhDDfe" role="1SiIV1">
<ref role="3bR37D" to="al5i:vOGyTeKPEA" resolve="com.mbeddr.mpsutil.ecore.testing" />
</node>
</node>
<node concept="1SiIV0" id="bHMJKhDDff" role="3bR37C">
<node concept="3bR9La" id="bHMJKhDDfg" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6LaO" resolve="jetbrains.mps.lang.structure" />
</node>
</node>
<node concept="398BVA" id="bHMJKhDAXY" role="3LF7KH">
<ref role="398BVh" node="7hVsScEQJ6E" resolve="mbeddr.mpsutil" />
<node concept="2Ry0Ak" id="bHMJKhDAYF" role="iGT6I">
Expand Down Expand Up @@ -1583,21 +1598,6 @@
</node>
</node>
</node>
<node concept="1SiIV0" id="bHMJKhDDfb" role="3bR37C">
<node concept="3bR9La" id="bHMJKhDDfc" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6L9O" resolve="jetbrains.mps.lang.smodel" />
</node>
</node>
<node concept="1SiIV0" id="bHMJKhDDfd" role="3bR37C">
<node concept="3bR9La" id="bHMJKhDDfe" role="1SiIV1">
<ref role="3bR37D" to="al5i:vOGyTeKPEA" resolve="com.mbeddr.mpsutil.ecore.testing" />
</node>
</node>
<node concept="1SiIV0" id="bHMJKhDDff" role="3bR37C">
<node concept="3bR9La" id="bHMJKhDDfg" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6LaO" resolve="jetbrains.mps.lang.structure" />
</node>
</node>
</node>
<node concept="1E1JtD" id="4JHJliM0jp_" role="2G$12L">
<property role="BnDLt" value="true" />
Expand Down Expand Up @@ -2884,6 +2884,101 @@
</node>
</node>
</node>
<node concept="1E1JtA" id="4JmsWjEwl1e" role="2G$12L">
<property role="BnDLt" value="true" />
<property role="TrG5h" value="test.com.mbeddr.mpsutil.collections.runtime" />
<property role="3LESm3" value="f88d18b6-41df-491c-ad99-c292037bf751" />
<node concept="398BVA" id="4JmsWjEwl1W" role="3LF7KH">
<ref role="398BVh" node="7hVsScEQJ6E" resolve="mbeddr.mpsutil" />
<node concept="2Ry0Ak" id="4JmsWjEwl3k" role="iGT6I">
<property role="2Ry0Am" value="solutions" />
<node concept="2Ry0Ak" id="4JmsWjEwl4F" role="2Ry0An">
<property role="2Ry0Am" value="test.com.mbeddr.mpsutil.collections.runtime" />
<node concept="2Ry0Ak" id="4JmsWjEwl62" role="2Ry0An">
<property role="2Ry0Am" value="test.com.mbeddr.mpsutil.collections.runtime.msd" />
</node>
</node>
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwli6" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwli7" role="1SiIV1">
<ref role="3bR37D" to="ffeo:1H905DlDUSw" resolve="MPS.OpenAPI" />
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwli8" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwli9" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6KXW" resolve="jetbrains.mps.lang.core" />
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwlia" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwlib" role="1SiIV1">
<ref role="3bR37D" to="al5i:13oTmDlqC$D" resolve="com.mbeddr.mpsutil.collections" />
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwlic" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwlid" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6KYb" resolve="jetbrains.mps.baseLanguage" />
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwlie" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwlif" role="1SiIV1">
<ref role="3bR37D" to="al5i:13oTmDlqAt2" resolve="com.mbeddr.mpsutil.collections.runtime" />
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwlig" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwlih" role="1SiIV1">
<ref role="3bR37D" to="ffeo:ymnOULAU0H" resolve="jetbrains.mps.lang.test" />
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwlii" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwlij" role="1SiIV1">
<ref role="3bR37D" to="ffeo:7Kfy9QB6L0h" resolve="jetbrains.mps.baseLanguage.collections" />
</node>
</node>
<node concept="1SiIV0" id="4JmsWjEwlik" role="3bR37C">
<node concept="3bR9La" id="4JmsWjEwlil" role="1SiIV1">
<ref role="3bR37D" to="90a9:6fQhGuklQWU" resolve="de.q60.mps.collections.libs" />
</node>
</node>
<node concept="1BupzO" id="4JmsWjEwliC" role="3bR31x">
<property role="3ZfqAx" value="models" />
<property role="1Hdu6h" value="true" />
<property role="1HemKv" value="true" />
<node concept="3LXTmp" id="4JmsWjEwliD" role="1HemKq">
<node concept="398BVA" id="4JmsWjEwlim" role="3LXTmr">
<ref role="398BVh" node="7hVsScEQJ6E" resolve="mbeddr.mpsutil" />
<node concept="2Ry0Ak" id="4JmsWjEwlin" role="iGT6I">
<property role="2Ry0Am" value="solutions" />
<node concept="2Ry0Ak" id="4JmsWjEwlio" role="2Ry0An">
<property role="2Ry0Am" value="test.com.mbeddr.mpsutil.collections.runtime" />
<node concept="2Ry0Ak" id="4JmsWjEwlip" role="2Ry0An">
<property role="2Ry0Am" value="models" />
</node>
</node>
</node>
</node>
<node concept="3qWCbU" id="4JmsWjEwliE" role="3LXTna">
<property role="3qWCbO" value="**/*.mps, **/*.mpsr, **/.model" />
</node>
</node>
</node>
<node concept="3rtmxn" id="7MFd5ixyTnb" role="3bR31x">
<node concept="3LXTmp" id="7MFd5ixyTnc" role="3rtmxm">
<node concept="3qWCbU" id="7MFd5ixyTnd" role="3LXTna">
<property role="3qWCbO" value="icons/**, resources/**" />
</node>
<node concept="398BVA" id="7MFd5ixyTne" role="3LXTmr">
<ref role="398BVh" node="7hVsScEQJ6E" resolve="mbeddr.mpsutil" />
<node concept="2Ry0Ak" id="7MFd5ixyTnf" role="iGT6I">
<property role="2Ry0Am" value="solutions" />
<node concept="2Ry0Ak" id="7MFd5ixyTng" role="2Ry0An">
<property role="2Ry0Am" value="test.com.mbeddr.mpsutil.collections.runtime" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="2G$12M" id="4pIcGABAyzC" role="3989C9">
<property role="TrG5h" value="com.mbeddr.doc.tests" />
Expand Down
Loading

0 comments on commit efdcdb9

Please sign in to comment.