@Override
public Optional<MultisetProperty> create(Config config) {
DeclaredType type = maybeDeclared(config.getProperty().getType()).orNull();
if (type == null || !erasesToAnyOf(type, Multiset.class, ImmutableMultiset.class)) {
return Optional.absent();
}
TypeMirror elementType = upperBound(config.getElements(), type.getTypeArguments().get(0));
Optional<TypeMirror> unboxedType = maybeUnbox(elementType, config.getTypes());
boolean needsSafeVarargs = needsSafeVarargs(unboxedType.or(elementType));
boolean overridesSetCountMethod =
hasSetCountMethodOverride(config, unboxedType.or(elementType));
boolean overridesVarargsAddMethod =
hasVarargsAddMethodOverride(config, unboxedType.or(elementType));
return Optional.of(new MultisetProperty(
config.getMetadata(),
config.getProperty(),
needsSafeVarargs,
overridesSetCountMethod,
overridesVarargsAddMethod,
elementType,
unboxedType));
}
MultisetProperty.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:FreeBuilder
作者:
评论列表
文章目录