diff options
author | Fabian Meumertzheim <meumertzheim@code-intelligence.com> | 2021-10-18 15:21:01 +0200 |
---|---|---|
committer | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-10-19 11:07:51 +0200 |
commit | 8a1a41314e99ffce548f43c1d0b361a6b470c5a6 (patch) | |
tree | 86936096681fd39fc9a5e148a881b703f84e1c04 /agent/src | |
parent | aada4f8b0b8e8fcadc3139fdd8e970e013d395c0 (diff) | |
download | jazzer-api-8a1a41314e99ffce548f43c1d0b361a6b470c5a6.tar.gz |
More informative error message in case of no implementing class
Diffstat (limited to 'agent/src')
-rw-r--r-- | agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java | 3 | ||||
-rw-r--r-- | agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java index 760fef3d..e1d775c4 100644 --- a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java +++ b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/AutofuzzConstructionException.java @@ -19,6 +19,9 @@ package com.code_intelligence.jazzer.autofuzz; * not the actual invocation of an autofuzzed method. */ public class AutofuzzConstructionException extends RuntimeException { + public AutofuzzConstructionException(String message) { + super(message); + } public AutofuzzConstructionException(Throwable cause) { super(cause); } diff --git a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java index e31d7201..88826b9b 100644 --- a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java +++ b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/Meta.java @@ -146,6 +146,10 @@ public class Meta { cache.put(type, implementingClasses); } } + if (implementingClasses.isEmpty()) { + throw new AutofuzzConstructionException(String.format( + "Could not find classes implementing %s on the classpath", type.getName())); + } return consume(data, data.pickValue(implementingClasses)); } else if (type.getConstructors().length > 0) { Constructor<?> constructor = data.pickValue(type.getConstructors()); |