## Uses of Class
com.google.web.bindery.requestfactory.apt.State

Packages that use State
com.google.web.bindery.requestfactory.apt

### Uses of State in com.google.web.bindery.requestfactory.apt

Subclasses of State in com.google.web.bindery.requestfactory.apt
`(package private) static class` `State.ForTesting` Slightly tweaked implementation used when running tests.

Methods in com.google.web.bindery.requestfactory.apt with parameters of type State
`protected void` ExtraTypesScanner.`checkForAnnotation(javax.lang.model.element.Element x, State state)` Check an element for a declaration.
`protected void` ExtraTypesScanner.`checkForAnnotation(javax.lang.model.element.TypeElement x, State state)` Check a type and all of its supertypes for the annotation.
`static java.util.Set<javax.lang.model.element.TypeElement>` ReferredTypesCollector.`collect(javax.lang.model.element.TypeElement requestFactory, State state)` Collect all RequestContext and proxy types reachable from the given RequestFactory.
`protected javax.lang.model.type.TypeMirror` ClientToDomainMapper.`convertSingleParamType(javax.lang.model.type.DeclaredType x, javax.lang.model.type.DeclaredType convertTo, int param, State state)` Utility method to convert a `Foo<BarProxy> -> BarDomain`.
`protected javax.lang.model.type.TypeMirror` TypeSimplifier.`defaultAction(javax.lang.model.type.TypeMirror x, State state)`
`protected java.lang.Boolean` TransportableTypeVisitor.`defaultAction(javax.lang.model.type.TypeMirror arg0, State arg1)`
`protected java.lang.String` DescriptorBuilder.`defaultAction(javax.lang.model.type.TypeMirror x, State state)`
`protected javax.lang.model.type.TypeMirror` ClientToDomainMapper.`defaultAction(javax.lang.model.type.TypeMirror x, State state)`
`protected java.util.List<javax.lang.model.type.DeclaredType>` TypeVisitorBase.`getValueTypes(State state)` This method should be kept in sync with `ValueCodex.getAllValueTypes()`.
`protected boolean` ScannerBase.`isGetter(javax.lang.model.element.ExecutableElement x, State state)` No parameters, name stars with "get" or is a boolean / Boolean isFoo hasFoo method.
`protected boolean` ScannerBase.`isSetter(javax.lang.model.element.ExecutableElement x, State state)` Name starts with set, has one parameter, returns either null or something assignable from the element's enclosing type.
`protected static void` ScannerBase.`poisonIfAnnotationPresent(State state, javax.lang.model.element.TypeElement x, java.lang.annotation.Annotation... annotations)` Poisons the given type if one or more of the annotation values are non-null.
`R` ScannerBase.`scan(javax.lang.model.element.Element x, State state)`
`protected R` ScannerBase.`scanAllInheritedMethods(javax.lang.model.element.TypeElement x, State state)`
`protected boolean` ScannerBase.`shouldIgnore(javax.lang.model.element.ExecutableElement x, State state)` Ignore all static initializers and methods defined in the base RequestFactory interfaces
`protected boolean` ProxyScanner.`shouldIgnore(javax.lang.model.element.ExecutableElement x, State state)`
`static javax.lang.model.type.TypeMirror` TypeSimplifier.`simplify(javax.lang.model.type.TypeMirror toBox, boolean boxPrimitives, State state)`
`(package private) static javax.lang.model.type.TypeMirror` State.`viewAs(javax.lang.model.type.DeclaredType desiredType, javax.lang.model.type.TypeMirror searchFrom, State state)` Used to take a `FooRequest extends Request<Foo>` and find the `Request<Foo>` type.
`protected static javax.lang.model.type.ExecutableType` ScannerBase.`viewIn(javax.lang.model.element.TypeElement lookIn, javax.lang.model.element.ExecutableElement methodElement, State state)`
`java.lang.String` DescriptorBuilder.`visitArray(javax.lang.model.type.ArrayType x, State state)` Arrays aren't actually used anywhere in RequestFactory, but it's trivial to implement and might be useful later on.
`javax.lang.model.type.TypeMirror` TypeSimplifier.`visitDeclared(javax.lang.model.type.DeclaredType x, State state)`
`java.lang.Boolean` TransportableTypeVisitor.`visitDeclared(javax.lang.model.type.DeclaredType t, State state)`
`java.lang.String` DescriptorBuilder.`visitDeclared(javax.lang.model.type.DeclaredType x, State state)`
`javax.lang.model.type.TypeMirror` ClientToDomainMapper.`visitDeclared(javax.lang.model.type.DeclaredType x, State state)`
`java.lang.Void` RequestFactoryScanner.`visitExecutable(javax.lang.model.element.ExecutableElement x, State state)`
`java.lang.Void` RequestContextScanner.`visitExecutable(javax.lang.model.element.ExecutableElement x, State state)`
`java.lang.Void` ReferredTypesCollector.`visitExecutable(javax.lang.model.element.ExecutableElement x, State state)`
`java.lang.Void` ProxyScanner.`visitExecutable(javax.lang.model.element.ExecutableElement x, State state)`
`java.lang.Void` DomainChecker.`visitExecutable(javax.lang.model.element.ExecutableElement clientMethodElement, State state)`
`javax.lang.model.element.ExecutableElement` DomainChecker.MethodFinder.`visitExecutable(javax.lang.model.element.ExecutableElement domainMethodElement, State state)`
`java.lang.Void` DeobfuscatorBuilder.`visitExecutable(javax.lang.model.element.ExecutableElement x, State state)` Examine a method defined within a RequestFactory.
`java.lang.String` DescriptorBuilder.`visitExecutable(javax.lang.model.type.ExecutableType x, State state)` Only generates the method descriptor, which does not include the method's name.
`javax.lang.model.type.TypeMirror` TypeSimplifier.`visitNoType(javax.lang.model.type.NoType x, State state)`
`java.lang.String` DescriptorBuilder.`visitNoType(javax.lang.model.type.NoType x, State state)`
`javax.lang.model.type.TypeMirror` ClientToDomainMapper.`visitNoType(javax.lang.model.type.NoType x, State state)`
`javax.lang.model.type.TypeMirror` TypeSimplifier.`visitPrimitive(javax.lang.model.type.PrimitiveType x, State state)`
`java.lang.Boolean` TransportableTypeVisitor.`visitPrimitive(javax.lang.model.type.PrimitiveType x, State state)`
`java.lang.String` DescriptorBuilder.`visitPrimitive(javax.lang.model.type.PrimitiveType x, State state)`
`javax.lang.model.type.TypeMirror` ClientToDomainMapper.`visitPrimitive(javax.lang.model.type.PrimitiveType x, State state)`
`java.lang.Void` RequestFactoryScanner.`visitType(javax.lang.model.element.TypeElement x, State state)`
`java.lang.Void` RequestContextScanner.`visitType(javax.lang.model.element.TypeElement x, State state)`
`java.lang.Void` ReferredTypesCollector.`visitType(javax.lang.model.element.TypeElement x, State state)`
`java.lang.Void` ProxyScanner.`visitType(javax.lang.model.element.TypeElement x, State state)`
`java.lang.Void` Finder.`visitType(javax.lang.model.element.TypeElement x, State state)`
`java.lang.Void` DomainChecker.`visitType(javax.lang.model.element.TypeElement clientTypeElement, State state)`
`javax.lang.model.element.ExecutableElement` DomainChecker.MethodFinder.`visitType(javax.lang.model.element.TypeElement domainType, State state)`
`java.lang.Void` DeobfuscatorBuilder.`visitType(javax.lang.model.element.TypeElement x, State state)` Scan a RequestFactory type.
`java.lang.Void` RequestContextScanner.`visitTypeParameter(javax.lang.model.element.TypeParameterElement x, State state)`
`javax.lang.model.type.TypeMirror` TypeSimplifier.`visitTypeVariable(javax.lang.model.type.TypeVariable x, State state)`
`java.lang.Boolean` TransportableTypeVisitor.`visitTypeVariable(javax.lang.model.type.TypeVariable t, State state)`
`java.lang.String` DescriptorBuilder.`visitTypeVariable(javax.lang.model.type.TypeVariable x, State state)`
`javax.lang.model.type.TypeMirror` ClientToDomainMapper.`visitTypeVariable(javax.lang.model.type.TypeVariable x, State state)`
`java.lang.Void` ProxyScanner.`visitVariable(javax.lang.model.element.VariableElement x, State state)`
`javax.lang.model.type.TypeMirror` TypeSimplifier.`visitWildcard(javax.lang.model.type.WildcardType x, State state)`
`java.lang.Boolean` TransportableTypeVisitor.`visitWildcard(javax.lang.model.type.WildcardType t, State state)`
`java.lang.String` DescriptorBuilder.`visitWildcard(javax.lang.model.type.WildcardType x, State state)`
`javax.lang.model.type.TypeMirror` ClientToDomainMapper.`visitWildcard(javax.lang.model.type.WildcardType x, State state)`

Constructors in com.google.web.bindery.requestfactory.apt with parameters of type State
Constructor and Description
`MethodFinder(java.lang.CharSequence name, javax.lang.model.type.TypeMirror returnType, java.util.List<javax.lang.model.type.TypeMirror> params, boolean boxReturnType, State state)`
`TypeComparator(State state)`