From 65ad9b7cc79e91b72594cca5fcc9c47e6700976f Mon Sep 17 00:00:00 2001 From: mmaehren <32199075+mmaehren@users.noreply.github.com> Date: Fri, 21 Mar 2025 18:54:44 +0100 Subject: [PATCH] Skip over identifiers not listed in model --- .../nds/anvilcore/model/DerivationScope.java | 32 +++++++++++-------- .../model/parameter/ParameterIdentifier.java | 2 +- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/rub/nds/anvilcore/model/DerivationScope.java b/src/main/java/de/rub/nds/anvilcore/model/DerivationScope.java index 6bd2abd..ddb67a0 100644 --- a/src/main/java/de/rub/nds/anvilcore/model/DerivationScope.java +++ b/src/main/java/de/rub/nds/anvilcore/model/DerivationScope.java @@ -270,20 +270,24 @@ private static List resolveValueConstraints( zipArrays(annotation.affectedIdentifiers(), annotation.methods()) .forEach( entry -> { - dynamicConstraints.add( - new ValueConstraint( - ParameterIdentifier.fromName( - entry.getKey()), - entry.getValue(), - annotation - .clazz() - .equals( - Object - .class) - ? extensionContext - .getRequiredTestClass() - : annotation.clazz(), - true)); + ParameterIdentifier matchingIdentifier = + ParameterIdentifier.fromName( + entry.getKey()); + if (matchingIdentifier != null) { + dynamicConstraints.add( + new ValueConstraint( + matchingIdentifier, + entry.getValue(), + annotation + .clazz() + .equals( + Object + .class) + ? extensionContext + .getRequiredTestClass() + : annotation.clazz(), + true)); + } }); }); staticConstraints.addAll(dynamicConstraints); diff --git a/src/main/java/de/rub/nds/anvilcore/model/parameter/ParameterIdentifier.java b/src/main/java/de/rub/nds/anvilcore/model/parameter/ParameterIdentifier.java index f3c19a3..4699533 100644 --- a/src/main/java/de/rub/nds/anvilcore/model/parameter/ParameterIdentifier.java +++ b/src/main/java/de/rub/nds/anvilcore/model/parameter/ParameterIdentifier.java @@ -50,7 +50,7 @@ public static ParameterIdentifier fromName(String name) { return knownIdentifiers.stream() .filter(known -> known.name().equals(name)) .findFirst() - .orElseThrow(); + .orElse(null); } public DerivationParameter getInstance() {