List of usage examples for com.google.common.collect ImmutableList.Builder add
boolean add(E e);
From source file:com.google.devtools.build.lib.bazel.rules.android.ndkcrosstools.r17.AndroidNdkCrosstoolsR17.java
private static ImmutableList<DefaultCpuToolchain> getDefaultCpuToolchains(StlImpl stlImpl, String clangVersion) {/* w w w .ja va2 s . c o m*/ // TODO(bazel-team): It would be better to auto-generate this somehow. ImmutableMap<String, String> defaultCpus = ImmutableMap.<String, String>builder() // arm .put("armeabi-v7a", "arm-linux-androideabi-clang" + clangVersion + "-v7a") .put("arm64-v8a", "aarch64-linux-android-clang" + clangVersion) // x86 .put("x86", "x86-clang" + clangVersion).put("x86_64", "x86_64-clang" + clangVersion).build(); ImmutableList.Builder<DefaultCpuToolchain> defaultCpuToolchains = ImmutableList.builder(); for (Map.Entry<String, String> defaultCpu : defaultCpus.entrySet()) { defaultCpuToolchains.add(DefaultCpuToolchain.newBuilder().setCpu(defaultCpu.getKey()) .setToolchainIdentifier(defaultCpu.getValue() + "-" + stlImpl.getName()).build()); } return defaultCpuToolchains.build(); }
From source file:com.google.devtools.build.lib.skylarkdebug.server.DebuggerSerialization.java
private static ImmutableList<Value> getArrayChildren(Object array) { ImmutableList.Builder<Value> builder = ImmutableList.builder(); int index = 0; for (int i = 0; i < Array.getLength(array); i++) { builder.add(getValueProto(String.format("[%d]", index++), Array.get(array, i))); }//from w w w .j a va 2 s. c om return builder.build(); }
From source file:com.torodb.torod.db.backends.query.processors.InProcessor.java
@Nullable private static ProcessedQueryCriteria getProcessedQuery(InQueryCriteria criteria, Multimap<ScalarType, ScalarValue<?>> byTypeValues, ScalarType type) { Collection<ScalarValue<?>> values = byTypeValues.get(type); if (values.isEmpty()) { return null; }/*from w w w. ja v a2 s . com*/ ImmutableList.Builder<ScalarValue<?>> newInBuilder = new ImmutableList.Builder(); for (ScalarValue<?> value : values) { newInBuilder.add(value); } return new ProcessedQueryCriteria(new TypeIsQueryCriteria(criteria.getAttributeReference(), type), new InQueryCriteria(criteria.getAttributeReference(), newInBuilder.build())); }
From source file:io.flutter.bazel.PluginConfig.java
private static @Nullable List<Pattern> compilePatterns(@Nullable Iterable<String> patterns) { if (patterns == null) return null; final ImmutableList.Builder<Pattern> result = ImmutableList.builder(); for (String regexp : patterns) { result.add(Pattern.compile(regexp)); }/*from w ww . ja v a 2 s .c om*/ return result.build(); }
From source file:net.hydromatic.optiq.util.graph.Graphs.java
/** Returns a map of the shortest paths between any pair of nodes. */ public static <V, E extends DefaultEdge> FrozenGraph<V, E> makeImmutable(DirectedGraph<V, E> graph) { DefaultDirectedGraph<V, E> graph1 = (DefaultDirectedGraph<V, E>) graph; Map<Pair<V, V>, List<V>> shortestPaths = new HashMap<Pair<V, V>, List<V>>(); for (DefaultDirectedGraph.VertexInfo<V, E> arc : graph1.vertexMap.values()) { for (E edge : arc.outEdges) { final V source = graph1.source(edge); final V target = graph1.target(edge); shortestPaths.put(Pair.of(source, target), ImmutableList.of(source, target)); }//from w ww .j a v a 2 s. c o m } while (true) { // Take a copy of the map's keys to avoid // ConcurrentModificationExceptions. final List<Pair<V, V>> previous = ImmutableList.copyOf(shortestPaths.keySet()); int changeCount = 0; for (E edge : graph.edgeSet()) { for (Pair<V, V> edge2 : previous) { if (edge.target.equals(edge2.left)) { final Pair<V, V> key = Pair.of(graph1.source(edge), edge2.right); List<V> bestPath = shortestPaths.get(key); List<V> arc2Path = shortestPaths.get(edge2); if ((bestPath == null) || (bestPath.size() > (arc2Path.size() + 1))) { ImmutableList.Builder<V> newPath = ImmutableList.builder(); newPath.add(graph1.source(edge)); newPath.addAll(arc2Path); shortestPaths.put(key, newPath.build()); changeCount++; } } } } if (changeCount == 0) { break; } } return new FrozenGraph<V, E>(graph1, shortestPaths); }
From source file:se.kth.climate.fast.netcdf.aligner.VariableAlignment.java
public static VariableAlignment of(List<Pair<VariableAssignment, VariableFit>> vavfs) { final ImmutableList.Builder<VariableAssignment> vas = ImmutableList.builder(); final ImmutableList.Builder<VariableFit> vfs = ImmutableList.builder(); vavfs.forEach((vavf) -> {// w w w .j a v a2s .co m vas.add(vavf.getValue0()); vfs.add(vavf.getValue1()); }); return new VariableAlignment(vas.build(), vfs.build()); }
From source file:com.android.builder.core.BootClasspathBuilder.java
@NonNull public static ImmutableList<File> computeFullBootClasspath(@NonNull IAndroidTarget target, @NonNull File annotationsJar) { Preconditions.checkNotNull(target);/*from w ww . jav a 2 s .co m*/ Preconditions.checkNotNull(annotationsJar); ImmutableList.Builder<File> classpath = ImmutableList.builder(); for (String p : target.getBootClasspath()) { classpath.add(new File(p)); } // add additional libraries if any List<IAndroidTarget.OptionalLibrary> libs = target.getAdditionalLibraries(); for (IAndroidTarget.OptionalLibrary lib : libs) { File jar = lib.getJar(); Verify.verify(jar != null, "Jar missing from additional library %s.", lib.getName()); classpath.add(jar); } // add optional libraries if any List<IAndroidTarget.OptionalLibrary> optionalLibraries = target.getOptionalLibraries(); for (IAndroidTarget.OptionalLibrary lib : optionalLibraries) { File jar = lib.getJar(); Verify.verify(jar != null, "Jar missing from optional library %s.", lib.getName()); classpath.add(jar); } // add annotations.jar if needed. if (target.getVersion().getApiLevel() <= 15) { classpath.add(annotationsJar); } return classpath.build(); }
From source file:dk.ilios.spanner.benchmark.Parameter.java
private static ImmutableList<String> findDefaults(Field field) { String[] defaultsAsStrings = field.getAnnotation(Param.class).value(); if (defaultsAsStrings.length > 0) { return ImmutableList.copyOf(defaultsAsStrings); }/*w w w.j a v a 2 s .co m*/ Class<?> type = field.getType(); if (type == boolean.class) { return ALL_BOOLEANS; } if (type.isEnum()) { ImmutableList.Builder<String> builder = ImmutableList.builder(); for (Object enumConstant : type.getEnumConstants()) { builder.add(enumConstant.toString()); } return builder.build(); } return ImmutableList.of(); }
From source file:com.google.devtools.build.lib.bazel.rules.android.ndkcrosstools.r12.AndroidNdkCrosstoolsR12.java
private static ImmutableList<DefaultCpuToolchain> getDefaultCpuToolchains(StlImpl stlImpl) { // TODO(bazel-team): It would be better to auto-generate this somehow. ImmutableMap<String, String> defaultCpus = ImmutableMap.<String, String>builder() // arm .put("armeabi", "arm-linux-androideabi-4.9").put("armeabi-v7a", "arm-linux-androideabi-4.9-v7a") .put("arm64-v8a", "aarch64-linux-android-4.9") // mips .put("mips", "mipsel-linux-android-4.9").put("mips64", "mips64el-linux-android-4.9") // x86 .put("x86", "x86-4.9").put("x86_64", "x86_64-4.9").build(); ImmutableList.Builder<DefaultCpuToolchain> defaultCpuToolchains = ImmutableList.builder(); for (Entry<String, String> defaultCpu : defaultCpus.entrySet()) { defaultCpuToolchains.add(DefaultCpuToolchain.newBuilder().setCpu(defaultCpu.getKey()) .setToolchainIdentifier(defaultCpu.getValue() + "-" + stlImpl.getName()).build()); }/*www. ja v a2 s . c om*/ return defaultCpuToolchains.build(); }
From source file:io.prestosql.sql.gen.VarArgsToArrayAdapterGenerator.java
public static MethodHandleAndConstructor generateVarArgsToArrayAdapter(Class<?> returnType, Class<?> javaType, int argsLength, MethodHandle function, MethodHandle userStateFactory) { requireNonNull(returnType, "returnType is null"); requireNonNull(javaType, "javaType is null"); requireNonNull(function, "function is null"); requireNonNull(userStateFactory, "userStateFactory is null"); checkCondition(argsLength <= 253, NOT_SUPPORTED, "Too many arguments for vararg function"); MethodType methodType = function.type(); Class<?> javaArrayType = toArrayClass(javaType); checkArgument(methodType.returnType() == returnType, "returnType does not match"); checkArgument(methodType.parameterList().equals(ImmutableList.of(Object.class, javaArrayType)), "parameter types do not match"); CallSiteBinder callSiteBinder = new CallSiteBinder(); ClassDefinition classDefinition = new ClassDefinition(a(PUBLIC, FINAL), makeClassName("VarArgsToListAdapter"), type(Object.class)); classDefinition.declareDefaultConstructor(a(PRIVATE)); // generate userState constructor MethodDefinition stateFactoryDefinition = classDefinition.declareMethod(a(PUBLIC, STATIC), "createState", type(VarArgsToArrayAdapterState.class)); stateFactoryDefinition.getBody().comment("create userState for current instance").append(newInstance( VarArgsToArrayAdapterState.class, loadConstant(callSiteBinder, userStateFactory, MethodHandle.class) .invoke("invokeExact", Object.class), newArray(type(javaArrayType), argsLength).cast(Object.class)).ret()); // generate adapter method ImmutableList.Builder<Parameter> parameterListBuilder = ImmutableList.builder(); parameterListBuilder.add(arg("userState", VarArgsToArrayAdapterState.class)); for (int i = 0; i < argsLength; i++) { parameterListBuilder.add(arg("input_" + i, javaType)); }/*from w w w .ja v a 2s . c o m*/ ImmutableList<Parameter> parameterList = parameterListBuilder.build(); MethodDefinition methodDefinition = classDefinition.declareMethod(a(PUBLIC, STATIC), "varArgsToArray", type(returnType), parameterList); BytecodeBlock body = methodDefinition.getBody(); BytecodeExpression userState = parameterList.get(0).getField("userState", Object.class); BytecodeExpression args = parameterList.get(0).getField("args", Object.class).cast(javaArrayType); for (int i = 0; i < argsLength; i++) { body.append(args.setElement(i, parameterList.get(i + 1))); } body.append(loadConstant(callSiteBinder, function, MethodHandle.class) .invoke("invokeExact", returnType, userState, args).ret()); // define class Class<?> generatedClass = defineClass(classDefinition, Object.class, callSiteBinder.getBindings(), VarArgsToArrayAdapterGenerator.class.getClassLoader()); return new MethodHandleAndConstructor( Reflection.methodHandle(generatedClass, "varArgsToArray", ImmutableList.builder().add(VarArgsToArrayAdapterState.class) .addAll(nCopies(argsLength, javaType)).build().toArray(new Class<?>[argsLength])), Reflection.methodHandle(generatedClass, "createState")); }