MultisetProperty.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:FreeBuilder 作者:
@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));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号