ClassDescriptionSpecifies information about a type which may be a container specified by generic type arguments, e.g.Helper for establishing whether expressions correspond to a constant expression.Represents a binary equals call on two constant expressions.Represents a constant expression.The kind of a constant expression.Visitor for scanning over the components of a constant expression.Represents both a constant method call or a constant field/local access, depending on the actual type of
symbol.Represents sets of things known to be true and false if a boolean statement evaluated true.A binder from
GuardedByExpressions.A context containing the information necessary to resolve a
Symbolfrom an AST node.The lock expression of an
@GuardedByannotation.A 'class' literal: ClassName.classA guarded by expression that could not be resolved.Makes
GuardedByExpressionkind.A local variable (or parameter), resolved as part of a lock access expression.The member access expression for a field or method.A simple 'this literal.The base expression for a static member select on a class literal (e.g.Flags that control the behavior of threadsafety utils to facilitate rolling out new functionality.A symbol resolver used while binding guardedby expressions from string literals.A method body analyzer.Utility for discovering the lock expressions that needs to be held when accessing specific guarded members.Listener interface for accesses to guarded members.An error that occurred during the parsing or binding of a GuardedBy expression.Analyzes types for deep immutability.Accepts
violationsthat are found during the analysis.Bug checker to detect usage of
Thread.yield(), and changing thread priorities.Analyzes types for deep thread safety.A class which gives information about the annotation of types; if a type isn't annotated,
ThreadSafety.Violationgives information as to why it is not.
ThreadSafetyBuilderInformation about known types and whether they're known to be safe or unsafe.Helper for building maps of classes to
ThreadSafetyutility class can be used by either the bug checker that enforces immutability or by the bug checker that enforces thread-safety.A human-friendly explanation of a thread safety violations.A collection of types with known mutability.A collection of types with known thread safety.