summaryrefslogtreecommitdiff
path: root/src/main/java/ftbsc/lll/exceptions
diff options
context:
space:
mode:
author zaaarf <zaaarf@proton.me>2023-03-25 21:29:28 +0100
committer zaaarf <zaaarf@proton.me>2023-03-25 21:29:28 +0100
commitd2fe55db7a5a82f7f165df1bb57b8c9a19ab0525 (patch)
treec1c7a33c1f7cc9a89faea13fa221f1a7d754c09b /src/main/java/ftbsc/lll/exceptions
parentc688b55fc3f8d1401d4fd5460b10646a97a36af6 (diff)
chore: implemented matching by name for finders, added OrphanExceptions to prevent ungraceful crashes in generated code
Diffstat (limited to 'src/main/java/ftbsc/lll/exceptions')
-rw-r--r--src/main/java/ftbsc/lll/exceptions/NotAProxyException.java7
-rw-r--r--src/main/java/ftbsc/lll/exceptions/OrphanElementException.java25
2 files changed, 28 insertions, 4 deletions
diff --git a/src/main/java/ftbsc/lll/exceptions/NotAProxyException.java b/src/main/java/ftbsc/lll/exceptions/NotAProxyException.java
index 1ce3c0f..f3e40a7 100644
--- a/src/main/java/ftbsc/lll/exceptions/NotAProxyException.java
+++ b/src/main/java/ftbsc/lll/exceptions/NotAProxyException.java
@@ -1,17 +1,16 @@
package ftbsc.lll.exceptions;
import ftbsc.lll.processor.annotations.Find;
-import ftbsc.lll.proxies.impl.FieldProxy;
-import ftbsc.lll.proxies.impl.MethodProxy;
/**
* Thrown when a method is annotated with {@link Find} but does not
- * return a {@link MethodProxy} or a {@link FieldProxy}
+ * return a known instance of {@link ftbsc.lll.proxies.AbstractProxy}.
+ * @since 0.5.0
*/
public class NotAProxyException extends RuntimeException {
/**
- * Constructs a exception for the specified method.
+ * Constructs an exception for the specified method.
* @param parent the FQN of the class containing the method
* @param method the name of the method wrongly annotated
*/
diff --git a/src/main/java/ftbsc/lll/exceptions/OrphanElementException.java b/src/main/java/ftbsc/lll/exceptions/OrphanElementException.java
new file mode 100644
index 0000000..17c1180
--- /dev/null
+++ b/src/main/java/ftbsc/lll/exceptions/OrphanElementException.java
@@ -0,0 +1,25 @@
+package ftbsc.lll.exceptions;
+
+import javax.lang.model.element.Element;
+import javax.lang.model.element.QualifiedNameable;
+
+/**
+ * Thrown when an annotated element that needs to be paired with
+ * another does not match with any.
+ * @since 0.5.0
+ */
+public class OrphanElementException extends RuntimeException {
+ /**
+ * Constructs an exception for the specified method.
+ * @param element the orphan element
+ */
+ public OrphanElementException(Element element) {
+ super(
+ String.format(
+ "Could not find a valid target for element %s.%s!",
+ ((QualifiedNameable) element.getEnclosingElement()).getQualifiedName().toString(),
+ element.getSimpleName().toString()
+ )
+ );
+ }
+}