From 9c794ad49fd4cd4a7fb63f273b8efec6431ca104 Mon Sep 17 00:00:00 2001 From: Andreas Bayha <bayha@fortiss.org> Date: Fri, 28 Apr 2023 17:53:44 +0200 Subject: [PATCH] Product Line Analysis: Enables access to null elements of translation The map if EClass to Z3 null elements can be accessed via a getter. Issue-ref: 4240 Issue-URL: af3#4240 Signed-off-by: Andreas Bayha <bayha@fortiss.org> --- .../variability/analysis/ProductLineBaseAnalysis.java | 3 ++- .../variability/analysis/ProductLineBaseTranslation.java | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseAnalysis.java b/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseAnalysis.java index 3ccf3d52f..d1977a789 100644 --- a/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseAnalysis.java +++ b/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseAnalysis.java @@ -249,7 +249,8 @@ public class ProductLineBaseAnalysis { FuncDecl selFun = translation.eClass2SelectionFunction.get(cls); BoolExpr selected = (BoolExpr)ctx.mkApp(selFun, var); - BoolExpr notNull = ctx.mkNot(ctx.mkEq(var, translation.eClass2NullElement.get(cls))); + BoolExpr notNull = + ctx.mkNot(ctx.mkEq(var, translation.getEClass2NullElement().get(cls))); selExprs[i] = ctx.mkAnd(selected, notNull); } diff --git a/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseTranslation.java b/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseTranslation.java index 162c1fa17..a492f4f4d 100644 --- a/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseTranslation.java +++ b/org.fortiss.variability/src/org/fortiss/variability/analysis/ProductLineBaseTranslation.java @@ -793,4 +793,9 @@ public class ProductLineBaseTranslation { public Context getContext() { return ctx; } + + /** Returns eClass2NullElement. */ + public Map<EClass, Expr> getEClass2NullElement() { + return eClass2NullElement; + } } -- GitLab