Package com.google.auto.common
Class BasicAnnotationProcessor.ElementName
- java.lang.Object
-
- com.google.auto.common.BasicAnnotationProcessor.ElementName
-
- Enclosing class:
- BasicAnnotationProcessor
private static final class BasicAnnotationProcessor.ElementName extends java.lang.Object
A package or type name.It's unfortunate that we have to track types and packages separately, but since there are two different methods to look them up in
Elements
, we end up with a lot of parallel logic. :(Packages declared (and annotated) in
package-info.java
are tracked as deferred packages, type elements are tracked directly, and all other elements are tracked via their nearest enclosing type.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
BasicAnnotationProcessor.ElementName.Kind
-
Field Summary
Fields Modifier and Type Field Description private BasicAnnotationProcessor.ElementName.Kind
kind
private java.lang.String
name
-
Constructor Summary
Constructors Modifier Constructor Description private
ElementName(BasicAnnotationProcessor.ElementName.Kind kind, javax.lang.model.element.Name name)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object object)
(package private) static BasicAnnotationProcessor.ElementName
forAnnotatedElement(javax.lang.model.element.Element element)
AnBasicAnnotationProcessor.ElementName
for an annotated element.(package private) com.google.common.base.Optional<? extends javax.lang.model.element.Element>
getElement(javax.lang.model.util.Elements elements)
TheElement
whose fully-qualified name isname()
.int
hashCode()
(package private) java.lang.String
name()
The fully-qualified name of the element.
-
-
-
Field Detail
-
kind
private final BasicAnnotationProcessor.ElementName.Kind kind
-
name
private final java.lang.String name
-
-
Constructor Detail
-
ElementName
private ElementName(BasicAnnotationProcessor.ElementName.Kind kind, javax.lang.model.element.Name name)
-
-
Method Detail
-
forAnnotatedElement
static BasicAnnotationProcessor.ElementName forAnnotatedElement(javax.lang.model.element.Element element)
AnBasicAnnotationProcessor.ElementName
for an annotated element. Ifelement
is a package, uses the fully qualified name of the package. If it's a type, uses its fully qualified name. Otherwise, uses the fully-qualified name of the nearest enclosing type.
-
name
java.lang.String name()
The fully-qualified name of the element.
-
getElement
com.google.common.base.Optional<? extends javax.lang.model.element.Element> getElement(javax.lang.model.util.Elements elements)
TheElement
whose fully-qualified name isname()
. Absent if the relevant method onElements
returnsnull
.
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-