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

- Packages that use State
  Package | Description
  --- | ---
  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
    Modifier and Type | Class and Description
    --- | ---
    `(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
    Modifier and Type | Method and Description
    --- | ---
    `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)`