mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-14 16:17:34 +00:00
Philipp Eichhorn's patch to allow non-top-level annotations to work with lombok's annotation framework.
This commit is contained in:
1 parent
c900526ebf
commit
5e0e78d57e
3 files changed
+8
-5
No files matched your search
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2009-2011 The Project Lombok Authors.
|
||||
* Copyright (C) 2009-2012 The Project Lombok Authors.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -76,6 +76,7 @@ public class TypeLibrary {
|
||||
if (idx == -1) throw new IllegalArgumentException(
|
||||
"Only fully qualified types are allowed (and stuff in the default package is not palatable to us either!)");
|
||||
|
||||
fullyQualifiedTypeName = fullyQualifiedTypeName.replace("$", ".");
|
||||
final String simpleName = fullyQualifiedTypeName.substring(idx +1);
|
||||
final String packageName = fullyQualifiedTypeName.substring(0, idx);
|
||||
|
||||
|
||||
@@ -113,8 +113,9 @@ public class HandlerLibrary {
|
||||
Class<? extends Annotation> annotationClass =
|
||||
SpiLoadUtil.findAnnotationClass(handler.getClass(), EclipseAnnotationHandler.class);
|
||||
AnnotationHandlerContainer<?> container = new AnnotationHandlerContainer(handler, annotationClass);
|
||||
if (lib.annotationHandlers.put(container.annotationClass.getName(), container) != null) {
|
||||
error(null, "Duplicate handlers for annotation type: " + container.annotationClass.getName(), null);
|
||||
String annotationClassName = container.annotationClass.getName().replace("$", ".");
|
||||
if (lib.annotationHandlers.put(annotationClassName, container) != null) {
|
||||
error(null, "Duplicate handlers for annotation type: " + annotationClassName, null);
|
||||
}
|
||||
lib.typeLibrary.addType(container.annotationClass.getName());
|
||||
} catch (Throwable t) {
|
||||
|
||||
@@ -108,8 +108,9 @@ public class HandlerLibrary {
|
||||
Class<? extends Annotation> annotationClass =
|
||||
SpiLoadUtil.findAnnotationClass(handler.getClass(), JavacAnnotationHandler.class);
|
||||
AnnotationHandlerContainer<?> container = new AnnotationHandlerContainer(handler, annotationClass);
|
||||
if (lib.annotationHandlers.put(container.annotationClass.getName(), container) != null) {
|
||||
lib.javacWarning("Duplicate handlers for annotation type: " + container.annotationClass.getName());
|
||||
String annotationClassName = container.annotationClass.getName().replace("$", ".");
|
||||
if (lib.annotationHandlers.put(annotationClassName, container) != null) {
|
||||
lib.javacWarning("Duplicate handlers for annotation type: " + annotationClassName);
|
||||
}
|
||||
lib.typeLibrary.addType(container.annotationClass.getName());
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user