Class ModuleBinding

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ModuleBinding
All Implemented Interfaces:
IUpdatableModule
Direct Known Subclasses:
BinaryModuleBinding, ModuleBinding.UnNamedModule, SourceModuleBinding

public class ModuleBinding extends Binding implements IUpdatableModule
This class serves a dual purpose

First, it canonically represents modules in the world of bindings.

Secondly, it adds a graph layer on top of LookupEnvironment: ModuleBindins are linked through "read" edges as per JPMS (see java.lang.module.Configuration). Additionally, each ModuleBinding holds its own instance of LookupEnviroment, capturing all packages and types that are visible to the current module. As a subset of all visible types, the ModuleBinding knows the set of packages locally declared in this module.