APIdia Launch Partner
Top Description Inners Fields Constructors Methods
com.sun.tools.javac.comp

public Class ExhaustivenessComputer

extends Object
Class Inheritance
Imports
java.util.Map, .Map.Entry, .Set, .ArrayList, .Arrays, .Collection, .Iterator, .LinkedHashMap, .LinkedHashSet, .SequencedSet, com.sun.tools.javac.code.*, com.sun.tools.javac.code.Symbol.*, .Kinds.Kind, .Type.TypeVar, com.sun.tools.javac.tree.*, com.sun.tools.javac.tree.JCTree.*, com.sun.tools.javac.util.*, java.util.function.Consumer, .Predicate, java.util.stream.Collectors, .Stream

A class to compute exhaustiveness of set of switch cases.

This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static record
private static record
public static record
public static record
public static interface
private static enum
public static record
protected static class

Field Summary

Modifier and TypeField and Description
private long
private final Check
private static final long
protected static final Context.Key<ExhaustivenessComputer>
private final Infer
private final Map<Pair<Type, Type>, Boolean>
private final long
private static final long
private final Symtab
private final Types

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
private Set<Symbol>
private List<Symbol.ClassSymbol>
private boolean
private boolean
private List<Type>
components(Type seltype)

private ExhaustivenessComputer.CoverageResult
protected Set<ExhaustivenessComputer.PatternDescription>
private Stream<Symbol.TypeSymbol>
private Set<ExhaustivenessComputer.PatternDescription>
public ExhaustivenessComputer.ExhaustivenessResult
private Set<ExhaustivenessComputer.PatternDescription>
private ExhaustivenessComputer.PatternDescription
private void
private boolean
public static ExhaustivenessComputer
instance(Context context)

private Type[]
private Type
private <C extends Symbol.TypeSymbol> Predicate<C>
private boolean
private boolean
private boolean
private boolean
private Set<Symbol.ClassSymbol>
public ExhaustivenessComputer.PatternDescription
private boolean
nestedComponentsEquivalent(ExhaustivenessComputer.RecordPattern existing, ExhaustivenessComputer.RecordPattern candidate, int mismatchingCandidate, boolean useHashes, ExhaustivenessComputer.PatternEquivalence patternEquivalence)

private SequencedSet<ExhaustivenessComputer.PatternDescription>
private Set<ExhaustivenessComputer.PatternDescription>
private Set<ExhaustivenessComputer.PatternDescription>
private ExhaustivenessComputer.PatternDescription
private Set<ExhaustivenessComputer.PatternDescription>
private Set<ExhaustivenessComputer.PatternDescription>
private boolean
private Set<ExhaustivenessComputer.PatternDescription>
private Collection<? extends ExhaustivenessComputer.PatternDescription>
protected void
private boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait