Example usage for com.google.common.collect Lists reverse

List of usage examples for com.google.common.collect Lists reverse

Introduction

In this page you can find the example usage for com.google.common.collect Lists reverse.

Prototype

@CheckReturnValue
public static <T> List<T> reverse(List<T> list) 

Source Link

Document

Returns a reversed view of the specified list.

Usage

From source file:org.jetbrains.kotlin.codegen.TailRecursionCodegen.java

private void assignParameterValues(CallableDescriptor fd, CallableMethod callableMethod,
        List<ResolvedValueArgument> valueArguments) {
    List<Type> types = callableMethod.getValueParameterTypes();
    for (ValueParameterDescriptor parameterDescriptor : Lists.reverse(fd.getValueParameters())) {
        ResolvedValueArgument arg = valueArguments.get(parameterDescriptor.getIndex());
        Type type = types.get(parameterDescriptor.getIndex());

        if (arg instanceof ExpressionValueArgument) {
            ExpressionValueArgument ev = (ExpressionValueArgument) arg;
            ValueArgument argument = ev.getValueArgument();
            KtExpression argumentExpression = argument == null ? null : argument.getArgumentExpression();

            if (argumentExpression instanceof KtSimpleNameExpression) {
                ResolvedCall<?> resolvedCall = CallUtilKt.getResolvedCall(argumentExpression,
                        state.getBindingContext());
                if (resolvedCall != null
                        && resolvedCall.getResultingDescriptor().equals(parameterDescriptor.getOriginal())) {
                    // do nothing: we shouldn't store argument to itself again
                    AsmUtil.pop(v, type);
                    continue;
                }//from   ww w.j a  v  a 2s  .co  m
            }
            //assign the parameter below
        } else if (arg instanceof DefaultValueArgument) {
            AsmUtil.pop(v, type);
            DefaultParameterValueLoader.DEFAULT.genValue(parameterDescriptor, codegen).put(type, v);
        } else if (arg instanceof VarargValueArgument) {
            // assign the parameter below
        } else {
            throw new UnsupportedOperationException("Unknown argument type: " + arg + " in " + fd);
        }

        store(parameterDescriptor, type);
    }
}

From source file:com.mlaskows.quiz.model.entity.Level.java

/**
 * Returns next unsolved exercise in cycle for specified
 * id./*w ww.j  a  va  2s .c  o m*/
 * 
 * @param id
 *            previous exercise id
 * @param forward
 *            search forward if true, backward if false
 * @return next unsolved exercise
 */
public Exercise getUnsolvedInCycle(int id, boolean forward) {
    if (getExercises() == null || getExercises().isEmpty()) {
        return null;
    }
    List<Exercise> exercises = null;
    if (forward) {
        exercises = new ArrayList<Exercise>(getExercises());
    } else {
        exercises = Lists.reverse(new ArrayList<Exercise>(getExercises()));
    }
    Iterator<Exercise> ie = Iterators.cycle(exercises);
    int count = 0;
    boolean isAfterSpecified = false;
    // Iterate over cycle.
    while (count <= exercises.size() + id) {
        Exercise e = ie.next();
        /* Search for next unsolved exercise only if
         * specified by method parameter was reached
         * or if parameter equals 0.
         */
        if ((isAfterSpecified || id == 0) && !e.isSolved()) {
            return e;
        }
        /* Exercise specified by method parameter is 
         * reached. Now next exercise can be searched. 
         */
        if (id == e.getId()) {
            isAfterSpecified = true;
        }
        count++;
    }
    return null;
}

From source file:org.grouplens.lenskit.inject.RecommenderGraphBuilder.java

public DependencySolver buildDependencySolverImpl(SolveDirection direction) {
    DependencySolverBuilder dsb = DependencySolver.newBuilder();
    for (BindingFunctionBuilder cfg : Lists.reverse(configs)) {
        dsb.addBindingFunction(direction.transform(cfg.build(BindingFunctionBuilder.RuleSet.EXPLICIT)));
        dsb.addBindingFunction(// ww  w  . j a va2s  .  c  o  m
                direction.transform(cfg.build(BindingFunctionBuilder.RuleSet.INTERMEDIATE_TYPES)));
        dsb.addBindingFunction(direction.transform(cfg.build(BindingFunctionBuilder.RuleSet.SUPER_TYPES)));
    }
    // default desire function cannot trigger rewrites
    dsb.addBindingFunction(DefaultDesireBindingFunction.create(classLoader), false);
    dsb.setDefaultPolicy(CachePolicy.MEMOIZE);
    dsb.setMaxDepth(RESOLVE_DEPTH_LIMIT);
    return dsb.build();
}

From source file:ManageBeans.AddRouteBean.java

public void mirror() {
    List<Stop> someStopList = new ArrayList<>();
    someStopList.addAll(firstStops);
    secondStops = Lists.reverse(someStopList);
}

From source file:gps.games.util.GameTree.java

/**
 * Calculated the path from the given node to a root node.
 * //  w w  w.j  a va2s . com
 * @param node
 *            the node. Should be a node that has been inserted into the
 *            tree.
 * @return The list in order from root to node.
 */
@Override
public List<INode<T>> getPathTo(INode<T> node) {
    List<INode<T>> reversed = new ArrayList<>();
    for (INode<T> t = it(node, true);; t = it(t, false)) {
        if (t == null) {
            break;
        }
        reversed.add(t);
        if (t.isRoot()) {
            break;
        }
    }
    final List<INode<T>> ret = Lists.reverse(reversed);
    if (!ret.isEmpty() && ret.get(0).getDepth() != 0) {
        // if this gets thrown you may debug by uncommenting the exception
        // in insert(INode<T> pred, Game<T> succ) method
        throw new RuntimeException("a predecessor of an inserted node has not been inserted in the tree");
    }
    return ret;
}

