List of usage examples for com.google.common.collect ImmutableSet.Builder addAll
boolean addAll(Collection<? extends E> c);
From source file:com.google.javascript.jscomp.newtypes.JSType.java
public JSType autobox(JSTypes commonTypes) { if (isTop() || isUnknown()) { return this; }/*from ww w .jav a 2s . co m*/ int mask = getMask(); if ((mask & (NUMBER_MASK | STRING_MASK | BOOLEAN_MASK)) == BOTTOM_MASK) { return this; } switch (mask) { case NUMBER_MASK: return commonTypes.getNumberInstance(); case BOOLEAN_MASK: case TRUE_MASK: case FALSE_MASK: return commonTypes.getBooleanInstance(); case STRING_MASK: return commonTypes.getStringInstance(); } // For each set bit, add the corresponding obj to the new objs // construct and return the new type. // Don't bother autoboxing enums. ImmutableSet.Builder<ObjectType> builder = ImmutableSet.builder(); builder.addAll(getObjs()); if ((mask & NUMBER_MASK) != 0) { builder.add(commonTypes.getNumberInstanceObjType()); } if ((mask & STRING_MASK) != 0) { builder.add(commonTypes.getStringInstanceObjType()); } if ((mask & BOOLEAN_MASK) != 0) { // may have truthy or falsy builder.add(commonTypes.getBooleanInstanceObjType()); } return makeType(mask & ~(NUMBER_MASK | STRING_MASK | BOOLEAN_MASK), builder.build(), getTypeVar(), getEnums()); }
From source file:com.facebook.buck.apple.xcode.ProjectGenerator.java
private PBXNativeTarget generateMacosxBinaryTarget(PBXProject project, BuildRule rule, MacosxBinary buildable) throws IOException { PBXNativeTarget target = generateBinaryTarget(project, rule, buildable, PBXTarget.ProductType.MACOSX_BINARY, OsxResourceDescription.TYPE); // Unlike an ios target, macosx targets collect their frameworks and copy them in. ImmutableSet.Builder<String> frameworksBuilder = ImmutableSet.builder(); frameworksBuilder.addAll(buildable.getFrameworks()); collectRecursiveFrameworkDependencies(rule, frameworksBuilder); addCopyFrameworksBuildPhase(rule.getBuildTarget(), target, project.getMainGroup().getOrCreateChildGroupByName("Frameworks"), frameworksBuilder.build()); project.getTargets().add(target);//from ww w.j a va 2s. c om return target; }
From source file:com.facebook.buck.apple.xcode.ProjectGenerator.java
private PBXNativeTarget generateMacosxFrameworkTarget(PBXProject project, BuildRule rule, MacosxFramework buildable) throws IOException { PBXNativeTarget target = new PBXNativeTarget(getXcodeTargetName(rule)); target.setProductType(PBXTarget.ProductType.MACOSX_FRAMEWORK); PBXGroup targetGroup = project.getMainGroup().getOrCreateChildGroupByName(target.getName()); // -- configurations setTargetBuildConfigurations(rule.getBuildTarget(), target, targetGroup, buildable.getConfigurations(), ImmutableMap.<String, String>of()); // -- build phases // TODO(Task #3772930): Go through all dependencies of the rule // and add any shell script rules here addRunScriptBuildPhasesForDependencies(rule, target); addSourcesAndHeadersBuildPhases(target, targetGroup, buildable.getSrcs(), buildable.getPerFileFlags()); // MacOSX frameworks actually link with libraries and other frameworks. ImmutableSet.Builder<String> frameworksBuilder = ImmutableSet.builder(); frameworksBuilder.addAll(buildable.getFrameworks()); collectRecursiveFrameworkDependencies(rule, frameworksBuilder); addFrameworksBuildPhase(rule.getBuildTarget(), target, project.getMainGroup().getOrCreateChildGroupByName("Frameworks"), frameworksBuilder.build(), collectRecursiveLibraryDependencies(rule)); addResourcesBuildPhase(target, targetGroup, collectRecursiveResources(rule, OsxResourceDescription.TYPE)); addAssetCatalogBuildPhase(target, targetGroup, collectRecursiveAssetCatalogs(rule)); // -- products PBXGroup productsGroup = project.getMainGroup().getOrCreateChildGroupByName("Products"); String frameworkName = getProductName(rule.getBuildTarget()) + ".framework"; PBXFileReference productReference = new PBXFileReference(frameworkName, frameworkName, PBXReference.SourceTree.BUILT_PRODUCTS_DIR); productsGroup.getChildren().add(productReference); target.setProductReference(productReference); project.getTargets().add(target);/*from www . j av a 2 s .c o m*/ return target; }
From source file:com.facebook.buck.apple.xcode.ProjectGenerator.java
private PBXNativeTarget generateIosTestTarget(PBXProject project, BuildRule rule, IosTest buildable) throws IOException { PBXNativeTarget target = new PBXNativeTarget(getXcodeTargetName(rule)); target.setProductType(testTypeToTargetProductType(buildable.getTestType())); PBXGroup targetGroup = project.getMainGroup().getOrCreateChildGroupByName(target.getName()); // -- configurations Path infoPlistPath = this.repoRootRelativeToOutputDirectory.resolve(buildable.getInfoPlist()); setTargetBuildConfigurations(rule.getBuildTarget(), target, targetGroup, buildable.getConfigurations(), ImmutableMap.of("INFOPLIST_FILE", infoPlistPath.toString())); // -- phases/*from www. j av a 2s . com*/ // TODO(Task #3772930): Go through all dependencies of the rule // and add any shell script rules here addRunScriptBuildPhasesForDependencies(rule, target); addSourcesAndHeadersBuildPhases(target, targetGroup, buildable.getSrcs(), buildable.getPerFileFlags()); ImmutableSet.Builder<String> frameworksBuilder = ImmutableSet.builder(); frameworksBuilder.addAll(buildable.getFrameworks()); collectRecursiveFrameworkDependencies(rule, frameworksBuilder); addFrameworksBuildPhase(rule.getBuildTarget(), target, project.getMainGroup().getOrCreateChildGroupByName("Frameworks"), frameworksBuilder.build(), collectRecursiveLibraryDependencies(rule)); addResourcesBuildPhase(target, targetGroup, collectRecursiveResources(rule, IosResourceDescription.TYPE)); addAssetCatalogBuildPhase(target, targetGroup, collectRecursiveAssetCatalogs(rule)); // -- products PBXGroup productsGroup = project.getMainGroup().getOrCreateChildGroupByName("Products"); String productName = getProductName(rule.getBuildTarget()); String productOutputName = Joiner.on(".").join(productName, buildable.getTestType().toFileExtension()); PBXFileReference productReference = new PBXFileReference(productOutputName, productOutputName, PBXReference.SourceTree.BUILT_PRODUCTS_DIR); productsGroup.getChildren().add(productReference); target.setProductName(productName); target.setProductReference(productReference); project.getTargets().add(target); return target; }
From source file:com.facebook.buck.apple.xcode.ProjectGenerator.java
private <BuildableBinary extends AbstractBuildable & AppleBuildable> PBXNativeTarget generateBinaryTarget( PBXProject project, BuildRule rule, BuildableBinary buildable, PBXTarget.ProductType productType, BuildRuleType resourceRuleType) throws IOException { PBXNativeTarget target = new PBXNativeTarget(getXcodeTargetName(rule)); target.setProductType(productType);//from w w w. ja v a 2s . com PBXGroup targetGroup = project.getMainGroup().getOrCreateChildGroupByName(target.getName()); // -- configurations Path infoPlistPath = this.repoRootRelativeToOutputDirectory.resolve(buildable.getInfoPlist()); setTargetBuildConfigurations(rule.getBuildTarget(), target, targetGroup, buildable.getConfigurations(), ImmutableMap.of("INFOPLIST_FILE", infoPlistPath.toString())); // -- phases // TODO(Task #3772930): Go through all dependencies of the rule // and add any shell script rules here addRunScriptBuildPhasesForDependencies(rule, target); addSourcesAndHeadersBuildPhases(target, targetGroup, buildable.getSrcs(), buildable.getPerFileFlags()); ImmutableSet.Builder<String> frameworksBuilder = ImmutableSet.builder(); frameworksBuilder.addAll(buildable.getFrameworks()); collectRecursiveFrameworkDependencies(rule, frameworksBuilder); addFrameworksBuildPhase(rule.getBuildTarget(), target, project.getMainGroup().getOrCreateChildGroupByName("Frameworks"), frameworksBuilder.build(), collectRecursiveLibraryDependencies(rule)); addResourcesBuildPhase(target, targetGroup, collectRecursiveResources(rule, resourceRuleType)); addAssetCatalogBuildPhase(target, targetGroup, collectRecursiveAssetCatalogs(rule)); // -- products PBXGroup productsGroup = project.getMainGroup().getOrCreateChildGroupByName("Products"); String productName = getProductName(rule.getBuildTarget()); String productOutputName = productName + ".app"; PBXFileReference productReference = new PBXFileReference(productOutputName, productOutputName, PBXReference.SourceTree.BUILT_PRODUCTS_DIR); productsGroup.getChildren().add(productReference); target.setProductName(productName); target.setProductReference(productReference); return target; }
From source file:com.facebook.presto.hive.metastore.CachingHiveMetastore.java
private Set<HivePrivilege> getPrivileges(String user, HiveObjectRef objectReference) { ImmutableSet.Builder<HivePrivilege> privileges = ImmutableSet.builder(); try (HiveMetastoreClient client = clientProvider.createMetastoreClient()) { PrincipalPrivilegeSet privilegeSet = client.getPrivilegeSet(objectReference, user, null); if (privilegeSet != null) { Map<String, List<PrivilegeGrantInfo>> userPrivileges = privilegeSet.getUserPrivileges(); if (userPrivileges != null) { privileges.addAll(toGrants(userPrivileges.get(user))); }/*from www. ja v a2 s .co m*/ for (List<PrivilegeGrantInfo> rolePrivileges : privilegeSet.getRolePrivileges().values()) { privileges.addAll(toGrants(rolePrivileges)); } // We do not add the group permissions as Hive does not seem to process these } } catch (TException e) { throw new PrestoException(HIVE_METASTORE_ERROR, e); } return privileges.build(); }
From source file:com.tngtech.archunit.core.domain.JavaClass.java
/** * Returns all dependencies originating directly from this class (i.e. not just from a superclass), * where a dependency can be//from w w w.ja v a2s .c om * <ul> * <li>field access</li> * <li>method call</li> * <li>constructor call</li> * <li>extending a class</li> * <li>implementing an interface</li> * <li>referencing in throws declaration</li> * </ul> * * @return All dependencies originating directly from this class (i.e. where this class is the origin) */ @PublicAPI(usage = ACCESS) public Set<Dependency> getDirectDependenciesFromSelf() { ImmutableSet.Builder<Dependency> result = ImmutableSet.builder(); result.addAll(dependenciesFromAccesses(getAccessesFromSelf())); result.addAll(inheritanceDependenciesFromSelf()); result.addAll(fieldDependenciesFromSelf()); result.addAll(returnTypeDependenciesFromSelf()); result.addAll(methodParameterDependenciesFromSelf()); result.addAll(throwsDeclarationDependenciesFromSelf()); result.addAll(constructorParameterDependenciesFromSelf()); return result.build(); }
From source file:com.tngtech.archunit.core.domain.JavaClass.java
/** * Like {@link #getDirectDependenciesFromSelf()}, but instead returns all dependencies where this class * is target./*from w ww . j av a2 s . c om*/ * * @return Dependencies where this class is the target. */ @PublicAPI(usage = ACCESS) public Set<Dependency> getDirectDependenciesToSelf() { ImmutableSet.Builder<Dependency> result = ImmutableSet.builder(); result.addAll(dependenciesFromAccesses(getAccessesToSelf())); result.addAll(inheritanceDependenciesToSelf()); result.addAll(fieldDependenciesToSelf()); result.addAll(returnTypeDependenciesToSelf()); result.addAll(methodParameterDependenciesToSelf()); result.addAll(throwsDeclarationDependenciesToSelf()); result.addAll(constructorParameterDependenciesToSelf()); return result.build(); }
From source file:org.onosproject.segmentrouting.McastHandler.java
/** * Adds a port to given multicast group on given device. This involves the * update of L3 multicast group and multicast routing table entry. * * @param deviceId device ID/*from ww w . j a va 2s . c om*/ * @param port port to be added * @param mcastIp multicast group * @param assignedVlan assigned VLAN ID */ private void addPortToDevice(DeviceId deviceId, PortNumber port, IpAddress mcastIp, VlanId assignedVlan) { McastStoreKey mcastStoreKey = new McastStoreKey(mcastIp, deviceId); ImmutableSet.Builder<PortNumber> portBuilder = ImmutableSet.builder(); if (!mcastNextObjStore.containsKey(mcastStoreKey)) { // First time someone request this mcast group via this device portBuilder.add(port); } else { // This device already serves some subscribers of this mcast group NextObjective nextObj = mcastNextObjStore.get(mcastStoreKey).value(); // Stop if the port is already in the nextobj Set<PortNumber> existingPorts = getPorts(nextObj.next()); if (existingPorts.contains(port)) { log.info("NextObj for {}/{} already exists. Abort", deviceId, port); return; } portBuilder.addAll(existingPorts).add(port).build(); } // Create, store and apply the new nextObj and fwdObj ObjectiveContext context = new DefaultObjectiveContext( (objective) -> log.debug("Successfully add {} on {}/{}, vlan {}", mcastIp, deviceId, port.toLong(), assignedVlan), (objective, error) -> log.warn("Failed to add {} on {}/{}, vlan {}: {}", mcastIp, deviceId, port.toLong(), assignedVlan, error)); NextObjective newNextObj = nextObjBuilder(mcastIp, assignedVlan, portBuilder.build()).add(); ForwardingObjective fwdObj = fwdObjBuilder(mcastIp, assignedVlan, newNextObj.id()).add(context); mcastNextObjStore.put(mcastStoreKey, newNextObj); srManager.flowObjectiveService.next(deviceId, newNextObj); srManager.flowObjectiveService.forward(deviceId, fwdObj); }