Skip to content

How to test correctness of spoon.metamodel.Metamodel? #2047

Closed
@pvojtechovsky

Description

@pvojtechovsky

I compared results returned by new spoon.metamodel.Metamodel with hardcoded Metamodel which was in PR #1686 and it found some problems.

Many problems were fixed by readding contract "unsettable implies derived" from #1904, which was removed during Metamodel refactorings.

Here are remaining problems

Field CtInterface#modifier<java.util.Set<spoon.reflect.declaration.ModifierKind>>.derived hardcoded value = false but computed value is true
Field CtInterface#interface<java.util.Set<spoon.reflect.reference.CtTypeReference<? extends java.lang.Object>>>.derived hardcoded value = false but computed value is true
Field CtTypeParameter#modifier<java.util.Set<spoon.reflect.declaration.ModifierKind>>.unsettable hardcoded value = true but computed value is false
Field CtTypeParameter#superType<spoon.reflect.reference.CtTypeReference<? extends java.lang.Object>>.derived hardcoded value = false but computed value is true
Field CtConstructor#name<java.lang.String>.derived hardcoded value = true but computed value is false
Field CtConstructor#name<java.lang.String>.unsettable hardcoded value = true but computed value is false
Field CtAnonymousExecutable#name<java.lang.String>.derived hardcoded value = true but computed value is false
Field CtAnonymousExecutable#name<java.lang.String>.unsettable hardcoded value = true but computed value is false
Field CtWildcardReference#name<java.lang.String>.derived hardcoded value = true but computed value is false
Field CtWildcardReference#name<java.lang.String>.unsettable hardcoded value = true but computed value is false
Field CtEnum#label<java.lang.String>.derived hardcoded value = true but computed value is false
Field CtEnum#label<java.lang.String>.unsettable hardcoded value = true but computed value is false
Field CtEnum#modifier<java.util.Set<spoon.reflect.declaration.ModifierKind>>.derived hardcoded value = false but computed value is true
Field CtEnum#interface<java.util.Set<spoon.reflect.reference.CtTypeReference<? extends java.lang.Object>>>.derived hardcoded value = false but computed value is true
Field CtClass#label<java.lang.String>.derived hardcoded value = true but computed value is false
Field CtClass#label<java.lang.String>.unsettable hardcoded value = true but computed value is false
Field CtClass#modifier<java.util.Set<spoon.reflect.declaration.ModifierKind>>.derived hardcoded value = false but computed value is true
Field CtClass#superType<spoon.reflect.reference.CtTypeReference<? extends java.lang.Object>>.derived hardcoded value = false but computed value is true
Field CtClass#interface<java.util.Set<spoon.reflect.reference.CtTypeReference<? extends java.lang.Object>>>.derived hardcoded value = false but computed value is true
Field CtAnnotationType#modifier<java.util.Set<spoon.reflect.declaration.ModifierKind>>.derived hardcoded value = false but computed value is true

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions