Skip to content
Browse files

replacing getDeclarationNode with newly introduced getSourceNode: Ref…

…erenceableConceptsChecker
  • Loading branch information...
1 parent b25e7c5 commit afc74c34b2a45af1972babd6502e5ea9fb573396 Mihail Muhin committed May 2, 2016
View
535 plugins/modelchecker/solution/modelchecker/actions.mps
@@ -45,6 +45,9 @@
<import index="phxh" ref="r:5754bb7d-f802-4a0f-bd3d-0764f0d71413(jetbrains.mps.ide.modelchecker.platform.actions)" />
<import index="g4jo" ref="r:d98d04fb-4a60-4106-81cf-6cb40b67de4d(jetbrains.mps.ide.findusages.model)" />
<import index="ap4t" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.generator(MPS.Core/)" />
+ <import index="vndm" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.language(MPS.Core/)" />
+ <import index="ze1i" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.runtime(MPS.Core/)" />
+ <import index="vxxo" ref="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.structure.concept(MPS.Core/)" />
<import index="tprs" ref="r:00000000-0000-4000-0000-011c895904a4(jetbrains.mps.ide.actions)" implicit="true" />
</imports>
<registry>
@@ -393,10 +396,14 @@
<reference id="1171315804605" name="concept" index="2RRcyH" />
</concept>
<concept id="1171323947159" name="jetbrains.mps.lang.smodel.structure.Model_NodesOperation" flags="nn" index="2SmgA7" />
+ <concept id="1180031783296" name="jetbrains.mps.lang.smodel.structure.Concept_IsSubConceptOfOperation" flags="nn" index="2Zo12i">
+ <child id="1180031783297" name="conceptArgument" index="2Zo12j" />
+ </concept>
<concept id="1205861725686" name="jetbrains.mps.lang.smodel.structure.Node_IsAttributeOperation" flags="nn" index="32XrjI" />
<concept id="1678062499342629858" name="jetbrains.mps.lang.smodel.structure.ModuleRefExpression" flags="ng" index="37shsh">
<child id="1678062499342629861" name="moduleId" index="37shsm" />
</concept>
+ <concept id="6677504323281689838" name="jetbrains.mps.lang.smodel.structure.SConceptType" flags="in" index="3bZ5Sz" />
<concept id="1139613262185" name="jetbrains.mps.lang.smodel.structure.Node_GetParentOperation" flags="nn" index="1mfA1w" />
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
@@ -4439,39 +4446,30 @@
<node concept="3Tqbb2" id="7iyppy3MLpY" role="1tU5fm" />
</node>
<node concept="3clFbS" id="7iyppy3KvKh" role="3clF47">
- <node concept="3cpWs8" id="7U5B1qbSAxO" role="3cqZAp">
- <node concept="3cpWsn" id="7U5B1qbSAxP" role="3cpWs9">
- <property role="TrG5h" value="conceptDecl" />
- <node concept="3Tqbb2" id="7U5B1qbSF5I" role="1tU5fm">
- <ref role="ehGHo" to="tpce:h0PkWnZ" resolve="AbstractConceptDeclaration" />
- </node>
- <node concept="1PxgMI" id="71ste0$3ZaS" role="33vP2m">
- <property role="1BlNFB" value="true" />
- <ref role="1m5ApE" to="tpce:h0PkWnZ" resolve="AbstractConceptDeclaration" />
- <node concept="2OqwBi" id="7U5B1qbSAxR" role="1m5AlR">
- <node concept="2OqwBi" id="7U5B1qbSAxT" role="2Oq$k0">
- <node concept="2JrnkZ" id="7U5B1qbWmNH" role="2Oq$k0">
- <node concept="37vLTw" id="7iyppy3KSIt" role="2JrQYb">
- <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
- </node>
- </node>
- <node concept="liA8E" id="7U5B1qbSAxU" role="2OqNvi">
- <ref role="37wK5l" to="mhbf:~SNode.getConcept():org.jetbrains.mps.openapi.language.SConcept" resolve="getConcept" />
- </node>
- </node>
- <node concept="liA8E" id="71ste0$3Yb3" role="2OqNvi">
- <ref role="37wK5l" to="c17a:~SAbstractConcept.getDeclarationNode():org.jetbrains.mps.openapi.model.SNode" resolve="getDeclarationNode" />
- </node>
+ <node concept="3cpWs8" id="4yQF8hVWu$V" role="3cqZAp">
+ <node concept="3cpWsn" id="4yQF8hVWu$W" role="3cpWs9">
+ <property role="TrG5h" value="cncpt" />
+ <node concept="3bZ5Sz" id="4yQF8hVWu$S" role="1tU5fm" />
+ <node concept="2OqwBi" id="4yQF8hVWu$X" role="33vP2m">
+ <node concept="37vLTw" id="4yQF8hVWu$Y" role="2Oq$k0">
+ <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
</node>
+ <node concept="2yIwOk" id="4yQF8hVWu$Z" role="2OqNvi" />
</node>
</node>
</node>
<node concept="3clFbJ" id="7U5B1qbSLBY" role="3cqZAp">
- <node concept="3clFbC" id="7U5B1qbTsS3" role="3clFbw">
- <node concept="37vLTw" id="7U5B1qbSRtZ" role="3uHU7B">
- <ref role="3cqZAo" node="7U5B1qbSAxP" resolve="conceptDecl" />
+ <node concept="3fqX7Q" id="4yQF8hVWglP" role="3clFbw">
+ <node concept="1eOMI4" id="4yQF8hVWglT" role="3fr31v">
+ <node concept="2OqwBi" id="4yQF8hVWho4" role="1eOMHV">
+ <node concept="37vLTw" id="4yQF8hVWu_0" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
+ </node>
+ <node concept="liA8E" id="4yQF8hVWhOr" role="2OqNvi">
+ <ref role="37wK5l" to="c17a:~SAbstractConcept.isValid():boolean" resolve="isValid" />
+ </node>
+ </node>
</node>
- <node concept="10Nm6u" id="7U5B1qbTt_F" role="3uHU7w" />
</node>
<node concept="3clFbS" id="7U5B1qbSLC0" role="3clFbx">
<node concept="3clFbF" id="7U5B1qbTxcm" role="3cqZAp">
@@ -4509,273 +4507,322 @@
<node concept="10Nm6u" id="6d$5VVB5LJJ" role="37wK5m" />
</node>
</node>
+ <node concept="3cpWs6" id="4yQF8hVWirx" role="3cqZAp" />
</node>
</node>
- <node concept="3clFbJ" id="7U5B1qbUCSs" role="3cqZAp">
- <node concept="2OqwBi" id="7U5B1qbUFoM" role="3clFbw">
- <node concept="1mIQ4w" id="7U5B1qbUMH3" role="2OqNvi">
- <node concept="chp4Y" id="7U5B1qbUNaB" role="cj9EA">
- <ref role="cht4Q" to="tpce:f_TIwhg" resolve="ConceptDeclaration" />
+ <node concept="3clFbJ" id="4yQF8hVWjkC" role="3cqZAp">
+ <node concept="3clFbS" id="4yQF8hVWjkE" role="3clFbx">
+ <node concept="3clFbF" id="7U5B1qbURFo" role="3cqZAp">
+ <node concept="2YIFZM" id="6d$5VVB5LJU" role="3clFbG">
+ <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
+ <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
+ <node concept="37vLTw" id="6d$5VVB5LJV" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
+ </node>
+ <node concept="37vLTw" id="6d$5VVB5LJW" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
+ </node>
+ <node concept="3cpWs3" id="6d$5VVB5LJX" role="37wK5m">
+ <node concept="2OqwBi" id="6d$5VVB5LJY" role="3uHU7w">
+ <node concept="2JrnkZ" id="6d$5VVB5LJZ" role="2Oq$k0">
+ <node concept="37vLTw" id="6d$5VVB5LK0" role="2JrQYb">
+ <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
+ </node>
+ </node>
+ <node concept="liA8E" id="6d$5VVB5LK1" role="2OqNvi">
+ <ref role="37wK5l" to="wyt6:~Object.toString():java.lang.String" resolve="toString" />
+ </node>
+ </node>
+ <node concept="Xl_RD" id="6d$5VVB5LK2" role="3uHU7B">
+ <property role="Xl_RC" value="Interface instance found! " />
+ </node>
+ </node>
+ <node concept="10M0yZ" id="6d$5VVB5LK3" role="37wK5m">
+ <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
+ <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
+ </node>
+ <node concept="Xl_RD" id="6d$5VVB5LK4" role="37wK5m">
+ <property role="Xl_RC" value="interface instance" />
+ </node>
+ <node concept="10Nm6u" id="6d$5VVB5LK5" role="37wK5m" />
</node>
</node>
- <node concept="37vLTw" id="7U5B1qbUDwg" role="2Oq$k0">
- <ref role="3cqZAo" node="7U5B1qbSAxP" resolve="conceptDecl" />
+ <node concept="3cpWs6" id="4yQF8hVWmoi" role="3cqZAp" />
+ </node>
+ <node concept="2ZW3vV" id="4yQF8hVWkG2" role="3clFbw">
+ <node concept="3uibUv" id="4yQF8hVWl4E" role="2ZW6by">
+ <ref role="3uigEE" to="c17a:~SInterfaceConcept" resolve="SInterfaceConcept" />
+ </node>
+ <node concept="37vLTw" id="4yQF8hVWu_1" role="2ZW6bz">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
</node>
</node>
- <node concept="3clFbS" id="7U5B1qbUCSu" role="3clFbx">
- <node concept="3cpWs8" id="7U5B1qbVEtB" role="3cqZAp">
- <node concept="3cpWsn" id="7U5B1qbVEtC" role="3cpWs9">
- <property role="TrG5h" value="decl" />
- <node concept="3Tqbb2" id="7U5B1qbVEs$" role="1tU5fm">
- <ref role="ehGHo" to="tpce:f_TIwhg" resolve="ConceptDeclaration" />
+ </node>
+ <node concept="3clFbJ" id="4yQF8hVWmGs" role="3cqZAp">
+ <node concept="3clFbS" id="4yQF8hVWmGt" role="3clFbx">
+ <node concept="3clFbF" id="4yQF8hVWmGu" role="3cqZAp">
+ <node concept="2YIFZM" id="4yQF8hVWmGv" role="3clFbG">
+ <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
+ <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
+ <node concept="37vLTw" id="4yQF8hVWmGw" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
+ </node>
+ <node concept="37vLTw" id="4yQF8hVWmGx" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
</node>
- <node concept="1PxgMI" id="7U5B1qbVEtD" role="33vP2m">
- <ref role="1m5ApE" to="tpce:f_TIwhg" resolve="ConceptDeclaration" />
- <node concept="37vLTw" id="7U5B1qbVEtE" role="1m5AlR">
- <ref role="3cqZAo" node="7U5B1qbSAxP" resolve="conceptDecl" />
+ <node concept="3cpWs3" id="4yQF8hVWmGy" role="37wK5m">
+ <node concept="2OqwBi" id="4yQF8hVWmGz" role="3uHU7w">
+ <node concept="2JrnkZ" id="4yQF8hVWmG$" role="2Oq$k0">
+ <node concept="37vLTw" id="4yQF8hVWmG_" role="2JrQYb">
+ <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
+ </node>
+ </node>
+ <node concept="liA8E" id="4yQF8hVWmGA" role="2OqNvi">
+ <ref role="37wK5l" to="wyt6:~Object.toString():java.lang.String" resolve="toString" />
+ </node>
+ </node>
+ <node concept="Xl_RD" id="4yQF8hVWmGB" role="3uHU7B">
+ <property role="Xl_RC" value="Abstract concept instance found! " />
</node>
</node>
+ <node concept="10M0yZ" id="4yQF8hVWmGC" role="37wK5m">
+ <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
+ <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
+ </node>
+ <node concept="Xl_RD" id="4yQF8hVWmGD" role="37wK5m">
+ <property role="Xl_RC" value="abstract concept instance" />
+ </node>
+ <node concept="10Nm6u" id="4yQF8hVWmGE" role="37wK5m" />
</node>
</node>
- <node concept="3clFbH" id="7iyppy3KUcS" role="3cqZAp" />
- <node concept="3clFbJ" id="7iyppy3L6_g" role="3cqZAp">
- <node concept="37vLTw" id="7iyppy3L7nk" role="3clFbw">
- <ref role="3cqZAo" node="7iyppy3Kjha" resolve="isAncestor" />
- </node>
- <node concept="3clFbS" id="7iyppy3L6_i" role="3clFbx">
- <node concept="3clFbJ" id="7iyppy3MmAk" role="3cqZAp">
- <node concept="1Wc70l" id="2UAn0GTv7Tj" role="3clFbw">
- <node concept="2OqwBi" id="2UAn0GTuIik" role="3uHU7B">
- <node concept="37vLTw" id="2UAn0GTuH8R" role="2Oq$k0">
- <ref role="3cqZAo" node="7U5B1qbVEtC" resolve="decl" />
+ <node concept="3cpWs6" id="4yQF8hVWmGF" role="3cqZAp" />
+ </node>
+ <node concept="2OqwBi" id="4yQF8hVWo$P" role="3clFbw">
+ <node concept="37vLTw" id="4yQF8hVWu_2" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
+ </node>
+ <node concept="liA8E" id="4yQF8hVWpfx" role="2OqNvi">
+ <ref role="37wK5l" to="c17a:~SAbstractConcept.isAbstract():boolean" resolve="isAbstract" />
+ </node>
+ </node>
+ </node>
+ <node concept="3clFbJ" id="7iyppy3L6_g" role="3cqZAp">
+ <node concept="37vLTw" id="7iyppy3L7nk" role="3clFbw">
+ <ref role="3cqZAo" node="7iyppy3Kjha" resolve="isAncestor" />
+ </node>
+ <node concept="3clFbS" id="7iyppy3L6_i" role="3clFbx">
+ <node concept="3clFbJ" id="7iyppy3MmAk" role="3cqZAp">
+ <node concept="1Wc70l" id="2UAn0GTv7Tj" role="3clFbw">
+ <node concept="2OqwBi" id="2UAn0GTuIik" role="3uHU7B">
+ <node concept="37vLTw" id="4yQF8hVWu_3" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
+ </node>
+ <node concept="2Zo12i" id="4yQF8hVWwed" role="2OqNvi">
+ <node concept="chp4Y" id="4yQF8hVWwhK" role="2Zo12j">
+ <ref role="cht4Q" to="tpck:2UAn0GTuXmY" resolve="ScopeFacade" />
+ </node>
+ </node>
+ </node>
+ <node concept="3fqX7Q" id="2UAn0GTvbly" role="3uHU7w">
+ <node concept="2OqwBi" id="2UAn0GTvW67" role="3fr31v">
+ <node concept="3JPx81" id="2UAn0GTw9P3" role="2OqNvi">
+ <node concept="37vLTw" id="2UAn0GTwdvQ" role="25WWJ7">
+ <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
</node>
- <node concept="1mIQ4w" id="2UAn0GTv5oy" role="2OqNvi">
- <node concept="chp4Y" id="2UAn0GTv6iC" role="cj9EA">
- <ref role="cht4Q" to="tpck:2UAn0GTuXmY" resolve="ScopeFacade" />
- </node>
+ </node>
+ <node concept="2OqwBi" id="2UAn0GTvKRb" role="2Oq$k0">
+ <node concept="z$bX8" id="2UAn0GTvMH$" role="2OqNvi">
+ <node concept="1xIGOp" id="2UAn0GTvU9h" role="1xVPHs" />
+ </node>
+ <node concept="37vLTw" id="2UAn0GTvJPv" role="2Oq$k0">
+ <ref role="3cqZAo" node="2UAn0GTviUB" resolve="refNode" />
</node>
</node>
- <node concept="3fqX7Q" id="2UAn0GTvbly" role="3uHU7w">
- <node concept="2OqwBi" id="2UAn0GTvW67" role="3fr31v">
- <node concept="3JPx81" id="2UAn0GTw9P3" role="2OqNvi">
- <node concept="37vLTw" id="2UAn0GTwdvQ" role="25WWJ7">
- <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
- </node>
+ </node>
+ </node>
+ </node>
+ <node concept="3clFbS" id="7iyppy3MmAl" role="3clFbx">
+ <node concept="3clFbF" id="7iyppy3MmAm" role="3cqZAp">
+ <node concept="2YIFZM" id="6d$5VVB5LO3" role="3clFbG">
+ <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
+ <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
+ <node concept="37vLTw" id="6d$5VVB5LO4" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
+ </node>
+ <node concept="37vLTw" id="6d$5VVB5LO5" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3MKdY" resolve="anchor" />
+ </node>
+ <node concept="3cpWs3" id="6d$5VVB5LO6" role="37wK5m">
+ <node concept="2OqwBi" id="6d$5VVB5LO7" role="3uHU7w">
+ <node concept="liA8E" id="4yQF8hVWwNM" role="2OqNvi">
+ <ref role="37wK5l" to="c17a:~SAbstractConcept.getName():java.lang.String" resolve="getName" />
</node>
- <node concept="2OqwBi" id="2UAn0GTvKRb" role="2Oq$k0">
- <node concept="z$bX8" id="2UAn0GTvMH$" role="2OqNvi">
- <node concept="1xIGOp" id="2UAn0GTvU9h" role="1xVPHs" />
- </node>
- <node concept="37vLTw" id="2UAn0GTvJPv" role="2Oq$k0">
- <ref role="3cqZAo" node="2UAn0GTviUB" resolve="refNode" />
- </node>
+ <node concept="37vLTw" id="4yQF8hVWwqp" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
</node>
</node>
+ <node concept="Xl_RD" id="6d$5VVB5LOa" role="3uHU7B">
+ <property role="Xl_RC" value="Reference from outside to a node under ScopeFacade: facade=" />
+ </node>
</node>
+ <node concept="10M0yZ" id="6d$5VVB5LOb" role="37wK5m">
+ <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
+ <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
+ </node>
+ <node concept="Xl_RD" id="6d$5VVB5LOc" role="37wK5m">
+ <property role="Xl_RC" value="reference to a non-referenceable node" />
+ </node>
+ <node concept="10Nm6u" id="6d$5VVB5LOd" role="37wK5m" />
</node>
- <node concept="3clFbS" id="7iyppy3MmAl" role="3clFbx">
- <node concept="3clFbF" id="7iyppy3MmAm" role="3cqZAp">
- <node concept="2YIFZM" id="6d$5VVB5LO3" role="3clFbG">
- <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
- <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
- <node concept="37vLTw" id="6d$5VVB5LO4" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
+ </node>
+ </node>
+ </node>
+ </node>
+ <node concept="9aQIb" id="7iyppy3L8MA" role="9aQIa">
+ <node concept="3clFbS" id="7iyppy3L8MB" role="9aQI4">
+ <node concept="3cpWs8" id="4yQF8hVWCZa" role="3cqZAp">
+ <node concept="3cpWsn" id="4yQF8hVWCZb" role="3cpWs9">
+ <property role="TrG5h" value="cd" />
+ <node concept="3uibUv" id="4yQF8hVWCZ8" role="1tU5fm">
+ <ref role="3uigEE" to="ze1i:~ConceptDescriptor" resolve="ConceptDescriptor" />
+ </node>
+ <node concept="2OqwBi" id="4yQF8hVWCZc" role="33vP2m">
+ <node concept="1eOMI4" id="4yQF8hVWCZd" role="2Oq$k0">
+ <node concept="10QFUN" id="4yQF8hVWCZe" role="1eOMHV">
+ <node concept="37vLTw" id="4yQF8hVWCZf" role="10QFUP">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
</node>
- <node concept="37vLTw" id="6d$5VVB5LO5" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3MKdY" resolve="anchor" />
+ <node concept="3uibUv" id="4yQF8hVWCZg" role="10QFUM">
+ <ref role="3uigEE" to="vxxo:~SAbstractConceptAdapter" resolve="SAbstractConceptAdapter" />
</node>
- <node concept="3cpWs3" id="6d$5VVB5LO6" role="37wK5m">
- <node concept="2OqwBi" id="6d$5VVB5LO7" role="3uHU7w">
- <node concept="3TrcHB" id="6d$5VVB5LO8" role="2OqNvi">
- <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
- </node>
- <node concept="37vLTw" id="6d$5VVB5LO9" role="2Oq$k0">
- <ref role="3cqZAo" node="7U5B1qbVEtC" resolve="decl" />
- </node>
+ </node>
+ </node>
+ <node concept="liA8E" id="4yQF8hVWCZh" role="2OqNvi">
+ <ref role="37wK5l" to="vxxo:~SAbstractConceptAdapter.getConceptDescriptor():jetbrains.mps.smodel.runtime.ConceptDescriptor" resolve="getConceptDescriptor" />
+ </node>
+ </node>
+ </node>
+ </node>
+ <node concept="3clFbJ" id="7U5B1qbVJBG" role="3cqZAp">
+ <node concept="3clFbS" id="7U5B1qbVJBI" role="3clFbx">
+ <node concept="3clFbF" id="7U5B1qbWBK9" role="3cqZAp">
+ <node concept="2YIFZM" id="6d$5VVB5LQ9" role="3clFbG">
+ <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
+ <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
+ <node concept="37vLTw" id="6d$5VVB5LQa" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
+ </node>
+ <node concept="37vLTw" id="6d$5VVB5LQb" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3MKdY" resolve="anchor" />
+ </node>
+ <node concept="3cpWs3" id="6d$5VVB5LQc" role="37wK5m">
+ <node concept="2OqwBi" id="6d$5VVB5LQd" role="3uHU7w">
+ <node concept="liA8E" id="4yQF8hVWG1p" role="2OqNvi">
+ <ref role="37wK5l" to="c17a:~SAbstractConcept.getName():java.lang.String" resolve="getName" />
</node>
- <node concept="Xl_RD" id="6d$5VVB5LOa" role="3uHU7B">
- <property role="Xl_RC" value="Reference from outside to a node under ScopeFacade: facade=" />
+ <node concept="37vLTw" id="4yQF8hVWFBZ" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
</node>
</node>
- <node concept="10M0yZ" id="6d$5VVB5LOb" role="37wK5m">
- <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
- <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
- </node>
- <node concept="Xl_RD" id="6d$5VVB5LOc" role="37wK5m">
- <property role="Xl_RC" value="reference to a non-referenceable node" />
+ <node concept="Xl_RD" id="6d$5VVB5LQg" role="3uHU7B">
+ <property role="Xl_RC" value="Reference to a non-referenceable node found: " />
</node>
- <node concept="10Nm6u" id="6d$5VVB5LOd" role="37wK5m" />
</node>
+ <node concept="10M0yZ" id="6d$5VVB5LQh" role="37wK5m">
+ <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
+ <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
+ </node>
+ <node concept="Xl_RD" id="6d$5VVB5LQi" role="37wK5m">
+ <property role="Xl_RC" value="reference to a non-referenceable node" />
+ </node>
+ <node concept="10Nm6u" id="6d$5VVB5LQj" role="37wK5m" />
</node>
</node>
</node>
- </node>
- <node concept="9aQIb" id="7iyppy3L8MA" role="9aQIa">
- <node concept="3clFbS" id="7iyppy3L8MB" role="9aQI4">
- <node concept="3clFbH" id="2UAn0GTvBn_" role="3cqZAp" />
- <node concept="3clFbJ" id="7U5B1qbVJBG" role="3cqZAp">
- <node concept="3clFbS" id="7U5B1qbVJBI" role="3clFbx">
- <node concept="3clFbF" id="7U5B1qbWBK9" role="3cqZAp">
- <node concept="2YIFZM" id="6d$5VVB5LQ9" role="3clFbG">
- <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
- <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
- <node concept="37vLTw" id="6d$5VVB5LQa" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
- </node>
- <node concept="37vLTw" id="6d$5VVB5LQb" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3MKdY" resolve="anchor" />
- </node>
- <node concept="3cpWs3" id="6d$5VVB5LQc" role="37wK5m">
- <node concept="2OqwBi" id="6d$5VVB5LQd" role="3uHU7w">
- <node concept="3TrcHB" id="6d$5VVB5LQe" role="2OqNvi">
- <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
- </node>
- <node concept="37vLTw" id="6d$5VVB5LQf" role="2Oq$k0">
- <ref role="3cqZAo" node="7U5B1qbVEtC" resolve="decl" />
- </node>
- </node>
- <node concept="Xl_RD" id="6d$5VVB5LQg" role="3uHU7B">
- <property role="Xl_RC" value="Reference to a non-referenceable node found: " />
+ <node concept="3clFbC" id="4yQF8hVWFjb" role="3clFbw">
+ <node concept="Rm8GO" id="4yQF8hVWFwG" role="3uHU7w">
+ <ref role="Rm8GQ" to="ze1i:~StaticScope.NONE" resolve="NONE" />
+ <ref role="1Px2BO" to="ze1i:~StaticScope" resolve="StaticScope" />
+ </node>
+ <node concept="2OqwBi" id="4yQF8hVWE3w" role="3uHU7B">
+ <node concept="37vLTw" id="4yQF8hVWDPu" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWCZb" resolve="cd" />
+ </node>
+ <node concept="liA8E" id="4yQF8hVWEqd" role="2OqNvi">
+ <ref role="37wK5l" to="ze1i:~ConceptDescriptor.getStaticScope():jetbrains.mps.smodel.runtime.StaticScope" resolve="getStaticScope" />
+ </node>
+ </node>
+ </node>
+ <node concept="3eNFk2" id="7U5B1qbVN5H" role="3eNLev">
+ <node concept="1Wc70l" id="7U5B1qbVQSm" role="3eO9$A">
+ <node concept="3fqX7Q" id="7iyppy3KGYx" role="3uHU7w">
+ <node concept="1eOMI4" id="3$myXoLql7O" role="3fr31v">
+ <node concept="3clFbC" id="2UAn0GTvIM4" role="1eOMHV">
+ <node concept="2OqwBi" id="2UAn0GTvIM5" role="3uHU7B">
+ <node concept="37vLTw" id="2UAn0GTvIM6" role="2Oq$k0">
+ <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
</node>
+ <node concept="2Rxl7S" id="2UAn0GTvIM7" role="2OqNvi" />
</node>
- <node concept="10M0yZ" id="6d$5VVB5LQh" role="37wK5m">
- <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
- <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
- </node>
- <node concept="Xl_RD" id="6d$5VVB5LQi" role="37wK5m">
- <property role="Xl_RC" value="reference to a non-referenceable node" />
+ <node concept="2OqwBi" id="2UAn0GTvIM8" role="3uHU7w">
+ <node concept="37vLTw" id="2UAn0GTvIM9" role="2Oq$k0">
+ <ref role="3cqZAo" node="2UAn0GTviUB" resolve="refNode" />
+ </node>
+ <node concept="2Rxl7S" id="2UAn0GTvIMa" role="2OqNvi" />
</node>
- <node concept="10Nm6u" id="6d$5VVB5LQj" role="37wK5m" />
</node>
</node>
</node>
- <node concept="2OqwBi" id="7U5B1qbVs09" role="3clFbw">
- <node concept="3t7uKx" id="7U5B1qbVx0M" role="2OqNvi">
- <node concept="uoxfO" id="7U5B1qbVx0O" role="3t7uKA">
- <ref role="uo_Cq" to="tpce:4G1g3fIR8JG" />
- </node>
+ <node concept="3clFbC" id="4yQF8hVWFxu" role="3uHU7B">
+ <node concept="Rm8GO" id="4yQF8hVWFxv" role="3uHU7w">
+ <ref role="Rm8GQ" to="ze1i:~StaticScope.NONE" resolve="NONE" />
+ <ref role="1Px2BO" to="ze1i:~StaticScope" resolve="StaticScope" />
</node>
- <node concept="2OqwBi" id="7U5B1qbVlCe" role="2Oq$k0">
- <node concept="3TrcHB" id="2UAn0GTuqGC" role="2OqNvi">
- <ref role="3TsBF5" to="tpce:4G1g3fIR8D8" resolve="staticScope" />
+ <node concept="2OqwBi" id="4yQF8hVWFxw" role="3uHU7B">
+ <node concept="37vLTw" id="4yQF8hVWFxx" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWCZb" resolve="cd" />
</node>
- <node concept="37vLTw" id="7U5B1qbVEtF" role="2Oq$k0">
- <ref role="3cqZAo" node="7U5B1qbVEtC" resolve="decl" />
+ <node concept="liA8E" id="4yQF8hVWFxy" role="2OqNvi">
+ <ref role="37wK5l" to="ze1i:~ConceptDescriptor.getStaticScope():jetbrains.mps.smodel.runtime.StaticScope" resolve="getStaticScope" />
</node>
</node>
</node>
- <node concept="3eNFk2" id="7U5B1qbVN5H" role="3eNLev">
- <node concept="1Wc70l" id="7U5B1qbVQSm" role="3eO9$A">
- <node concept="2OqwBi" id="7U5B1qbVO17" role="3uHU7B">
- <node concept="3t7uKx" id="7U5B1qbVO18" role="2OqNvi">
- <node concept="uoxfO" id="7U5B1qbVO19" role="3t7uKA">
- <ref role="uo_Cq" to="tpce:4G1g3fIR8JG" />
- </node>
- </node>
- <node concept="2OqwBi" id="7U5B1qbVO1a" role="2Oq$k0">
- <node concept="3TrcHB" id="2UAn0GTuu3h" role="2OqNvi">
- <ref role="3TsBF5" to="tpce:4G1g3fIR8D8" resolve="staticScope" />
- </node>
- <node concept="37vLTw" id="7U5B1qbVO1b" role="2Oq$k0">
- <ref role="3cqZAo" node="7U5B1qbVEtC" resolve="decl" />
- </node>
- </node>
+ </node>
+ <node concept="3clFbS" id="7U5B1qbVN5J" role="3eOfB_">
+ <node concept="3clFbF" id="7U5B1qbX9$M" role="3cqZAp">
+ <node concept="2YIFZM" id="6d$5VVB5LS8" role="3clFbG">
+ <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
+ <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
+ <node concept="37vLTw" id="6d$5VVB5LS9" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
</node>
- <node concept="3fqX7Q" id="7iyppy3KGYx" role="3uHU7w">
- <node concept="1eOMI4" id="3$myXoLql7O" role="3fr31v">
- <node concept="3clFbC" id="2UAn0GTvIM4" role="1eOMHV">
- <node concept="2OqwBi" id="2UAn0GTvIM5" role="3uHU7B">
- <node concept="37vLTw" id="2UAn0GTvIM6" role="2Oq$k0">
- <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
- </node>
- <node concept="2Rxl7S" id="2UAn0GTvIM7" role="2OqNvi" />
- </node>
- <node concept="2OqwBi" id="2UAn0GTvIM8" role="3uHU7w">
- <node concept="37vLTw" id="2UAn0GTvIM9" role="2Oq$k0">
- <ref role="3cqZAo" node="2UAn0GTviUB" resolve="refNode" />
- </node>
- <node concept="2Rxl7S" id="2UAn0GTvIMa" role="2OqNvi" />
- </node>
- </node>
- </node>
+ <node concept="37vLTw" id="6d$5VVB5LSa" role="37wK5m">
+ <ref role="3cqZAo" node="7iyppy3MKdY" resolve="anchor" />
</node>
- </node>
- <node concept="3clFbS" id="7U5B1qbVN5J" role="3eOfB_">
- <node concept="3clFbF" id="7U5B1qbX9$M" role="3cqZAp">
- <node concept="2YIFZM" id="6d$5VVB5LS8" role="3clFbG">
- <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
- <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
- <node concept="37vLTw" id="6d$5VVB5LS9" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
- </node>
- <node concept="37vLTw" id="6d$5VVB5LSa" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3MKdY" resolve="anchor" />
+ <node concept="3cpWs3" id="6d$5VVB5LSb" role="37wK5m">
+ <node concept="2OqwBi" id="6d$5VVB5LSc" role="3uHU7w">
+ <node concept="liA8E" id="4yQF8hVWGMi" role="2OqNvi">
+ <ref role="37wK5l" to="c17a:~SAbstractConcept.getName():java.lang.String" resolve="getName" />
</node>
- <node concept="3cpWs3" id="6d$5VVB5LSb" role="37wK5m">
- <node concept="2OqwBi" id="6d$5VVB5LSc" role="3uHU7w">
- <node concept="3TrcHB" id="6d$5VVB5LSd" role="2OqNvi">
- <ref role="3TsBF5" to="tpck:h0TrG11" resolve="name" />
- </node>
- <node concept="37vLTw" id="6d$5VVB5LSe" role="2Oq$k0">
- <ref role="3cqZAo" node="7U5B1qbVEtC" resolve="decl" />
- </node>
- </node>
- <node concept="Xl_RD" id="6d$5VVB5LSf" role="3uHU7B">
- <property role="Xl_RC" value="Cross-root reference to a locally referenceable node found: " />
- </node>
+ <node concept="37vLTw" id="4yQF8hVWGbz" role="2Oq$k0">
+ <ref role="3cqZAo" node="4yQF8hVWu$W" resolve="cncpt" />
</node>
- <node concept="10M0yZ" id="6d$5VVB5LSg" role="37wK5m">
- <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
- <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
- </node>
- <node concept="Xl_RD" id="6d$5VVB5LSh" role="37wK5m">
- <property role="Xl_RC" value="reference to a locally referenceable node" />
- </node>
- <node concept="10Nm6u" id="6d$5VVB5LSi" role="37wK5m" />
+ </node>
+ <node concept="Xl_RD" id="6d$5VVB5LSf" role="3uHU7B">
+ <property role="Xl_RC" value="Cross-root reference to a locally referenceable node found: " />
</node>
</node>
- </node>
- </node>
- </node>
- </node>
- </node>
- </node>
- </node>
- <node concept="9aQIb" id="7U5B1qbUPq9" role="9aQIa">
- <node concept="3clFbS" id="7U5B1qbUPqa" role="9aQI4">
- <node concept="3clFbF" id="7U5B1qbURFo" role="3cqZAp">
- <node concept="2YIFZM" id="6d$5VVB5LJU" role="3clFbG">
- <ref role="1Pybhc" to="phxh:3etVqSRRx7i" resolve="SpecificChecker" />
- <ref role="37wK5l" to="phxh:3etVqSRRx7z" resolve="addIssue" />
- <node concept="37vLTw" id="6d$5VVB5LJV" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3KgCv" resolve="results" />
- </node>
- <node concept="37vLTw" id="6d$5VVB5LJW" role="37wK5m">
- <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
- </node>
- <node concept="3cpWs3" id="6d$5VVB5LJX" role="37wK5m">
- <node concept="2OqwBi" id="6d$5VVB5LJY" role="3uHU7w">
- <node concept="2JrnkZ" id="6d$5VVB5LJZ" role="2Oq$k0">
- <node concept="37vLTw" id="6d$5VVB5LK0" role="2JrQYb">
- <ref role="3cqZAo" node="7iyppy3KgGV" resolve="node" />
+ <node concept="10M0yZ" id="6d$5VVB5LSg" role="37wK5m">
+ <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
+ <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
</node>
+ <node concept="Xl_RD" id="6d$5VVB5LSh" role="37wK5m">
+ <property role="Xl_RC" value="reference to a locally referenceable node" />
+ </node>
+ <node concept="10Nm6u" id="6d$5VVB5LSi" role="37wK5m" />
</node>
- <node concept="liA8E" id="6d$5VVB5LK1" role="2OqNvi">
- <ref role="37wK5l" to="wyt6:~Object.toString():java.lang.String" resolve="toString" />
- </node>
- </node>
- <node concept="Xl_RD" id="6d$5VVB5LK2" role="3uHU7B">
- <property role="Xl_RC" value="Interface instance found! " />
</node>
</node>
- <node concept="10M0yZ" id="6d$5VVB5LK3" role="37wK5m">
- <ref role="1PxDUh" to="phxh:3etVqSRKzLq" resolve="ModelChecker" />
- <ref role="3cqZAo" to="phxh:3etVqSRKzLr" resolve="SEVERITY_ERROR" />
- </node>
- <node concept="Xl_RD" id="6d$5VVB5LK4" role="37wK5m">
- <property role="Xl_RC" value="no concept" />
- </node>
- <node concept="10Nm6u" id="6d$5VVB5LK5" role="37wK5m" />
</node>
</node>
</node>
View
6 plugins/modelchecker/source_gen.caches/jetbrains/mps/ide/modelchecker/actions/dependencies
@@ -285,14 +285,20 @@
<classNode dependClassName="jetbrains.mps.internal.collections.runtime.ListSequence" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.AttributeOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.IAttributeDescriptor" />
+ <classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SConceptOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SModelOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations" />
<classNode dependClassName="jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations" />
<classNode dependClassName="jetbrains.mps.smodel.LanguageAspect" />
<classNode dependClassName="jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory" />
+ <classNode dependClassName="jetbrains.mps.smodel.adapter.structure.concept.SAbstractConceptAdapter" />
<classNode dependClassName="jetbrains.mps.smodel.behaviour.BHReflection" />
+ <classNode dependClassName="jetbrains.mps.smodel.runtime.ConceptDescriptor" />
+ <classNode dependClassName="jetbrains.mps.smodel.runtime.StaticScope" />
<classNode dependClassName="jetbrains.mps.util.SNodeOperations" />
+ <classNode dependClassName="org.jetbrains.mps.openapi.language.SAbstractConcept" />
+ <classNode dependClassName="org.jetbrains.mps.openapi.language.SInterfaceConcept" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SModel" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SNode" />
<classNode dependClassName="org.jetbrains.mps.openapi.model.SReference" />
View
2 plugins/modelchecker/source_gen.caches/jetbrains/mps/ide/modelchecker/actions/generated
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
-<dependencies version="2" modelHash="-78io2smvf9lqccfpk6byxr3y8sqb1sz" />
+<dependencies version="2" modelHash="-5my8ulavdj6f994taa4koarqa0tbyl" />
View
43 ...ecker/source_gen/jetbrains/mps/ide/modelchecker/actions/ReferenceableConceptsChecker.java
@@ -24,6 +24,12 @@
import org.jetbrains.mps.openapi.model.SReference;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.AttributeOperations;
import jetbrains.mps.lang.smodel.generator.smodelAdapter.IAttributeDescriptor;
+import org.jetbrains.mps.openapi.language.SAbstractConcept;
+import org.jetbrains.mps.openapi.language.SInterfaceConcept;
+import jetbrains.mps.lang.smodel.generator.smodelAdapter.SConceptOperations;
+import jetbrains.mps.smodel.runtime.ConceptDescriptor;
+import jetbrains.mps.smodel.adapter.structure.concept.SAbstractConceptAdapter;
+import jetbrains.mps.smodel.runtime.StaticScope;
public class ReferenceableConceptsChecker extends SpecificChecker {
public ReferenceableConceptsChecker() {
@@ -92,27 +98,30 @@ public boolean accept(SNode it) {
}
private void checkNode(List<SearchResult<ModelCheckerIssue>> results, SNode node, SNode refNode, boolean isAncestor, SNode anchor) {
- SNode conceptDecl = SNodeOperations.as(node.getConcept().getDeclarationNode(), MetaAdapterFactory.getConcept(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0x1103553c5ffL, "jetbrains.mps.lang.structure.structure.AbstractConceptDeclaration"));
- if (conceptDecl == null) {
+ SAbstractConcept cncpt = SNodeOperations.getConcept(node);
+ if (!((cncpt.isValid()))) {
SpecificChecker.addIssue(results, node, "No concept found for " + node.toString(), ModelChecker.SEVERITY_ERROR, "no concept", null);
+ return;
}
- if (SNodeOperations.isInstanceOf(conceptDecl, MetaAdapterFactory.getConcept(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, "jetbrains.mps.lang.structure.structure.ConceptDeclaration"))) {
- SNode decl = SNodeOperations.cast(conceptDecl, MetaAdapterFactory.getConcept(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, "jetbrains.mps.lang.structure.structure.ConceptDeclaration"));
-
- if (isAncestor) {
- if (SNodeOperations.isInstanceOf(decl, MetaAdapterFactory.getInterfaceConcept(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2ea65c0b397bd5beL, "jetbrains.mps.lang.core.structure.ScopeFacade")) && !(ListSequence.fromList(SNodeOperations.getNodeAncestors(refNode, null, true)).contains(node))) {
- SpecificChecker.addIssue(results, anchor, "Reference from outside to a node under ScopeFacade: facade=" + SPropertyOperations.getString(decl, MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")), ModelChecker.SEVERITY_ERROR, "reference to a non-referenceable node", null);
- }
- } else {
-
- if (SPropertyOperations.hasValue(decl, MetaAdapterFactory.getProperty(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, 0x4b014033eedc8a48L, "staticScope"), "none", null)) {
- SpecificChecker.addIssue(results, anchor, "Reference to a non-referenceable node found: " + SPropertyOperations.getString(decl, MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")), ModelChecker.SEVERITY_ERROR, "reference to a non-referenceable node", null);
- } else if (SPropertyOperations.hasValue(decl, MetaAdapterFactory.getProperty(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0xf979ba0450L, 0x4b014033eedc8a48L, "staticScope"), "none", null) && !((SNodeOperations.getContainingRoot(node) == SNodeOperations.getContainingRoot(refNode)))) {
- SpecificChecker.addIssue(results, anchor, "Cross-root reference to a locally referenceable node found: " + SPropertyOperations.getString(decl, MetaAdapterFactory.getProperty(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L, 0x110396ec041L, "name")), ModelChecker.SEVERITY_ERROR, "reference to a locally referenceable node", null);
- }
+ if (cncpt instanceof SInterfaceConcept) {
+ SpecificChecker.addIssue(results, node, "Interface instance found! " + node.toString(), ModelChecker.SEVERITY_ERROR, "interface instance", null);
+ return;
+ }
+ if (cncpt.isAbstract()) {
+ SpecificChecker.addIssue(results, node, "Abstract concept instance found! " + node.toString(), ModelChecker.SEVERITY_ERROR, "abstract concept instance", null);
+ return;
+ }
+ if (isAncestor) {
+ if (SConceptOperations.isSubConceptOf(SNodeOperations.asSConcept(cncpt), MetaAdapterFactory.getInterfaceConcept(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2ea65c0b397bd5beL, "jetbrains.mps.lang.core.structure.ScopeFacade")) && !(ListSequence.fromList(SNodeOperations.getNodeAncestors(refNode, null, true)).contains(node))) {
+ SpecificChecker.addIssue(results, anchor, "Reference from outside to a node under ScopeFacade: facade=" + cncpt.getName(), ModelChecker.SEVERITY_ERROR, "reference to a non-referenceable node", null);
}
} else {
- SpecificChecker.addIssue(results, node, "Interface instance found! " + node.toString(), ModelChecker.SEVERITY_ERROR, "no concept", null);
+ ConceptDescriptor cd = ((SAbstractConceptAdapter) cncpt).getConceptDescriptor();
+ if (cd.getStaticScope() == StaticScope.NONE) {
+ SpecificChecker.addIssue(results, anchor, "Reference to a non-referenceable node found: " + cncpt.getName(), ModelChecker.SEVERITY_ERROR, "reference to a non-referenceable node", null);
+ } else if (cd.getStaticScope() == StaticScope.NONE && !((SNodeOperations.getContainingRoot(node) == SNodeOperations.getContainingRoot(refNode)))) {
+ SpecificChecker.addIssue(results, anchor, "Cross-root reference to a locally referenceable node found: " + cncpt.getName(), ModelChecker.SEVERITY_ERROR, "reference to a locally referenceable node", null);
+ }
}
}
View
208 plugins/modelchecker/source_gen/jetbrains/mps/ide/modelchecker/actions/trace.info
@@ -609,136 +609,138 @@
</root>
<root nodeRef="r:e2c8c94a-404b-4b97-a3a4-c76946bd1913(jetbrains.mps.ide.modelchecker.actions)/1833497744617099302">
<file name="ReferenceableConceptsChecker.java">
- <node id="1833497744617160700" at="32,110,33,130" concept="9" />
- <node id="9116864641331714155" at="34,70,35,21" concept="10" />
- <node id="9116864641331713785" at="36,5,37,0" concept="12" />
- <node id="1833497744617160724" at="38,31,39,21" concept="10" />
- <node id="1833497744617160726" at="40,5,41,43" concept="4" />
- <node id="1833497744617160732" at="41,43,42,0" concept="12" />
- <node id="1833497744618170485" at="46,43,47,195" concept="10" />
- <node id="1833497744618408759" at="49,13,50,175" concept="9" />
- <node id="1833497744618635038" at="51,202,52,203" concept="9" />
- <node id="1833497744617160852" at="53,192,54,338" concept="4" />
- <node id="7803242166520501077" at="59,402,60,181" concept="4" />
- <node id="9116864641330887634" at="64,5,65,0" concept="12" />
- <node id="9116864641330940815" at="67,33,68,14" concept="1" />
- <node id="9116864641330940819" at="69,7,70,41" concept="11" />
- <node id="9116864641330940838" at="72,263,73,19" concept="3" />
- <node id="9116864641331076456" at="74,9,75,85" concept="9" />
- <node id="9116864641330940841" at="76,29,77,173" concept="4" />
- <node id="8404391560346693210" at="77,173,78,19" concept="3" />
- <node id="8404391560346717755" at="79,9,80,56" concept="4" />
- <node id="8404391560347352144" at="80,56,81,28" concept="9" />
- <node id="8404391560347023157" at="82,54,83,49" concept="4" />
- <node id="3608781789889359497" at="84,29,85,18" concept="1" />
- <node id="8404391560346969648" at="86,11,87,55" concept="4" />
- <node id="1833497744617160876" at="90,5,91,19" concept="10" />
- <node id="9116864641331521652" at="94,134,95,241" concept="9" />
- <node id="9116864641331761942" at="96,30,97,138" concept="4" />
- <node id="9116864641332324199" at="99,201,100,202" concept="9" />
- <node id="8404391560346837816" at="100,202,101,0" concept="12" />
- <node id="8404391560347216278" at="103,299,104,343" concept="4" />
- <node id="3361475375157638629" at="106,14,107,0" concept="12" />
- <node id="9116864641332575241" at="108,188,109,329" concept="4" />
- <node id="9116864641332713778" at="110,289,111,348" concept="4" />
- <node id="9116864641332116184" at="114,12,115,143" concept="4" />
- <node id="1833497744617160069" at="29,0,31,0" concept="2" trace="ReferenceableConceptsChecker#()V" />
- <node id="9116864641332106889" at="114,10,116,5" concept="0" />
- <node id="9116864641331714153" at="33,130,36,5" concept="7" />
- <node id="1833497744617160719" at="37,0,40,5" concept="7" />
- <node id="1833497744618166847" at="46,0,49,0" concept="8" trace="accept#(Lorg/jetbrains/mps/openapi/model/SNode;)Z" />
- <node id="1833497744618669099" at="52,203,55,13" concept="7" />
- <node id="7803242166520484920" at="58,552,61,11" concept="7" />
- <node id="9116864641330940813" at="66,83,69,7" concept="7" />
- <node id="9116864641330940826" at="71,89,74,9" concept="7" />
- <node id="3608781789889351891" at="83,49,86,11" concept="7" />
- <node id="9116864641331567102" at="95,241,98,5" concept="7" />
- <node id="8404391560347216276" at="102,23,105,9" concept="7" />
- <node id="9116864641330940839" at="75,85,79,9" concept="7" />
- <node id="7803242166520189518" at="57,9,62,9" concept="7" />
- <node id="9116864641332345324" at="107,0,112,9" concept="7" />
- <node id="1833497744618435637" at="50,175,56,11" concept="7" />
- <node id="8404391560346929328" at="81,28,88,9" concept="17" />
- <node id="8404391560346897574" at="106,12,113,7" concept="0" />
- <node id="8404391560346888528" at="101,0,113,7" concept="7" />
- <node id="1833497744617856788" at="44,240,57,9" concept="6" />
- <node id="9116864641332055580" at="98,5,116,5" concept="7" />
- <node id="9116864641330940821" at="70,41,89,7" concept="6" />
- <node id="1833497744617789128" at="43,45,63,7" concept="6" />
- <node id="2019037713128002486" at="42,0,64,5" concept="7" />
- <node id="8404391560346666023" at="94,0,118,0" concept="8" trace="checkNode#(Ljava/util/List;Lorg/jetbrains/mps/openapi/model/SNode;Lorg/jetbrains/mps/openapi/model/SNode;ZLorg/jetbrains/mps/openapi/model/SNode;)V" />
- <node id="9116864641330940808" at="65,0,90,5" concept="6" />
- <node id="1833497744617160687" at="31,0,93,0" concept="8" trace="checkModel#(Lorg/jetbrains/mps/openapi/model/SModel;Lorg/jetbrains/mps/openapi/util/ProgressMonitor;)Ljava/util/List;" />
- <scope id="1833497744617160073" at="29,41,29,41" />
- <scope id="9116864641331714154" at="34,70,35,21" />
- <scope id="1833497744617160723" at="38,31,39,21" />
- <scope id="1833497744618166848" at="46,43,47,195" />
- <scope id="1833497744618669101" at="53,192,54,338" />
- <scope id="7803242166520484922" at="59,402,60,181" />
- <scope id="9116864641330940814" at="67,33,68,14" />
- <scope id="9116864641330940837" at="72,263,73,19" />
- <scope id="3608781789889351893" at="84,29,85,18" />
- <scope id="9116864641331567104" at="96,30,97,138" />
- <scope id="8404391560347216277" at="103,299,104,343" />
- <scope id="9116864641332345326" at="108,188,109,329" />
- <scope id="9116864641332359535" at="110,289,111,348" />
- <scope id="9116864641332106890" at="114,12,115,143" />
- <scope id="1833497744617160069" at="29,0,31,0" />
- <scope id="9116864641330940840" at="76,29,78,19" />
- <scope id="1833497744618166847" at="46,0,49,0">
+ <node id="1833497744617160700" at="38,110,39,130" concept="9" />
+ <node id="9116864641331714155" at="40,70,41,21" concept="10" />
+ <node id="9116864641331713785" at="42,5,43,0" concept="12" />
+ <node id="1833497744617160724" at="44,31,45,21" concept="10" />
+ <node id="1833497744617160726" at="46,5,47,43" concept="4" />
+ <node id="1833497744617160732" at="47,43,48,0" concept="12" />
+ <node id="1833497744618170485" at="52,43,53,195" concept="10" />
+ <node id="1833497744618408759" at="55,13,56,175" concept="9" />
+ <node id="1833497744618635038" at="57,202,58,203" concept="9" />
+ <node id="1833497744617160852" at="59,192,60,338" concept="4" />
+ <node id="7803242166520501077" at="65,402,66,181" concept="4" />
+ <node id="9116864641330887634" at="70,5,71,0" concept="12" />
+ <node id="9116864641330940815" at="73,33,74,14" concept="1" />
+ <node id="9116864641330940819" at="75,7,76,41" concept="11" />
+ <node id="9116864641330940838" at="78,263,79,19" concept="3" />
+ <node id="9116864641331076456" at="80,9,81,85" concept="9" />
+ <node id="9116864641330940841" at="82,29,83,173" concept="4" />
+ <node id="8404391560346693210" at="83,173,84,19" concept="3" />
+ <node id="8404391560346717755" at="85,9,86,56" concept="4" />
+ <node id="8404391560347352144" at="86,56,87,28" concept="9" />
+ <node id="8404391560347023157" at="88,54,89,49" concept="4" />
+ <node id="3608781789889359497" at="90,29,91,18" concept="1" />
+ <node id="8404391560346969648" at="92,11,93,55" concept="4" />
+ <node id="1833497744617160876" at="96,5,97,19" concept="10" />
+ <node id="5239564901507262779" at="100,134,101,62" concept="9" />
+ <node id="9116864641331761942" at="102,31,103,138" concept="4" />
+ <node id="5239564901507213025" at="103,138,104,13" concept="10" />
+ <node id="9116864641332116184" at="106,45,107,151" concept="4" />
+ <node id="5239564901507229202" at="107,151,108,13" concept="10" />
+ <node id="5239564901507230494" at="110,29,111,165" concept="4" />
+ <node id="5239564901507230507" at="111,165,112,13" concept="10" />
+ <node id="8404391560347216278" at="115,331,116,207" concept="4" />
+ <node id="5239564901507305418" at="118,12,119,86" concept="9" />
+ <node id="9116864641332575241" at="120,52,121,193" concept="4" />
+ <node id="9116864641332713778" at="122,153,123,212" concept="4" />
+ <node id="1833497744617160069" at="35,0,37,0" concept="2" trace="ReferenceableConceptsChecker#()V" />
+ <node id="9116864641331714153" at="39,130,42,5" concept="7" />
+ <node id="1833497744617160719" at="43,0,46,5" concept="7" />
+ <node id="1833497744618166847" at="52,0,55,0" concept="8" trace="accept#(Lorg/jetbrains/mps/openapi/model/SNode;)Z" />
+ <node id="1833497744618669099" at="58,203,61,13" concept="7" />
+ <node id="7803242166520484920" at="64,552,67,11" concept="7" />
+ <node id="9116864641330940813" at="72,83,75,7" concept="7" />
+ <node id="9116864641330940826" at="77,89,80,9" concept="7" />
+ <node id="3608781789889351891" at="89,49,92,11" concept="7" />
+ <node id="8404391560347216276" at="114,21,117,7" concept="7" />
+ <node id="9116864641330940839" at="81,85,85,9" concept="7" />
+ <node id="9116864641331567102" at="101,62,105,5" concept="7" />
+ <node id="5239564901507216680" at="105,5,109,5" concept="7" />
+ <node id="5239564901507230492" at="109,5,113,5" concept="7" />
+ <node id="7803242166520189518" at="63,9,68,9" concept="7" />
+ <node id="9116864641332345324" at="119,86,124,7" concept="7" />
+ <node id="1833497744618435637" at="56,175,62,11" concept="7" />
+ <node id="8404391560346929328" at="87,28,94,9" concept="17" />
+ <node id="8404391560346897574" at="118,10,125,5" concept="0" />
+ <node id="8404391560346888528" at="113,5,125,5" concept="7" />
+ <node id="1833497744617856788" at="50,240,63,9" concept="6" />
+ <node id="9116864641330940821" at="76,41,95,7" concept="6" />
+ <node id="1833497744617789128" at="49,45,69,7" concept="6" />
+ <node id="2019037713128002486" at="48,0,70,5" concept="7" />
+ <node id="9116864641330940808" at="71,0,96,5" concept="6" />
+ <node id="8404391560346666023" at="100,0,127,0" concept="8" trace="checkNode#(Ljava/util/List;Lorg/jetbrains/mps/openapi/model/SNode;Lorg/jetbrains/mps/openapi/model/SNode;ZLorg/jetbrains/mps/openapi/model/SNode;)V" />
+ <node id="1833497744617160687" at="37,0,99,0" concept="8" trace="checkModel#(Lorg/jetbrains/mps/openapi/model/SModel;Lorg/jetbrains/mps/openapi/util/ProgressMonitor;)Ljava/util/List;" />
+ <scope id="1833497744617160073" at="35,41,35,41" />
+ <scope id="9116864641331714154" at="40,70,41,21" />
+ <scope id="1833497744617160723" at="44,31,45,21" />
+ <scope id="1833497744618166848" at="52,43,53,195" />
+ <scope id="1833497744618669101" at="59,192,60,338" />
+ <scope id="7803242166520484922" at="65,402,66,181" />
+ <scope id="9116864641330940814" at="73,33,74,14" />
+ <scope id="9116864641330940837" at="78,263,79,19" />
+ <scope id="3608781789889351893" at="90,29,91,18" />
+ <scope id="8404391560347216277" at="115,331,116,207" />
+ <scope id="9116864641332345326" at="120,52,121,193" />
+ <scope id="9116864641332359535" at="122,153,123,212" />
+ <scope id="1833497744617160069" at="35,0,37,0" />
+ <scope id="9116864641330940840" at="82,29,84,19" />
+ <scope id="9116864641331567104" at="102,31,104,13" />
+ <scope id="5239564901507216682" at="106,45,108,13" />
+ <scope id="5239564901507230493" at="110,29,112,13" />
+ <scope id="1833497744618166847" at="52,0,55,0">
<var name="it" id="1833497744618166847" />
</scope>
- <scope id="7803242166520189520" at="58,552,61,11" />
- <scope id="8404391560346888530" at="102,23,105,9" />
- <scope id="1833497744618435639" at="51,202,55,13">
+ <scope id="7803242166520189520" at="64,552,67,11" />
+ <scope id="8404391560346888530" at="114,21,117,7" />
+ <scope id="1833497744618435639" at="57,202,61,13">
<var name="decl" id="1833497744618635041" />
</scope>
- <scope id="8404391560346929332" at="82,54,87,55" />
- <scope id="8404391560346897575" at="106,14,112,9" />
- <scope id="1833497744617856794" at="49,13,56,11">
+ <scope id="8404391560346929332" at="88,54,93,55" />
+ <scope id="8404391560346897575" at="118,12,124,7">
+ <var name="cd" id="5239564901507305419" />
+ </scope>
+ <scope id="1833497744617856794" at="55,13,62,11">
<var name="target" id="1833497744618408760" />
</scope>
- <scope id="1833497744617856788" at="44,240,57,9">
+ <scope id="1833497744617856788" at="50,240,63,9">
<var name="ref" id="1833497744617856790" />
</scope>
- <scope id="9116864641332055582" at="99,201,113,7">
- <var name="decl" id="9116864641332324200" />
- </scope>
- <scope id="9116864641330940825" at="71,89,88,9">
+ <scope id="9116864641330940825" at="77,89,94,9">
<var name="curr" id="8404391560347352147" />
<var name="target" id="9116864641331076457" />
</scope>
- <scope id="1833497744617789134" at="44,240,62,9" />
- <scope id="9116864641330940821" at="70,41,89,7">
+ <scope id="1833497744617789134" at="50,240,68,9" />
+ <scope id="9116864641330940821" at="76,41,95,7">
<var name="ref" id="9116864641330940976" />
</scope>
- <scope id="1833497744617789128" at="43,45,63,7">
+ <scope id="1833497744617789128" at="49,45,69,7">
<var name="concept" id="1833497744617789130" />
</scope>
- <scope id="2019037713128002488" at="43,45,63,7" />
- <scope id="8404391560346729489" at="94,134,116,5">
- <var name="conceptDecl" id="9116864641331521653" />
+ <scope id="2019037713128002488" at="49,45,69,7" />
+ <scope id="9116864641330940812" at="72,83,95,7" />
+ <scope id="9116864641330940808" at="71,0,96,5">
+ <var name="node" id="9116864641330940977" />
+ </scope>
+ <scope id="8404391560346729489" at="100,134,125,5">
+ <var name="cncpt" id="5239564901507262780" />
</scope>
- <scope id="9116864641330940812" at="66,83,89,7" />
- <scope id="8404391560346666023" at="94,0,118,0">
+ <scope id="8404391560346666023" at="100,0,127,0">
<var name="anchor" id="8404391560347321214" />
<var name="isAncestor" id="8404391560346678346" />
<var name="node" id="8404391560346667835" />
<var name="refNode" id="3361475375157554855" />
<var name="results" id="8404391560346667551" />
</scope>
- <scope id="9116864641330940808" at="65,0,90,5">
- <var name="node" id="9116864641330940977" />
- </scope>
- <scope id="1833497744617160691" at="32,110,91,19">
+ <scope id="1833497744617160691" at="38,110,97,19">
<var name="results" id="1833497744617160701" />
</scope>
- <scope id="1833497744617160687" at="31,0,93,0">
+ <scope id="1833497744617160687" at="37,0,99,0">
<var name="model" id="1833497744617160689" />
<var name="monitor" id="1833497744617160881" />
</scope>
- <unit id="1833497744618166847" at="45,226,49,9" name="jetbrains.mps.ide.modelchecker.actions.ReferenceableConceptsChecker$1" />
- <unit id="1833497744617099302" at="28,0,120,0" name="jetbrains.mps.ide.modelchecker.actions.ReferenceableConceptsChecker" />
+ <unit id="1833497744618166847" at="51,226,55,9" name="jetbrains.mps.ide.modelchecker.actions.ReferenceableConceptsChecker$1" />
+ <unit id="1833497744617099302" at="34,0,129,0" name="jetbrains.mps.ide.modelchecker.actions.ReferenceableConceptsChecker" />
</file>
</root>
<root nodeRef="r:e2c8c94a-404b-4b97-a3a4-c76946bd1913(jetbrains.mps.ide.modelchecker.actions)/2843918448603437232">

0 comments on commit afc74c3

Please sign in to comment.
Something went wrong with that request. Please try again.