From source file:org.opendaylight.controller.netconf.cli.reader.custom.ConfigReader.java

@Override
protected List<Node<?>> readWithContext(final DataSchemaNode schemaNode) throws IOException, ReadingException {
    console.writeLn("Config " + schemaNode.getQName().getLocalName());
    console.writeLn("Submit path of the data to edit. Use TAB for autocomplete");

    final String rawValue = console.read();

    // FIXME isSkip check should be somewhere in abstractReader
    if (isSkipInput(rawValue) || Strings.isNullOrEmpty(rawValue)) {
        return Collections.emptyList();
    }//ww w  . ja  v a  2s.c o  m

    final List<QName> filterPartsQNames = Lists.newArrayList();

    for (final String part : rawValue.split(SEPARATOR)) {
        final QName qName = IOUtil.qNameFromKeyString(part, mappedModules);
        filterPartsQNames.add(qName);
    }

    List<Node<?>> previous = readInnerNode(rawValue);

    for (final QName qName : Lists.reverse(filterPartsQNames).subList(1, filterPartsQNames.size())) {
        previous = Collections.<Node<?>>singletonList(new CompositeNodeTOImpl(qName, null,
                previous == null ? Collections.<Node<?>>emptyList() : previous));
    }

    final Node<?> newNode = previous == null ? null
            : new CompositeNodeTOImpl(schemaNode.getQName(), null, previous);

    return Collections.<Node<?>>singletonList(newNode);
}

From source file:com.google.currysrc.api.process.ast.TypeLocator.java

/**
 * Creates a {@code TypeLocator} for the specified {@link ASTNode}.
 *///from   w w w  .  jav  a  2s .c  om
public TypeLocator(final AbstractTypeDeclaration typeDeclaration) {
    if (typeDeclaration.isLocalTypeDeclaration()) {
        throw new IllegalArgumentException("Local types not supported: " + typeDeclaration);
    }

    CompilationUnit cu = (CompilationUnit) typeDeclaration.getRoot();
    this.packageMatcher = new PackageMatcher(PackageMatcher.getPackageName(cu));

    // Traverse the type declarations towards the root, building up a list of type names in
    // reverse order.
    List<String> typeNames = Lists.newArrayList();
    AbstractTypeDeclaration currentNode = typeDeclaration;
    while (typeDeclaration != null) {
        typeNames.add(currentNode.getName().getFullyQualifiedName());
        // Handle nested / inner classes.
        ASTNode parentNode = currentNode.getParent();
        if (parentNode != null) {
            if (parentNode == cu) {
                break;
            }
            if (!(parentNode instanceof AbstractTypeDeclaration)) {
                throw new AssertionError("Unexpected parent for nested/inner class: parent=" + parentNode
                        + " of " + currentNode);
            }
        }
        currentNode = (AbstractTypeDeclaration) parentNode;
    }
    this.classNameElements = Lists.reverse(typeNames);
}

From source file:org.splevo.ui.vpexplorer.explorer.SwitchBackVPM.java

@Override
public IMenuCreator getMenuCreator() {
    IMenuCreator menuCreator = new IMenuCreator() {

        @Override//from   www . j a  v a 2 s  . c o m
        public void dispose() {
            // TODO Auto-generated method stub
        }

        @Override
        public Menu getMenu(Control parent) {
            return createMenuManager().createContextMenu(parent);
        }

        @Override
        public Menu getMenu(Menu parent) {
            return null;
        }

        private MenuManager createMenuManager() {
            MenuManager manager = new MenuManager();

            manager.addMenuListener(new IMenuListener() {
                @Override
                public void menuAboutToShow(IMenuManager manager) {
                    if (vpexplorer.getSPLevoProject() != null && vpexplorer.getSPLevoProject() != null
                            && vpexplorer.getSPLevoProject().getVpmModelReferences().size() > 0) {
                        for (VPMModelReference reference : Lists
                                .reverse(vpexplorer.getSPLevoProject().getVpmModelReferences())) {
                            manager.add(new VPMRollbackMenuAction(reference));
                        }
                    }
                }
            });

            return manager;
        }
    };

    return menuCreator;
}

From source file:gobblin.runtime.template.InheritingJobTemplate.java

private Config getRawTemplateConfigHelper(Set<JobTemplate> alreadyInheritedTemplates)
        throws SpecNotFoundException, TemplateException {
    Config rawTemplate = getLocalRawTemplate();
    for (JobTemplate template : Lists.reverse(this.superTemplates)) {
        if (!alreadyInheritedTemplates.contains(template)) {
            alreadyInheritedTemplates.add(template);
            Config thisFallback = template instanceof InheritingJobTemplate
                    ? ((InheritingJobTemplate) template).getRawTemplateConfigHelper(alreadyInheritedTemplates)
                    : template.getRawTemplateConfig();
            rawTemplate = rawTemplate.withFallback(thisFallback);
        }/*from  w w  w  .ja v a  2  s.c o m*/
    }
    return rawTemplate;
}

From source file:com.tasktop.koans.PathToEnlightment.java

private int countEqualLastEntries(List<String> failues, String failureName) {
    List<String> reverseFailures = Lists.reverse(failues);
    int count = 0;
    for (int i = 0; i < reverseFailures.size(); i++) {
        if (reverseFailures.get(i).equals(failureName)) {
            count++;/*  w ww . j  av a2 s.c  o m*/
        } else {
            return count;
        }
    }
    return count;
}