package com.lastcalc.parsers.collections;
import com.google.appengine.labs.repackaged.com.google.common.collect.Lists;
import com.lastcalc.TokenList;
import com.lastcalc.parsers.Parser;
import com.lastcalc.parsers.ParserContext;
import java.util.List;
/**
* Created by ian on 6/2/15.
*/
public class AppendList extends Parser {
private static TokenList template = TokenList.createD(List.class, Lists.newArrayList("append", "+"), List.class);
@Override
public TokenList getTemplate() {
return template;
}
@Override
public int hashCode() {
return "AppendList".hashCode();
}
@Override
public ParseResult parse(final TokenList tokens, final int templatePos, final ParserContext context) {
List<Object> list1 = (List<Object>) tokens.get(templatePos);
List<Object> list2 = (List<Object>) tokens.get(templatePos+2);
List<Object> newList = Lists.newArrayList();
newList.addAll(list1);
newList.addAll(list2);
return ParseResult.success(tokens.replaceWithTokens(templatePos, templatePos+3, newList));
}
@Override
public boolean equals(Object obj) {
return false;
}
}