SYMBOL INDEX (2561 symbols across 285 files) FILE: huntbugs-ant-plugin/src/main/java/one/util/huntbugs/ant/HuntBugsTask.java class HuntBugsTask (line 50) | public class HuntBugsTask extends Task { type LogLevel (line 51) | public enum LogLevel { method execute (line 67) | @Override method addListener (line 95) | private void addListener(Context ctx) { method createRepository (line 106) | private List createRepository() { method setClassPath (line 148) | public void setClassPath(Path classPath) { method setAuxClassPath (line 154) | public void setAuxClassPath(Path auxClassPath) { method setDiff (line 160) | public void setDiff(File diff) { method setXml (line 164) | public void setXml(File xml) { method setHtml (line 168) | public void setHtml(File html) { method setLog (line 172) | public void setLog(LogLevel log) { FILE: huntbugs-maven-plugin/src/main/java/one/util/huntbugs/maven/plugin/HuntBugsMojo.java class HuntBugsMojo (line 62) | @Mojo(name = "huntbugs", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, ... method execute (line 115) | @Override method constructRepository (line 133) | private Repository constructRepository() throws IOException { method addDependency (line 172) | private void addDependency(Artifact art, List deps) throw... method constructOptions (line 190) | private AnalysisOptions constructOptions() { method addAnalysisProgressListener (line 197) | private void addAnalysisProgressListener(Context ctx) { method writeReports (line 208) | private void writeReports(Context ctx) throws Exception { FILE: huntbugs/src/main/java/one/util/huntbugs/HuntBugs.java class HuntBugs (line 59) | public class HuntBugs { method parseCommandLine (line 68) | private void parseCommandLine(String[] args) { method createRepository (line 149) | private Repository createRepository(Path path) { method createTypeLoader (line 157) | private ITypeLoader createTypeLoader(Path path) { method run (line 165) | private int run(String[] args) { method glob (line 258) | static Stream glob(String mask) throws IOException { method main (line 273) | public static void main(String[] args) { FILE: huntbugs/src/main/java/one/util/huntbugs/analysis/AnalysisListener.java type AnalysisListener (line 22) | @FunctionalInterface method eventOccurred (line 31) | public boolean eventOccurred(String stepName, String className, int co... FILE: huntbugs/src/main/java/one/util/huntbugs/analysis/AnalysisOptions.java class AnalysisOptions (line 29) | public class AnalysisOptions { method set (line 36) | public void set(String name, String valueString) { method getRule (line 63) | public Rule getRule() { method setRule (line 67) | public void setRule(Rule rule) { method report (line 71) | public void report(PrintStream out) { FILE: huntbugs/src/main/java/one/util/huntbugs/analysis/Context.java class Context (line 53) | public class Context implements HuntBugsResult { method Context (line 68) | public Context(Repository repository, AnalysisOptions options) { method getMessages (line 79) | @Override method getOptions (line 87) | public AnalysisOptions getOptions() { method addListener (line 91) | public void addListener(AnalysisListener listener) { method fireEvent (line 95) | boolean fireEvent(String stepName, String className, int step, int tot... method analyzePackage (line 103) | public void analyzePackage(String name) { method preparingClasses (line 126) | private boolean preparingClasses(Set classes) { method createMetadataSystem (line 177) | MetadataSystem createMetadataSystem() { method lookUp (line 201) | private TypeDefinition lookUp(MetadataSystem ms, String className) { method analyzingClasses (line 210) | private void analyzingClasses(Set classes) { method analyzeClass (line 224) | void analyzeClass(MetadataSystem ms, String name) { method addError (line 237) | public void addError(ErrorMessage msg) { method addWarning (line 242) | public void addWarning(Warning warning) { method warnings (line 249) | @Override method errors (line 254) | @Override method reportWarnings (line 259) | public void reportWarnings(PrintStream app) { method reportStats (line 266) | public void reportStats(PrintStream app) { method reportErrors (line 290) | public void reportErrors(PrintStream app) { method reportWarningTypes (line 294) | public void reportWarningTypes(PrintStream out) { method reportDatabases (line 298) | public void reportDatabases(PrintStream out) { method reportTitles (line 302) | public void reportTitles(PrintStream out) { method getClassesCount (line 306) | public int getClassesCount() { method getTotalClasses (line 310) | public int getTotalClasses() { method getErrorCount (line 314) | public int getErrorCount() { method incStat (line 318) | public void incStat(String key) { method warningTypes (line 322) | public Stream warningTypes() { method getWarningType (line 326) | public WarningType getWarningType(String typeName) { method getStat (line 330) | public long getStat(String key) { method getMainType (line 334) | private static String getMainType(String internalName) { FILE: huntbugs/src/main/java/one/util/huntbugs/analysis/ErrorMessage.java class ErrorMessage (line 30) | public class ErrorMessage { method ErrorMessage (line 39) | public ErrorMessage(Detector detector, MemberReference method, int lin... method ErrorMessage (line 44) | public ErrorMessage(Detector detector, TypeDefinition type, Throwable ... method ErrorMessage (line 48) | public ErrorMessage(Detector detector, TypeDefinition type, String mes... method ErrorMessage (line 52) | public ErrorMessage(Detector detector, MemberReference method, int lin... method ErrorMessage (line 57) | public ErrorMessage(String detector, String className, String elementN... method ErrorMessage (line 67) | public ErrorMessage(String detector, String className, String elementN... method getClassName (line 77) | public String getClassName() { method getElementName (line 81) | public String getElementName() { method getDescriptor (line 85) | public String getDescriptor() { method getLine (line 89) | public int getLine() { method getDetector (line 93) | public String getDetector() { method getError (line 97) | public String getError() { method toString (line 105) | @Override FILE: huntbugs/src/main/java/one/util/huntbugs/analysis/HuntBugsResult.java type HuntBugsResult (line 27) | public interface HuntBugsResult { method getMessages (line 31) | Messages getMessages(); method warnings (line 36) | Stream warnings(); method errors (line 41) | Stream errors(); FILE: huntbugs/src/main/java/one/util/huntbugs/assertions/AssertionData.java class AssertionData (line 26) | class AssertionData { type Status (line 32) | enum Status { method AssertionData (line 36) | AssertionData(boolean hasWarning, String type, int minScore, int maxSc... method check (line 51) | Status check(Warning warning) { method finalStatus (line 67) | Status finalStatus() { method toString (line 71) | @Override FILE: huntbugs/src/main/java/one/util/huntbugs/assertions/MemberAsserter.java class MemberAsserter (line 38) | public class MemberAsserter { method MemberAsserter (line 45) | private MemberAsserter(MemberAsserter parent, List data) { method forMember (line 52) | public static MemberAsserter forMember(MemberReference md) { method forMember (line 59) | public static MemberAsserter forMember(MemberAsserter parent, MemberRe... method analyzeMember (line 66) | private static List analyzeMember(MemberReference md) { method checkWarning (line 95) | public void checkWarning(Consumer errorConsumer, Warning warni... method checkFinally (line 111) | public void checkFinally(Consumer errorConsumer) { method isEmpty (line 124) | public boolean isEmpty() { FILE: huntbugs/src/main/java/one/util/huntbugs/db/DeclaredAnnotations.java class DeclaredAnnotations (line 36) | @TypeDatabase method DeclaredAnnotations (line 39) | public DeclaredAnnotations() { method visitType (line 43) | @Override class DeclaredAnnotation (line 65) | @TypeDatabaseItem(parentDatabase = DeclaredAnnotations.class) method getPolicy (line 69) | public RetentionPolicy getPolicy() { FILE: huntbugs/src/main/java/one/util/huntbugs/db/FieldStats.java class FieldStats (line 46) | @TypeDatabase method FieldStats (line 61) | public FieldStats() { class SimpleStack (line 65) | static final class SimpleStack { method SimpleStack (line 73) | SimpleStack(int maxLocals) { method registerJump (line 78) | void registerJump(Instruction instr) { method preprocess (line 84) | void preprocess(Instruction instr) { method set (line 91) | void set(int slot, Object cst) { method setUnknown (line 95) | void setUnknown(int slot) { method get (line 99) | Object get(int slot) { method pushUnknown (line 103) | void pushUnknown() { method push (line 107) | void push(Object cst) { method poll (line 111) | Object poll() { method clear (line 116) | void clear() { method visitType (line 121) | @Override method linkUncontrolled (line 225) | private void linkUncontrolled(Object type, Object fieldName) { method getFlags (line 235) | public int getFlags(FieldReference fr) { class TypeFieldStats (line 240) | @TypeDatabaseItem(parentDatabase=FieldStats.class) method linkUncontrolled (line 245) | void linkUncontrolled(String fieldName) { method getFlags (line 250) | public int getFlags(String name) { method linkUncontrolled (line 257) | void linkUncontrolled() { method link (line 261) | void link(MethodDefinition src, FieldReference fr, boolean isStatic,... FILE: huntbugs/src/main/java/one/util/huntbugs/db/Hierarchy.java class Hierarchy (line 39) | @TypeDatabase method Hierarchy (line 41) | public Hierarchy() { method visitType (line 45) | @Override method isOverridden (line 54) | public boolean isOverridden(MethodDefinition md) { method link (line 63) | private void link(TypeHierarchy th, TypeReference superType) { class TypeHierarchy (line 71) | @TypeDatabaseItem(parentDatabase = Hierarchy.class) method TypeHierarchy (line 78) | public TypeHierarchy(String name) { method getInternalName (line 82) | public String getInternalName() { method getSuperClasses (line 86) | public Set getSuperClasses() { method getSubClasses (line 90) | public Set getSubClasses() { method isOverridden (line 94) | boolean isOverridden(IMetadataResolver resolver, MemberInfo mi) { method isResolved (line 113) | public boolean isResolved() { method hasFlag (line 117) | public boolean hasFlag(long flag) { method toString (line 121) | @Override method hasSubClasses (line 126) | public boolean hasSubClasses() { method hasSubClassesOutOfPackage (line 130) | public boolean hasSubClassesOutOfPackage() { FILE: huntbugs/src/main/java/one/util/huntbugs/db/MethodStats.java class MethodStats (line 41) | @TypeDatabase method MethodStats (line 53) | public MethodStats() { method getMethodData (line 57) | private MethodData getMethodData(MethodDefinition md) { method visitType (line 74) | @Override method getStats (line 88) | public MethodData getStats(MemberInfo mi) { method getStats (line 92) | public MethodData getStats(MethodReference mr) { method visitMethod (line 96) | private void visitMethod(MethodData mdata, MethodDefinition md) { method visitBody (line 107) | private void visitBody(MethodData mdata, MethodBody body) { class MethodData (line 180) | public static class MethodData { method addSubMethod (line 184) | void addSubMethod(MethodData md) { method testAny (line 193) | public boolean testAny(long flag, boolean exact) { method mayHaveSideEffect (line 205) | public boolean mayHaveSideEffect(boolean exact) { FILE: huntbugs/src/main/java/one/util/huntbugs/db/Mutability.java class Mutability (line 29) | @TypeDatabase method Mutability (line 31) | public Mutability() { method visitType (line 35) | @Override method isKnownMutable (line 47) | public boolean isKnownMutable(TypeReference tr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/AbandonedStream.java class AbandonedStream (line 35) | @WarningDefinition(category="Correctness", name="AbandonedStream", maxSc... method visit (line 38) | @AstVisitor(nodes=AstNodes.EXPRESSIONS, minVersion=8) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/AppendObjectOutputStream.java class AppendObjectOutputStream (line 36) | @WarningDefinition(category = "Correctness", name = "AppendObjectOutputS... method visit (line 41) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method isBufferedStream (line 59) | private static boolean isBufferedStream(Expression expr) { method isAppendOutput (line 70) | private static boolean isAppendOutput(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/ArrayRangeCheck.java class ArrayRangeCheck (line 38) | @WarningDefinition(category = "Correctness", name = "ArrayIndexNegative"... method visit (line 46) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method checkNegative (line 92) | private static Integer checkNegative(MethodContext mc, Expression expr... method getMaxLength (line 103) | private static long getMaxLength(Expression expression) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/AtomicConcurrent.java class AtomicConcurrent (line 42) | @WarningDefinition(category = "Multithreading", name = "NonAtomicOperati... method visit (line 47) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method isGetOrContains (line 98) | private boolean isGetOrContains(Expression self, Expression key, Expre... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/AverageComputation.java class AverageComputation (line 32) | @WarningDefinition(category = "BadPractice", name = "AverageComputationC... method visitExpression (line 34) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method isDiv2 (line 47) | private boolean isDiv2(Expression idx) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/BadMath.java class BadMath (line 40) | @WarningDefinition(category = "Correctness", name = "RemOne", maxScore =... method checkWrongPriority (line 57) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method visit (line 88) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method checkSignedByte (line 188) | private void checkSignedByte(Expression expr, MethodContext mc) { method isByte (line 199) | private static boolean isByte(Expression expr) { method isLow8BitsClear (line 206) | private static boolean isLow8BitsClear(Expression arg) { method isConst (line 227) | private static boolean isConst(Expression expr, long wantedValue) { method isIntegral (line 232) | private static boolean isIntegral(Object constant) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/BadMethodCalls.java class BadMethodCalls (line 50) | @WarningDefinition(category = "BadPractice", name = "SystemExit", maxSco... method visit (line 79) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method checkConstructor (line 88) | private void checkConstructor(Expression node, MethodReference mr, Met... method check (line 120) | private void check(Expression node, MethodReference mr, NodeChain nc, ... method fromFile (line 259) | private boolean fromFile(Expression expr) { method isToStringCall (line 274) | private boolean isToStringCall(String typeName, String name, String si... method isTimeMeasure (line 285) | private static boolean isTimeMeasure(Node node) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/BadMethodReferences.java class BadMethodReferences (line 38) | @WarningDefinition(category="Correctness", name="MaxMinMethodReferenceFo... method visit (line 40) | @AstVisitor(nodes=AstNodes.EXPRESSIONS, minVersion=8) method check (line 54) | private void check(MethodHandle handle, TypeReference functionalInterf... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/BadMonitorObject.java class BadMonitorObject (line 36) | @WarningDefinition(category="Multithreading", name="SynchronizationOnBoo... method visit (line 42) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/CheckReturnValue.java class CheckReturnValue (line 35) | @WarningDefinition(category="BadPractice", name="ReturnValueOfRead", max... method visit (line 38) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method isInputStream (line 65) | private boolean isInputStream(TypeReference type) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/CloneContract.java class CloneContract (line 47) | @WarningDefinition(category="BadPractice", name="CloneableDoesNotImpleme... method beforeClass (line 55) | @ClassVisitor(order=VisitOrder.BEFORE) method visitBody (line 65) | @AstVisitor(nodes=AstNodes.ROOT, methodName="clone") method afterClass (line 102) | @ClassVisitor(order=VisitOrder.AFTER) method referencesClone (line 109) | private static boolean referencesClone(TypeDefinition td) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/CompareContract.java class CompareContract (line 37) | @WarningDefinition(category="BadPractice", name="CompareReturnsMinValue"... method check (line 41) | @MethodVisitor method visit (line 54) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/CompareUsage.java class CompareUsage (line 38) | @WarningDefinition(category = "BadPractice", name = "NegatingComparatorR... method visit (line 41) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method isCompare (line 63) | private boolean isCompare(Expression child) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/ConditionChain.java class ConditionChain (line 38) | @WarningDefinition(category = "RedundantCode", name = "SameConditions", ... method visit (line 43) | @AstVisitor method check (line 59) | private void check(Expression left, Expression right, AstCode condCode... method check (line 69) | private void check(Expression expr, Block block, MethodContext mc, boo... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/CovariantArrays.java class CovariantArrays (line 41) | @WarningDefinition(category="Correctness", name="ContravariantArrayStore... method visit (line 43) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method toRawType (line 72) | private TypeReference toRawType(TypeReference type) { method allImplementationsDerivedFromSubclass (line 88) | private boolean allImplementationsDerivedFromSubclass(Hierarchy h, Typ... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/DeadLocalStore.java class DeadLocalStore (line 46) | @WarningDefinition(category="RedundantCode", name="DeadStoreInReturn", m... method visit (line 53) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/DroppedExceptionObject.java class DroppedExceptionObject (line 35) | @WarningDefinition(category="Correctness", name="DroppedException", maxS... method visit (line 37) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/DubiousCatch.java class DubiousCatch (line 36) | @WarningDefinition(category="BadPractice", name="CatchIllegalMonitorStat... method visit (line 46) | @AstVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/DuplicateAssignment.java class DuplicateAssignment (line 39) | @WarningDefinition(category="RedundantCode", name="FieldDoubleAssignment... method visit (line 43) | @AstVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/EasyMockProblems.java class EasyMockProblems (line 38) | @WarningDefinition(category = "RedundantCode", name = "UselessEasyMockCa... method check (line 40) | @ClassVisitor method visit (line 46) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/EmptySync.java class EmptySync (line 34) | @WarningDefinition(category="Multithreading", name="EmptySynchronizeBloc... method visit (line 36) | @AstVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/EqualsContract.java class EqualsContract (line 54) | @WarningDefinition(category = "BadPractice", name = "EqualsReturnsTrue",... method visitEquals (line 72) | @AstVisitor(nodes = AstNodes.ROOT, methodName = "equals", methodSignat... method isInstanceOfAndSuperEquals (line 125) | private static boolean isInstanceOfAndSuperEquals(Expression expr) { method isSelfCheck (line 142) | private static boolean isSelfCheck(Expression expr) { method visitClass (line 152) | @ClassVisitor(order = VisitOrder.AFTER) method getPriority (line 224) | private static int getPriority(TypeDefinition td) { method getPriority (line 233) | private static int getPriority(MethodDefinition md) { method visitEqualsExpression (line 242) | @AstVisitor(nodes = AstNodes.EXPRESSIONS, methodName = "equals", metho... method isParameter (line 269) | private static boolean isParameter(Expression expr) { method isComparison (line 276) | private static boolean isComparison(Expression expr) { method checkGetName (line 294) | private void checkGetName(Expression expr, MethodContext mc, Expressio... method isClassGetName (line 306) | private static boolean isClassGetName(Expression expr) { method isGetClass (line 315) | private static boolean isGetClass(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/ExceptionalExpression.java class ExceptionalExpression (line 34) | @WarningDefinition(category="Correctness", name="ExceptionalExpression",... method visit (line 36) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/ExclusiveConditions.java class ExclusiveConditions (line 40) | @WarningDefinition(category = "Correctness", name = "AndEqualsAlwaysFals... method init (line 48) | @MethodVisitor method visit (line 53) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method isEquality (line 79) | private boolean isEquality(Expression expr) { method isNonEquality (line 88) | private boolean isNonEquality(Expression expr) { method checkEqual (line 100) | private void checkEqual(Expression equality, Expression other, MethodC... method checkNonEqual (line 129) | private void checkNonEqual(Expression equality, Expression other, Meth... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/ExposeRepresentation.java class ExposeRepresentation (line 43) | @WarningDefinition(category = "MaliciousCode", name = "ExposeMutableFiel... method checkClass (line 46) | @ClassVisitor method checkMethod (line 51) | @MethodVisitor method visit (line 56) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method getField (line 80) | private FieldDefinition getField(Expression expr, MethodDefinition md) { method getParameter (line 101) | private ParameterDefinition getParameter(Expression value) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/FieldAccess.java class FieldAccess (line 64) | @WarningDefinition(category="RedundantCode", name="UnusedPrivateField", ... class MethodLocation (line 91) | static class MethodLocation { method MethodLocation (line 95) | public MethodLocation(MethodDefinition md, Location loc) { method getAnnotations (line 100) | public WarningAnnotation[] getAnnotations() { class FieldRecord (line 106) | static class FieldRecord { method visitCode (line 120) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method isMutableCollectionFactory (line 198) | private boolean isMutableCollectionFactory(Expression value, MethodRef... method isEmptyArray (line 211) | private static boolean isEmptyArray(Expression value) { method checkAnalyzed (line 216) | @MethodVisitor(order=VisitOrder.AFTER) method visit (line 221) | @FieldVisitor method checkWrite (line 330) | private boolean checkWrite(FieldContext fc, FieldDefinition fd, TypeDe... method tweakForSerialization (line 356) | private int tweakForSerialization(FieldDefinition fd, TypeDefinition t... method checkNull (line 367) | private boolean checkNull(FieldContext fc, FieldDefinition fd, TypeDef... method checkSingleMethod (line 386) | private void checkSingleMethod(FieldContext fc, FieldDefinition fd, Fi... method getWriteAnnotations (line 407) | private WarningAnnotation[] getWriteAnnotations(FieldRecord fieldRe... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/FinalizerContract.java class FinalizerContract (line 38) | @WarningDefinition(category = "BadPractice", name = "FinalizeNullifiesSu... method visitFinalizer (line 47) | @AstVisitor(nodes = AstNodes.ROOT, methodName = "finalize", methodSign... method isSuperCall (line 89) | private boolean isSuperCall(Node child) { method visit (line 94) | @AstVisitor method isFinalizer (line 102) | private static boolean isFinalizer(MethodReference mr) { method getSuperfinalizer (line 106) | private static MethodDefinition getSuperfinalizer(TypeDefinition type) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/FloatingPointComparison.java class FloatingPointComparison (line 42) | @WarningDefinition(category = "BadPractice", name = "FloatComparison", m... method visit (line 44) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method tweakPriority (line 72) | private int tweakPriority(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/FloatingPointNaN.java class FloatingPointNaN (line 31) | @WarningDefinition(category="Correctness", name="FloatCompareToNaN", max... method visit (line 35) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/IgnoredException.java class IgnoredException (line 38) | @WarningDefinition(category="BadPractice", name="IgnoredException", maxS... method visit (line 40) | @AstVisitor method getExceptionPriority (line 54) | private static int getExceptionPriority(TypeReference tr) { method isTrivial (line 69) | private boolean isTrivial(List body, Variable variable) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/IncorrectVarArg.java class IncorrectVarArg (line 34) | @WarningDefinition(category="Correctness", name="PrimitiveArrayPassedAsV... method visit (line 36) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method highPriority (line 62) | private static boolean highPriority(MethodReference mr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/InfiniteLoop.java class InfiniteLoop (line 38) | @WarningDefinition(category = "Correctness", name = "InfiniteLoop", maxS... method visit (line 42) | @AstVisitor method checkCondition (line 55) | private void checkCondition(MethodContext mc, Loop loop, Expression ex... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/InfiniteRecursion.java class InfiniteRecursion (line 46) | @WarningDefinition(category = "Correctness", name = "InfiniteRecursion",... method init (line 51) | @MethodVisitor method visit (line 56) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method selfCall (line 78) | private boolean selfCall(Expression expr, MethodDefinition md) { method checkControlFlow (line 98) | private boolean checkControlFlow(NodeChain nc) { method checkArgs (line 114) | private boolean checkArgs(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/InitializerRefersSubclass.java class InitializerRefersSubclass (line 35) | @WarningDefinition(category="Multithreading", name="InitializerRefersSub... method visit (line 37) | @AstVisitor(nodes=AstNodes.EXPRESSIONS, methodName="") FILE: huntbugs/src/main/java/one/util/huntbugs/detect/Internationalization.java class Internationalization (line 38) | @WarningDefinition(category="Internationalization", name="ConvertCaseWit... method add (line 43) | private static void add(String className, String methodName, String ba... method visit (line 80) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/InvalidMinMax.java class InvalidMinMax (line 34) | @WarningDefinition(category = "Correctness", name = "InvalidMinMax", max... method detectMethod (line 45) | private static int detectMethod(Node node) { method visit (line 59) | @AstVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/IteratorContract.java class IteratorContract (line 43) | @WarningDefinition(category = "BadPractice", name = "IteratorHasNextCall... method check (line 46) | @MethodVisitor method visitHasNext (line 51) | @AstVisitor(nodes = AstNodes.EXPRESSIONS, methodName = "hasNext", meth... method visitNext (line 61) | @AstVisitor(nodes = AstNodes.ROOT, methodName = "next") FILE: huntbugs/src/main/java/one/util/huntbugs/detect/JcipProblems.java class JcipProblems (line 32) | @WarningDefinition(category="BadPractice", name="NonFinalFieldInImmutabl... method checkClass (line 34) | @ClassVisitor method visitField (line 44) | @FieldVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/KnownComparison.java class KnownComparison (line 37) | @WarningDefinition(category = "RedundantCode", name = "ResultOfCompariso... method visit (line 44) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/LockProblems.java class LockProblems (line 38) | @WarningDefinition(category = "Multithreading", name = "IncorrectConcurr... method visit (line 42) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method findReplacement (line 62) | private static MethodDefinition findReplacement(String name, TypeDefin... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/MinValueHandling.java class MinValueHandling (line 35) | @WarningDefinition(category="Correctness", name="AbsoluteValueOfHashCode... method visit (line 38) | @AstVisitor method checkAbs (line 53) | private void checkAbs(MethodContext mc, Node body, Node parent, int pr... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/MutableServletField.java class MutableServletField (line 45) | @WarningDefinition(category = "Multithreading", name = "MutableServletFi... class MethodLocation (line 47) | static class MethodLocation { method MethodLocation (line 51) | public MethodLocation(MethodDefinition md, Location loc) { method getAnnotations (line 56) | public WarningAnnotation[] getAnnotations() { method checkClass (line 64) | @ClassVisitor method checkMethod (line 69) | @MethodVisitor method visitCode (line 74) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/Naming.java class Naming (line 45) | @WarningDefinition(category = "CodeStyle", name = "BadNameOfMethod", max... method visitClass (line 58) | @ClassVisitor method visitMethod (line 80) | @MethodVisitor method getFutureKeywordVersion (line 119) | private String getFutureKeywordVersion(String name) { method checkSameAsConstructor (line 134) | @AstVisitor(nodes = AstNodes.ROOT) method visitField (line 151) | @FieldVisitor method getMistakeFix (line 162) | private MemberInfo getMistakeFix(MethodDefinition md) { method badMethodName (line 175) | private boolean badMethodName(String mName) { method badFieldName (line 181) | private boolean badFieldName(FieldDefinition fd) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NegativeRemainder.java class NegativeRemainder (line 34) | @WarningDefinition(category="Correctness", name="HashCodeRemainder", max... method visit (line 37) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method check (line 57) | private void check(Expression expr, MethodContext mc) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NewGetClass.java class NewGetClass (line 33) | @WarningDefinition(category="Performance", name="NewForGetClass", maxSco... method visit (line 37) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NoRuntimeRetention.java class NoRuntimeRetention (line 38) | @WarningDefinition(category = "Correctness", name = "AnnotationNoRuntime... method visit (line 42) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NonShortCircuit.java class NonShortCircuit (line 37) | @WarningDefinition(category = "CodeStyle", name = "NonShortCircuit", max... method visitNode (line 40) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NullCheck.java class NullCheck (line 43) | @WarningDefinition(category = "Correctness", name = "NullDereferenceGuar... method visit (line 58) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NumberConstructor.java class NumberConstructor (line 39) | @WarningDefinition(category = "Performance", name = "NumberConstructor",... method visit (line 42) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NumericComparison.java class NumericComparison (line 51) | @WarningDefinition(category = "Correctness", name = "ComparisonWithOutOf... class LongRange (line 63) | static class LongRange { method LongRange (line 67) | public LongRange(AstCode code, long constant) { method absInt (line 98) | LongRange absInt() { method union (line 106) | LongRange union(LongRange other) { method LongRange (line 112) | LongRange(long min, long max) { method isTrueEmpty (line 118) | boolean isTrueEmpty(LongRange realRange) { method isFalseEmpty (line 124) | boolean isFalseEmpty(LongRange realRange) { method visit (line 131) | @AstVisitor(nodes = AstNodes.ALL) method getIntegralType (line 224) | private JvmType getIntegralType(Expression expression) { method checkRem2Eq1 (line 250) | private void checkRem2Eq1(MethodContext mc, JvmType jvmType, AstCode c... method getExpressionRange (line 267) | private static LongRange getExpressionRange(JvmType type, Expression a... method getExpressionRange (line 271) | private static LongRange getExpressionRange(JvmType type, Expression a... method getTypeRange (line 288) | private static LongRange getTypeRange(JvmType type) { method intRange (line 305) | private static LongRange intRange(Expression arg, Set visi... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/NumericPromotion.java class NumericPromotion (line 48) | @WarningDefinition(category = "Correctness", name = "IntegerMultiplicati... method visit (line 56) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method isPowerOfTen (line 157) | private boolean isPowerOfTen(long divisorVal) { method getSourceType (line 163) | private static String getSourceType(Expression expr) { method getTargetType (line 176) | private static String getTargetType(Expression expr) { method getMultiplicationConstant (line 189) | private static BigInteger getMultiplicationConstant(Expression arg) { method isToFloatingPointConversion (line 209) | private static boolean isToFloatingPointConversion(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/RandomUsage.java class RandomUsage (line 41) | @WarningDefinition(category = "Performance", name = "RandomNextIntViaNex... method visit (line 47) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method checkOnlyOnce (line 73) | void checkOnlyOnce(Expression node, MethodContext ctx) { method isRandomInit (line 88) | private boolean isRandomInit(Expression expr) { method getReplacement (line 98) | private WarningAnnotation getReplacement(String type) { method isRandomDouble (line 103) | private boolean isRandomDouble(Node node) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/RedundantInterfaces.java class RedundantInterfaces (line 31) | @WarningDefinition(category = "CodeStyle", name = "RedundantInterface", ... method visit (line 33) | @ClassVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/RedundantStreamCalls.java class RedundantStreamCalls (line 40) | @WarningDefinition(category="RedundantCode", name="RedundantStreamForEac... method visit (line 45) | @AstVisitor(nodes=AstNodes.EXPRESSIONS, minVersion=8) method isCollectionStream (line 114) | private boolean isCollectionStream(MethodReference mr) { method isStreamForEach (line 119) | private boolean isStreamForEach(MethodReference mr) { method isOptionalIsPresent (line 125) | private boolean isOptionalIsPresent(MethodReference mr) { method isStreamFind (line 129) | private boolean isStreamFind(MethodReference mr) { method isStreamCount (line 134) | private boolean isStreamCount(MethodReference mr) { method isStreamFilter (line 138) | private boolean isStreamFilter(MethodReference mr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/RegexProblems.java class RegexProblems (line 41) | @WarningDefinition(category="Correctness", name="RegexUnintended", maxSc... method visit (line 47) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method checkBadPatterns (line 68) | private void checkBadPatterns(MethodContext mc, Expression regexExpr, ... method checkRegexp (line 86) | private void checkRegexp(MethodContext mc, Expression regexExpr, int f... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/ReturnNull.java class ReturnNull (line 39) | @WarningDefinition(category = "BadPractice", name = "OptionalReturnNull"... method checkMethod (line 53) | public boolean checkMethod(MethodDefinition md) { method visit (line 62) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/RoughConstant.java class RoughConstant (line 37) | @WarningDefinition(category="BadPractice", name="RoughConstantValue", ma... class BadConstant (line 39) | static class BadConstant { method BadConstant (line 46) | BadConstant(double base, double factor, String replacement, int base... method exact (line 61) | public boolean exact(Number candidate) { method diff (line 68) | public double diff(double candidate) { method equalPrefix (line 72) | public boolean equalPrefix(Number candidate) { method addApprox (line 76) | private void addApprox(BigDecimal roundFloor) { method visit (line 98) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method getPriority (line 134) | private int getPriority(BadConstant badConstant, Number constValue, do... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SameBranches.java class SameBranches (line 46) | @WarningDefinition(category = "RedundantCode", name = "SameBranchesIf", ... method check (line 55) | @MethodVisitor method visit (line 67) | @AstVisitor method visitExpr (line 120) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method computePriority (line 128) | private static int computePriority(Node block, int n) { method nonFallThrough (line 134) | private static boolean nonFallThrough(List body) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SameIfChain.java class SameIfChain (line 45) | @WarningDefinition(category = "RedundantCode", name = "SameConditionChai... method visit (line 50) | @AstVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SelfAssignment.java class SelfAssignment (line 39) | @WarningDefinition(category="Correctness", name="SelfAssignmentField", m... method visit (line 44) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SelfComputation.java class SelfComputation (line 36) | @WarningDefinition(category = "Correctness", name = "SelfComputation", m... method visit (line 40) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method sameArgs (line 58) | private boolean sameArgs(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SerializationIdiom.java class SerializationIdiom (line 39) | @WarningDefinition(category="Serialization", name="ComparatorIsNotSerial... method visitClass (line 53) | @ClassVisitor method visitMethod (line 75) | @MethodVisitor method visitField (line 114) | @FieldVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SpinLoop.java class SpinLoop (line 36) | @WarningDefinition(category = "Multithreading", name = "SpinLoopOnField"... method visit (line 38) | @AstVisitor method checkCondition (line 51) | private void checkCondition(Expression cond, MethodContext mc) { method checkFieldRead (line 61) | private void checkFieldRead(Expression expr, MethodContext mc) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SqlBadArgument.java class SqlBadArgument (line 34) | @WarningDefinition(category="Correctness", name="BadResultSetArgument", ... method visit (line 37) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method firstParameterIsInt (line 63) | private boolean firstParameterIsInt(MethodReference mr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/StartInConstructor.java class StartInConstructor (line 40) | @WarningDefinition(category = "Multithreading", name = "StartInConstruct... method checkMethod (line 42) | @MethodVisitor method visit (line 47) | @AstVisitor(nodes = AstNodes.EXPRESSIONS, methodName = "") FILE: huntbugs/src/main/java/one/util/huntbugs/detect/StaticFieldFromInstanceMethod.java class StaticFieldFromInstanceMethod (line 42) | @WarningDefinition(category="BadPractice", name="StaticFieldFromInstance... method check (line 44) | @MethodVisitor method visit (line 49) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/StaticFieldNonThreadSafe.java class StaticFieldNonThreadSafe (line 49) | @WarningDefinition(category="Multithreading", name="StaticNotThreadSafeF... method visitField (line 54) | @FieldVisitor method isNotThreadSafe (line 70) | private boolean isNotThreadSafe(TypeReference fieldType) { method visitCall (line 74) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/StringConcatInLoop.java class StringConcatInLoop (line 45) | @WarningDefinition(category = "Performance", name = "StringConcatInLoop"... method visit (line 47) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method isStringValueOf (line 87) | private boolean isStringValueOf(Expression expr) { method isStringBuilderToString (line 95) | private boolean isStringBuilderToString(Expression expr) { method getAppendSource (line 103) | private Expression getAppendSource(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/StringIndex.java class StringIndex (line 34) | @WarningDefinition(category = "RedundantCode", name = "UselessStringSubs... method visit (line 40) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method check (line 47) | private void check(Expression node, MethodReference mr, MethodContext ... method checkRange (line 85) | private void checkRange(Expression expr, int maxValue, int val, Method... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/StringUsage.java class StringUsage (line 36) | @WarningDefinition(category="Performance", name="StringConstructor", max... method visit (line 40) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SwingProblems.java class SwingProblems (line 35) | @WarningDefinition(category="BadPractice", name="SwingMethodNotInSwingTh... method check (line 37) | @MethodVisitor method visit (line 42) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SyncGetClass.java class SyncGetClass (line 40) | @WarningDefinition(category="Multithreading", name="SyncOnGetClass", max... method checkMethod (line 42) | @MethodVisitor method visit (line 47) | @AstVisitor method isStaticFieldAccess (line 65) | private boolean isStaticFieldAccess(Node n, TypeDefinition td) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/SyncOnUpdatedField.java class SyncOnUpdatedField (line 32) | @WarningDefinition(category="Multithreading", name="SynchronizationOnUpd... method visit (line 34) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/ToArrayDowncast.java class ToArrayDowncast (line 36) | @WarningDefinition(category = "Correctness", name = "ImpossibleToArrayDo... method visit (line 40) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/UncalledPrivateMethod.java class UncalledPrivateMethod (line 51) | @WarningDefinition(category="RedundantCode", name="UncalledPrivateMethod... class NestedAnonymousCalls (line 56) | @TypeDatabase method NestedAnonymousCalls (line 60) | public NestedAnonymousCalls() { method visitType (line 64) | @Override method isCalled (line 78) | public boolean isCalled(MemberInfo mi) { method visitType (line 85) | @ClassVisitor method extractCalls (line 146) | static void extractCalls(MethodDefinition md, Predicate> getUsedLocations(Expression arg, Me... method isBoxedToString (line 102) | private boolean isBoxedToString(Expression expr) { method isBoxing (line 115) | private boolean isBoxing(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/UnnecessaryInstanceOf.java class UnnecessaryInstanceOf (line 50) | @WarningDefinition(category = "RedundantCode", name = "UnnecessaryInstan... method visit (line 57) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method report (line 103) | private void report(MethodContext mc, TypeReference typeRef, Expressio... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/UnreachableCatch.java class UnreachableCatch (line 31) | @WarningDefinition(category="RedundantCode", name="UnreachableCatch", ma... method visit (line 33) | @AstVisitor FILE: huntbugs/src/main/java/one/util/huntbugs/detect/UnsafeGetResource.java class UnsafeGetResource (line 39) | @WarningDefinition(category="BadPractice", name="UnsafeGetResource", max... method checkMethod (line 41) | @MethodVisitor method visit (line 46) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/UnsupportedCall.java class UnsupportedCall (line 39) | @WarningDefinition(category = "CodeStyle", name = "UnsupportedCall", max... method check (line 41) | @MethodVisitor method visit (line 46) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/UnusedParameter.java class UnusedParameter (line 48) | @WarningDefinition(category = "Correctness", name = "ConstructorParamete... method checkClass (line 53) | @ClassVisitor method visitBody (line 59) | @AstVisitor(nodes = AstNodes.ROOT) method isEmpty (line 135) | private boolean isEmpty(List body) { method findOverloadCall (line 157) | private Expression findOverloadCall(MethodDefinition md, Block block) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/UselessVoidMethod.java class UselessVoidMethod (line 37) | @WarningDefinition(category="RedundantCode", name="UselessVoidMethod", m... method checkMethod (line 39) | @AstVisitor(nodes=AstNodes.ROOT) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/VolatileArray.java class VolatileArray (line 31) | @WarningDefinition(category="Multithreading", name="VolatileArray", maxS... method checkField (line 33) | @FieldVisitor method getAtomicArrayReplacement (line 50) | private String getAtomicArrayReplacement(JvmType simpleType) { FILE: huntbugs/src/main/java/one/util/huntbugs/detect/VolatileIncrement.java class VolatileIncrement (line 40) | @WarningDefinition(category = "Multithreading", name = "VolatileIncremen... method visitNode (line 43) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) method computePriority (line 81) | private int computePriority(FieldDefinition field, MethodDefinition md... FILE: huntbugs/src/main/java/one/util/huntbugs/detect/WaitContract.java class WaitContract (line 44) | @WarningDefinition(category = "Multithreading", name = "WaitUnconditiona... method checkMethod (line 48) | @MethodVisitor method visit (line 53) | @AstVisitor(nodes=AstNodes.EXPRESSIONS) FILE: huntbugs/src/main/java/one/util/huntbugs/detect/WrongMapIterator.java class WrongMapIterator (line 43) | @WarningDefinition(category = "Performance", name = "WrongMapIterator", ... method visit (line 46) | @AstVisitor(nodes = AstNodes.EXPRESSIONS) method usedForGetOnly (line 79) | private static boolean usedForGetOnly(Expression key, Expression mapAr... method getCalledMethod (line 97) | private static MethodReference getCalledMethod(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/filter/AnnotationFilters.java class AnnotationFilters (line 42) | public class AnnotationFilters { method and (line 46) | private static Predicate and(Predicate left, Predica... method getSuppressed (line 56) | private static Set getSuppressed(List annos) { method forSuppressed (line 83) | private static Predicate forSuppressed(String suppressed) { method forSuppressed (line 93) | private static Predicate forSuppressed(Set suppressed) { method forType (line 97) | public static Predicate forType(TypeDefinition td) { FILE: huntbugs/src/main/java/one/util/huntbugs/flow/Annotator.java class Annotator (line 29) | abstract class Annotator { method Annotator (line 33) | protected Annotator(String name, T defValue) { method forExpressions (line 38) | protected static void forExpressions(Node node, Consumer c... method get (line 48) | protected T get(Expression expr) { method putIfAbsent (line 54) | protected void putIfAbsent(Expression expr, T data) { method put (line 58) | protected void put(Expression expr, T data) { method remove (line 62) | protected void remove(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/flow/Annotators.java class Annotators (line 29) | public class Annotators { method Annotators (line 30) | private Annotators() { method register (line 38) | static int register(String name) { method get (line 45) | static Object get(Expression expr, int i) { method put (line 50) | static void put(Expression expr, int i, Object data) { method replace (line 59) | static void replace(Expression expr, int i, Object oldData, Object dat... method remove (line 69) | static void remove(Expression expr, int i) { method facts (line 82) | public static String facts(Expression expr) { FILE: huntbugs/src/main/java/one/util/huntbugs/flow/BackLinkAnnotator.java class BackLinkAnnotator (line 31) | public class BackLinkAnnotator extends Annotator> { method BackLinkAnnotator (line 33) | public BackLinkAnnotator() { method annotate (line 37) | void annotate(Node node) { method fixTernary (line 42) | private void fixTernary(Expression expr) { method annotateBackLinks (line 59) | private void annotateBackLinks(Expression expr) { method link (line 70) | private void link(Expression target, Expression source) { method doLink (line 78) | private void doLink(Expression target, Expression source) { method findUsages (line 91) | public Set findUsages(Expression input) { method findTransitiveUsages (line 96) | public Stream findTransitiveUsages(Expression expr, boolea... FILE: huntbugs/src/main/java/one/util/huntbugs/flow/CFG.java class CFG (line 65) | public class CFG { method CFG (line 94) | private CFG(MethodDefinition md, BasicBlock closure, Block methodBody) { method getConditionalBranches (line 114) | private TrueFalse> getConditionalBranches(BasicBlock ... method inlineBooleans (line 196) | private void inlineBooleans() { method copyBlocks (line 282) | private List copyBlocks(int copyStart, int copyEnd) { method renumBlocks (line 289) | private void renumBlocks() { method computeDupBlocks (line 295) | private List> computeDupBlocks(Collection> findDuplicates(Block methodBody) { method verify (line 309) | private void verify() { method fixBlocks (line 326) | private void fixBlocks() { method computeForwardTill (line 372) | private int computeForwardTill() { method buildBlock (line 382) | private void buildBlock(BasicBlock entry, BasicBlock exit, JumpContext... method buildSingleLabel (line 436) | private void buildSingleLabel(BasicBlock entry, BasicBlock exit, Label... method buildNode (line 449) | private void buildNode(final BasicBlock curBlock, BasicBlock nextBlock... method buildFinally (line 472) | private void buildFinally(final BasicBlock curBlock, BasicBlock nextBl... method buildTryCatch (line 485) | private void buildTryCatch(final BasicBlock curBlock, BasicBlock nextB... method buildSwitch (line 500) | private void buildSwitch(final BasicBlock curBlock, BasicBlock nextBlo... method buildLoop (line 553) | private void buildLoop(final BasicBlock curBlock, BasicBlock nextBlock... method buildCondition (line 584) | private void buildCondition(final BasicBlock curBlock, BasicBlock next... method buildExpr (line 602) | private BasicBlock buildExpr(BasicBlock entry, Expression expr, JumpCo... method register (line 754) | private BasicBlock register(BasicBlock block) { method toString (line 760) | @Override method build (line 768) | public static CFG build(MethodDefinition md, Block body) { method runDFA (line 776) | public boolean runDFA(Annotator annotator, method forBodies (line 787) | public void forBodies(BiConsumer consumer) { method getLambdaCFG (line 792) | public CFG getLambdaCFG(Lambda lambda) { method isReachable (line 796) | private boolean isReachable(BasicBlock from, BasicBlock to) { method isAlwaysReachable (line 815) | private boolean isAlwaysReachable(BasicBlock from, Set tar... method updateState (line 840) | private boolean updateState(GraphSearch gs, BasicBlock bb, T ne... method graphSearch (line 856) | public SearchResult graphSearch(GraphSearch gs) { class SearchResult (line 890) | @SuppressWarnings("unchecked") method SearchResult (line 894) | SearchResult(GraphSearch gs) { method atExit (line 898) | public T atExit() { method atFail (line 902) | public T atFail() { method atImplicit (line 906) | public T atImplicit() { method atExpression (line 910) | public T atExpression(Expression expr) { method blocksBy (line 915) | private Stream blocksBy(Expression expr) { method mayTerminateImplicitly (line 919) | public boolean mayTerminateImplicitly(Expression expr) { method isReachable (line 923) | public boolean isReachable(Expression expr) { method isAlwaysReachable (line 929) | public boolean isAlwaysReachable(Expression from, Expression to) { method findDeadCode (line 934) | public CodeBlock findDeadCode(Expression expr, EdgeType deadEdge) { method isInCFG (line 978) | public boolean isInCFG(Expression expr) { method isExceptional (line 982) | private boolean isExceptional(BasicBlock start) { method clearChanged (line 986) | void clearChanged() { method initialize (line 995) | void initialize() { class DFARunner (line 1004) | class DFARunner { method DFARunner (line 1009) | DFARunner(Annotator annotator, Dataflow df) { method run (line 1014) | boolean run(int maxIteration) { method runIteration (line 1060) | private void runIteration(List blocks) { method transferConditional (line 1105) | private TrueFalse transferConditional(Expression expr, STATE ... method updateState (line 1115) | private void updateState(STATE newState, BasicBlock target) { method toString (line 1132) | @Override method getBlockDescription (line 1143) | String getBlockDescription(BasicBlock bb) { type EdgeType (line 1149) | public enum EdgeType { class BasicBlock (line 1153) | static class BasicBlock { method BasicBlock (line 1163) | BasicBlock() { method BasicBlock (line 1166) | BasicBlock(int id) { method BasicBlock (line 1170) | BasicBlock(Expression expr) { method BasicBlock (line 1174) | BasicBlock(boolean synthetic, Expression expr) { method setId (line 1179) | void setId(int id) { method falseOrPass (line 1185) | BasicBlock falseOrPass() { method trueOrPass (line 1189) | BasicBlock trueOrPass() { method setExpression (line 1193) | void setExpression(Expression expr) { method addTarget (line 1199) | void addTarget(EdgeType type, BasicBlock target) { method getId (line 1227) | public String getId() { method targets (line 1242) | public Stream targets() { method targetsExcept (line 1249) | public Stream targetsExcept(EdgeType type) { method toString (line 1276) | @Override type JumpContext (line 1294) | interface JumpContext { method addReturn (line 1295) | void addReturn(BasicBlock block); method addBreak (line 1297) | void addBreak(BasicBlock block, Label label); method addContinue (line 1299) | void addContinue(BasicBlock block, Label label); method addJump (line 1301) | void addJump(BasicBlock block, Label label); method addExceptional (line 1303) | void addExceptional(BasicBlock block, TypeReference exception); class OuterJumpContext (line 1306) | class OuterJumpContext implements JumpContext { method addExceptional (line 1307) | @Override method addReturn (line 1312) | @Override method addBreak (line 1317) | @Override method addContinue (line 1325) | @Override method addJump (line 1330) | @Override class DelegatingJumpContext (line 1336) | static abstract class DelegatingJumpContext implements JumpContext { method DelegatingJumpContext (line 1339) | protected DelegatingJumpContext(JumpContext parent) { method addReturn (line 1343) | @Override method addBreak (line 1348) | @Override method addContinue (line 1353) | @Override method addJump (line 1358) | @Override method addExceptional (line 1363) | @Override class SwitchJumpContext (line 1369) | static class SwitchJumpContext extends DelegatingJumpContext { method SwitchJumpContext (line 1372) | public SwitchJumpContext(JumpContext parent, BasicBlock exit) { method addBreak (line 1377) | @Override class LoopJumpContext (line 1387) | class LoopJumpContext extends DelegatingJumpContext { method LoopJumpContext (line 1392) | public LoopJumpContext(JumpContext parent, BasicBlock entry, BasicBl... method addBreak (line 1399) | @Override method addContinue (line 1408) | @Override class LabelJumpContext (line 1418) | class LabelJumpContext extends DelegatingJumpContext { method LabelJumpContext (line 1421) | LabelJumpContext(JumpContext parent, Set