Skip to content

Commit c315481

Browse files
committed
Adjust typing.
1 parent f06c595 commit c315481

File tree

3 files changed

+57
-17
lines changed

3 files changed

+57
-17
lines changed

byte-buddy-dep/src/main/java/net/bytebuddy/description/modifier/RequiredPhase.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
/**
66
* Describes when another module is considered as a requirement.
77
*/
8-
public enum RequiredPhase implements ModifierContributor.ForModule.OfRequire,
9-
ModifierContributor.ForModule.OfExport,
10-
ModifierContributor.ForModule.OfOpen {
8+
public enum RequiredPhase implements ModifierContributor.ForModule.OfRequire {
119

1210
/**
1311
* Modifier for requiring another module during all phases. (This is the default modifier.)

byte-buddy-dep/src/main/java/net/bytebuddy/description/modifier/Transitivity.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
/**
66
* Defines if a module requires another module also for its users.
77
*/
8-
public enum Transitivity implements ModifierContributor.ForModule.OfRequire,
9-
ModifierContributor.ForModule.OfExport,
10-
ModifierContributor.ForModule.OfOpen {
8+
public enum Transitivity implements ModifierContributor.ForModule.OfRequire {
119

1210
/**
1311
* Modifier for not marking a type member as synthetic. (This is the default modifier.)

byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/DynamicType.java

Lines changed: 55 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1627,11 +1627,11 @@ interface ModuleDefinition<S> extends Builder<S> {
16271627

16281628
ModuleDefinition<S> requires(Collection<String> modules);
16291629

1630-
ModuleDefinition<S> require(String module, ModifierContributor.ForModule.OfRequire... modifierContributor);
1630+
RequiresDefinition<S> require(String module, ModifierContributor.ForModule.OfRequire... modifierContributor);
16311631

1632-
ModuleDefinition<S> require(String module, Collection<? extends ModifierContributor.ForModule.OfRequire> modifierContributors);
1632+
RequiresDefinition<S> require(String module, Collection<? extends ModifierContributor.ForModule.OfRequire> modifierContributors);
16331633

1634-
ModuleDefinition<S> require(String module, int modifiers);
1634+
RequiresDefinition<S> require(String module, int modifiers);
16351635

16361636
ModuleDefinition<S> exports(String... aPackage);
16371637

@@ -1673,18 +1673,62 @@ interface ModuleDefinition<S> extends Builder<S> {
16731673

16741674
ModuleDefinition<S> provides(String service, Collection<String> implementations);
16751675

1676-
interface ExportsDefinition<S> extends ModuleDefinition<S> {
1676+
interface RequiresDefinition<U> extends ModuleDefinition<U> {
16771677

1678-
ModuleDefinition<S> to(String... module);
1678+
RequiresDefinition<U> version(@MaybeNull String version);
16791679

1680-
ModuleDefinition<S> to(Collection<String> modules);
1680+
/**
1681+
* An abstract base implementation of a {@link RequiresDefinition}.
1682+
*
1683+
* @param <V> A loaded type that the built type is guaranteed to be a subclass of.
1684+
*/
1685+
abstract class AbstractBase<V> extends ModuleDefinition.AbstractBase<V> implements RequiresDefinition<V> {
1686+
/* empty */
1687+
}
1688+
}
1689+
1690+
interface ExportsDefinition<U> extends ModuleDefinition<U> {
1691+
1692+
ExportsDefinition<U> to(String... module);
1693+
1694+
ExportsDefinition<U> to(Collection<String> modules);
1695+
1696+
/**
1697+
* An abstract base implementation of a {@link OpensDefinition}.
1698+
*
1699+
* @param <V> A loaded type that the built type is guaranteed to be a subclass of.
1700+
*/
1701+
abstract class AbstractBase<V> extends ModuleDefinition.AbstractBase<V> implements ExportsDefinition<V> {
1702+
1703+
/**
1704+
* {@inheritDoc}ModuleDefinition
1705+
*/
1706+
public ExportsDefinition<V> to(String... module) {
1707+
return to(Arrays.asList(module));
1708+
}
1709+
}
16811710
}
16821711

16831712
interface OpensDefinition<S> extends ModuleDefinition<S> {
16841713

1685-
ModuleDefinition<S> to(String... module);
1714+
OpensDefinition<S> to(String... module);
16861715

1687-
ModuleDefinition<S> to(Collection<String> modules);
1716+
OpensDefinition<S> to(Collection<String> modules);
1717+
1718+
/**
1719+
* An abstract base implementation of a {@link OpensDefinition}.
1720+
*
1721+
* @param <V> A loaded type that the built type is guaranteed to be a subclass of.
1722+
*/
1723+
abstract class AbstractBase<V> extends ModuleDefinition.AbstractBase<V> implements OpensDefinition<V> {
1724+
1725+
/**
1726+
* {@inheritDoc}
1727+
*/
1728+
public OpensDefinition<V> to(String... module) {
1729+
return to(Arrays.asList(module));
1730+
}
1731+
}
16881732
}
16891733

16901734
/**
@@ -1739,14 +1783,14 @@ public ModuleDefinition<U> requires(Collection<String> modules) {
17391783
/**
17401784
* {@inheritDoc}
17411785
*/
1742-
public ModuleDefinition<U> require(String module, ModifierContributor.ForModule.OfRequire... modifierContributor) {
1786+
public RequiresDefinition<U> require(String module, ModifierContributor.ForModule.OfRequire... modifierContributor) {
17431787
return require(module, Arrays.asList(modifierContributor));
17441788
}
17451789

17461790
/**
17471791
* {@inheritDoc}
17481792
*/
1749-
public ModuleDefinition<U> require(String module, Collection<? extends ModifierContributor.ForModule.OfRequire> modifierContributors) {
1793+
public RequiresDefinition<U> require(String module, Collection<? extends ModifierContributor.ForModule.OfRequire> modifierContributors) {
17501794
return require(module, ModifierContributor.Resolver.of(modifierContributors).resolve());
17511795
}
17521796

@@ -5316,7 +5360,7 @@ public ModuleDefinition<U> packages(Collection<String> packages) {
53165360
/**
53175361
* {@inheritDoc}
53185362
*/
5319-
public ModuleDefinition<U> require(String module, int modifiers) {
5363+
public RequiresDefinition<U> require(String module, int modifiers) {
53205364
return null;
53215365
}
53225366

0 commit comments

Comments
 (0)