private static final class Descriptors.DescriptorPool
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
Descriptors.DescriptorPool.DescriptorIntPair
A (GenericDescriptor, int) pair, used as a map key.
|
private static class |
Descriptors.DescriptorPool.PackageDescriptor
Represents a package in the symbol table.
|
(package private) static class |
Descriptors.DescriptorPool.SearchFilter
Defines what subclass of descriptors to search in the descriptor pool.
|
Modifier and Type | Field and Description |
---|---|
private boolean |
allowUnknownDependencies |
private java.util.Set<Descriptors.FileDescriptor> |
dependencies |
private java.util.Map<java.lang.String,Descriptors.GenericDescriptor> |
descriptorsByName |
private java.util.Map<Descriptors.DescriptorPool.DescriptorIntPair,Descriptors.EnumValueDescriptor> |
enumValuesByNumber |
private java.util.Map<Descriptors.DescriptorPool.DescriptorIntPair,Descriptors.FieldDescriptor> |
fieldsByNumber |
Constructor and Description |
---|
DescriptorPool(Descriptors.FileDescriptor[] dependencies,
boolean allowUnknownDependencies) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addEnumValueByNumber(Descriptors.EnumValueDescriptor value)
Adds an enum value to the enumValuesByNumber table.
|
(package private) void |
addFieldByNumber(Descriptors.FieldDescriptor field)
Adds a field to the fieldsByNumber table.
|
(package private) void |
addPackage(java.lang.String fullName,
Descriptors.FileDescriptor file)
Adds a package to the symbol tables.
|
(package private) void |
addSymbol(Descriptors.GenericDescriptor descriptor)
Adds a symbol to the symbol table.
|
(package private) Descriptors.GenericDescriptor |
findSymbol(java.lang.String fullName)
Find a generic descriptor by fully-qualified name.
|
(package private) Descriptors.GenericDescriptor |
findSymbol(java.lang.String fullName,
Descriptors.DescriptorPool.SearchFilter filter)
Find a descriptor by fully-qualified name and given option to only
search valid field type descriptors.
|
private void |
importPublicDependencies(Descriptors.FileDescriptor file)
Find and put public dependencies of the file into dependencies set.
|
(package private) boolean |
isAggregate(Descriptors.GenericDescriptor descriptor)
Checks if the descriptor is a valid namespace type.
|
(package private) boolean |
isType(Descriptors.GenericDescriptor descriptor)
Checks if the descriptor is a valid type for a message field.
|
(package private) Descriptors.GenericDescriptor |
lookupSymbol(java.lang.String name,
Descriptors.GenericDescriptor relativeTo,
Descriptors.DescriptorPool.SearchFilter filter)
Look up a type descriptor by name, relative to some other descriptor.
|
(package private) static void |
validateSymbolName(Descriptors.GenericDescriptor descriptor)
Verifies that the descriptor's name is valid (i.e.
|
private final java.util.Set<Descriptors.FileDescriptor> dependencies
private boolean allowUnknownDependencies
private final java.util.Map<java.lang.String,Descriptors.GenericDescriptor> descriptorsByName
private final java.util.Map<Descriptors.DescriptorPool.DescriptorIntPair,Descriptors.FieldDescriptor> fieldsByNumber
private final java.util.Map<Descriptors.DescriptorPool.DescriptorIntPair,Descriptors.EnumValueDescriptor> enumValuesByNumber
DescriptorPool(Descriptors.FileDescriptor[] dependencies, boolean allowUnknownDependencies)
private void importPublicDependencies(Descriptors.FileDescriptor file)
Descriptors.GenericDescriptor findSymbol(java.lang.String fullName)
Descriptors.GenericDescriptor findSymbol(java.lang.String fullName, Descriptors.DescriptorPool.SearchFilter filter)
boolean isType(Descriptors.GenericDescriptor descriptor)
boolean isAggregate(Descriptors.GenericDescriptor descriptor)
Descriptors.GenericDescriptor lookupSymbol(java.lang.String name, Descriptors.GenericDescriptor relativeTo, Descriptors.DescriptorPool.SearchFilter filter) throws Descriptors.DescriptorValidationException
void addSymbol(Descriptors.GenericDescriptor descriptor) throws Descriptors.DescriptorValidationException
void addPackage(java.lang.String fullName, Descriptors.FileDescriptor file) throws Descriptors.DescriptorValidationException
void addFieldByNumber(Descriptors.FieldDescriptor field) throws Descriptors.DescriptorValidationException
void addEnumValueByNumber(Descriptors.EnumValueDescriptor value)
static void validateSymbolName(Descriptors.GenericDescriptor descriptor) throws Descriptors.DescriptorValidationException