From bbe6a23b8331919c561ac9f90a2aa52b8253def8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Verhaeghe?= Date: Mon, 12 Jun 2023 14:30:11 +0200 Subject: [PATCH] Retrieve correctly the parentType of several exception --- lib/verveine.extractor.java.jar | Bin 503456 -> 503649 bytes .../extractor/java/EntityDictionary.java | 8 ++--- .../extractor/java/utils/EntityStack.java | 2 +- .../GetVisitedEntityAbstractVisitor.java | 3 +- .../defvisitors/VisitorClassMethodDef.java | 1 - test_src/exceptions/MultipleSubException.java | 32 ++++++++++++++++++ .../java/VerveineJTest_Exceptions.java | 17 ++++++++++ 7 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 test_src/exceptions/MultipleSubException.java diff --git a/lib/verveine.extractor.java.jar b/lib/verveine.extractor.java.jar index 4c8fba442cd75fe6480264db777a3885f538ed43..7a2e826ba5d0a8739364a96e063fba828bb5eab5 100644 GIT binary patch delta 59362 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

_m7EkZBc%T1g>r4y6_FcP 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≀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 Y^ixM0I=mi^qQGssvu1I^yFrcr0kg#MWB>pF diff --git a/src/fr/inria/verveine/extractor/java/EntityDictionary.java b/src/fr/inria/verveine/extractor/java/EntityDictionary.java index a58995f9..698d2e7c 100644 --- a/src/fr/inria/verveine/extractor/java/EntityDictionary.java +++ b/src/fr/inria/verveine/extractor/java/EntityDictionary.java @@ -1005,11 +1005,11 @@ public Class ensureFamixClass(ITypeBinding bnd, String name, TNamedEntity owner, // ---------------- create if (fmx == null) { if (isGeneric) { - fmx = ensureFamixParameterizableClass(bnd, name, (ContainerEntity) owner); + fmx = ensureFamixParameterizableClass(bnd, name, (TWithTypes) owner); } else { fmx = ensureFamixEntity(Class.class, bnd, name); - fmx.setTypeContainer((ContainerEntity)owner); + fmx.setTypeContainer((TWithTypes)owner); } } @@ -1028,7 +1028,7 @@ public Class ensureFamixClass(ITypeBinding bnd, String name, TNamedEntity owner, else { lastAssoc = ensureFamixInheritance((TWithInheritances) ensureFamixClassObject(null), fmx, lastAssoc); } - ensureImplementedInterfaces(bnd, fmx, (ContainerEntity) owner, lastAssoc); + ensureImplementedInterfaces(bnd, fmx, (TWithTypes) owner, lastAssoc); } } @@ -1299,7 +1299,7 @@ public Exception asException(TType excepFmx) { /** * helper method, we know the type exists, ensureFamixClass will recover it */ - public Class getFamixClass(ITypeBinding bnd, String name, ContainerEntity owner) { + public Class getFamixClass(ITypeBinding bnd, String name, TNamedEntity owner) { return ensureFamixClass(bnd, name, owner, /*isGeneric*/false, UNKNOWN_MODIFIERS); } diff --git a/src/fr/inria/verveine/extractor/java/utils/EntityStack.java b/src/fr/inria/verveine/extractor/java/utils/EntityStack.java index d5d818b3..61346a2e 100644 --- a/src/fr/inria/verveine/extractor/java/utils/EntityStack.java +++ b/src/fr/inria/verveine/extractor/java/utils/EntityStack.java @@ -228,7 +228,7 @@ public TPackage popPckg() { * @return the Famix class */ public TType popType() { - return this.popUpto(Type.class); + return this.popUpto(TType.class); } /** diff --git a/src/fr/inria/verveine/extractor/java/visitors/GetVisitedEntityAbstractVisitor.java b/src/fr/inria/verveine/extractor/java/visitors/GetVisitedEntityAbstractVisitor.java index 364acbaa..4caeea4f 100644 --- a/src/fr/inria/verveine/extractor/java/visitors/GetVisitedEntityAbstractVisitor.java +++ b/src/fr/inria/verveine/extractor/java/visitors/GetVisitedEntityAbstractVisitor.java @@ -10,6 +10,7 @@ import org.moosetechnology.model.famix.famixjavaentities.Exception; import org.moosetechnology.model.famix.famixjavaentities.Package; import org.moosetechnology.model.famix.famixtraits.TMethod; +import org.moosetechnology.model.famix.famixtraits.TNamedEntity; import org.moosetechnology.model.famix.famixtraits.TType; import org.moosetechnology.model.famix.famixtraits.TWithMethods; import org.moosetechnology.model.famix.famixtraits.TWithTypes; @@ -110,7 +111,7 @@ protected TType visitTypeDeclaration(TypeDeclaration node) { } else if (dico.isThrowable(bnd)) { fmx = dico.getFamixException(bnd, /*name*/node.getName().getIdentifier(), (TWithTypes) /*owner*/context.top()); } else { - fmx = dico.getFamixClass(bnd, /*name*/node.getName().getIdentifier(), (ContainerEntity) /*owner*/context.top()); + fmx = dico.getFamixClass(bnd, /*name*/node.getName().getIdentifier(), (TNamedEntity) /*owner*/context.top()); } if (fmx != null) { this.context.pushType(fmx); diff --git a/src/fr/inria/verveine/extractor/java/visitors/defvisitors/VisitorClassMethodDef.java b/src/fr/inria/verveine/extractor/java/visitors/defvisitors/VisitorClassMethodDef.java index 81b899d7..78075520 100644 --- a/src/fr/inria/verveine/extractor/java/visitors/defvisitors/VisitorClassMethodDef.java +++ b/src/fr/inria/verveine/extractor/java/visitors/defvisitors/VisitorClassMethodDef.java @@ -126,7 +126,6 @@ public boolean visit(TypeDeclaration node) { fmx = dico.ensureFamixClass( bnd, /*name*/node.getName().getIdentifier(), - (ContainerEntity) /*owner*/context.top(), /*isGeneric*/tparams.size()>0, node.getModifiers()); diff --git a/test_src/exceptions/MultipleSubException.java b/test_src/exceptions/MultipleSubException.java new file mode 100644 index 00000000..dc55a242 --- /dev/null +++ b/test_src/exceptions/MultipleSubException.java @@ -0,0 +1,32 @@ +package exceptions; + +public class MultipleSubException { + + public static class MInnerException extends java.lang.Exception { + + public static class MRead extends MultipleSubException.MInnerException { + + public MRead(final MultipleSubException el, final String details, final Throwable cause) { + super("Error : \n" + el.getName() + "\n> " + details, cause); + } + + } + + public static class MWrite extends MultipleSubException.MInnerException { + + public MWrite(final MultipleSubException el, final String details, final Throwable cause) { + super("Error : \n" + el.getName() + "\n> " + details, cause); + } + + } + + public static class MReadWrite extends MultipleSubException.MInnerException { + + public MReadWrite(final MultipleSubException el, final String details, final Throwable cause) { + super("Error : \n" + el.getName() + "\n> " + details, cause); + } + + } + + } +} diff --git a/tests/fr/inria/verveine/extractor/java/VerveineJTest_Exceptions.java b/tests/fr/inria/verveine/extractor/java/VerveineJTest_Exceptions.java index 29b4c944..a89042b9 100644 --- a/tests/fr/inria/verveine/extractor/java/VerveineJTest_Exceptions.java +++ b/tests/fr/inria/verveine/extractor/java/VerveineJTest_Exceptions.java @@ -104,4 +104,21 @@ public void testExceptionInDefineMethodAfterInnerException() { assertEquals(((TNamedEntity)methodAfterException.getParentType()).getName(), "DefineMethodAfterInnerException"); } + + @Test + public void testSubException() { + org.moosetechnology.model.famix.famixjavaentities.Exception anException = detectFamixElement(org.moosetechnology.model.famix.famixjavaentities.Exception.class, "MInnerException"); + org.moosetechnology.model.famix.famixjavaentities.Exception aReadException = detectFamixElement(org.moosetechnology.model.famix.famixjavaentities.Exception.class, "MRead"); + org.moosetechnology.model.famix.famixjavaentities.Exception aWriteException = detectFamixElement(org.moosetechnology.model.famix.famixjavaentities.Exception.class, "MWrite"); + org.moosetechnology.model.famix.famixjavaentities.Exception aReadWriteException = detectFamixElement(org.moosetechnology.model.famix.famixjavaentities.Exception.class, "MReadWrite"); + + assertNotNull(anException); + assertNotNull(aReadException); + assertNotNull(aWriteException); + assertNotNull(aReadWriteException); + assertEquals(aReadException.getTypeContainer(), anException); + assertEquals(aWriteException.getTypeContainer(), anException); + assertEquals(aReadWriteException.getTypeContainer(), anException); + } + }