Class ScopeHandler
java.lang.Object
org.inferred.freebuilder.processor.source.ScopeHandler
Handles the byzantine rules of Java scoping.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interface(package private) static enum(package private) static interface(package private) static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<String, QualifiedName> Qualified name as string ↦ qualified nameprivate final ScopeHandler.Reflectionprivate final Map<QualifiedName, ScopeHandler.Visibility> Type ↦ visibility in parent scopeprivate static final Stringprivate final Map<QualifiedName, com.google.common.collect.SetMultimap<String, QualifiedName>> Scope ↦ simple name ↦ type -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate com.google.common.collect.SetMultimap<String, QualifiedName> computeTypesInScope(QualifiedName scope) (package private) voiddeclareGeneratedType(ScopeHandler.Visibility visibility, QualifiedName generatedType, Set<String> supertypes) private static <K1,K2, V>
com.google.common.collect.SetMultimap<K2, V> private booleanisTopLevelType(String pkg, String simpleName) private Stream<QualifiedName> private static booleanmaybeVisibleInScope(QualifiedName scope, ScopeHandler.Visibility visibility, QualifiedName type) private com.google.common.collect.SetMultimap<String, QualifiedName> typesInScope(QualifiedName scope) (package private) ScopeHandler.ScopeStatevisibilityIn(String pkg, QualifiedName type) Returns whethertypeis visible in, or can be imported into, a compilation unit inpkg.(package private) ScopeHandler.ScopeStatevisibilityIn(QualifiedName scope, QualifiedName type) Returns whethertypeis visible in, or can be imported into, the body oftype.private ScopeHandler.VisibilityvisibilityOf(QualifiedName type)
-
Field Details
-
UNIVERSALLY_VISIBLE_PACKAGE
- See Also:
-
reflect
-
typeVisibility
Type ↦ visibility in parent scope -
visibleTypes
private final Map<QualifiedName,com.google.common.collect.SetMultimap<String, visibleTypesQualifiedName>> Scope ↦ simple name ↦ type -
generatedTypes
Qualified name as string ↦ qualified name
-
-
Constructor Details
-
ScopeHandler
ScopeHandler(ScopeHandler.Reflection reflect)
-
-
Method Details
-
visibilityIn
Returns whethertypeis visible in, or can be imported into, a compilation unit inpkg. -
visibilityIn
Returns whethertypeis visible in, or can be imported into, the body oftype. -
declareGeneratedType
void declareGeneratedType(ScopeHandler.Visibility visibility, QualifiedName generatedType, Set<String> supertypes) -
lookup
-
isTopLevelType
-
get
private static <K1,K2, com.google.common.collect.SetMultimap<K2,V> V> get(Map<K1, com.google.common.collect.SetMultimap<K2, V>> map, K1 key) -
typesInScope
private com.google.common.collect.SetMultimap<String,QualifiedName> typesInScope(QualifiedName scope) -
computeTypesInScope
private com.google.common.collect.SetMultimap<String,QualifiedName> computeTypesInScope(QualifiedName scope) -
maybeVisibleInScope
private static boolean maybeVisibleInScope(QualifiedName scope, ScopeHandler.Visibility visibility, QualifiedName type) -
visibilityOf
-