package com.freetmp.mbg.merge.expression;
import com.freetmp.mbg.merge.AbstractMerger;
import com.github.javaparser.ast.expr.MethodCallExpr;
/**
* Created by LiuPin on 2015/5/13.
*/
public class MethodCallExprMerger extends AbstractMerger<MethodCallExpr> {
@Override public MethodCallExpr doMerge(MethodCallExpr first, MethodCallExpr second) {
MethodCallExpr mce = new MethodCallExpr();
mce.setNameExpr(mergeSingle(first.getNameExpr(),second.getNameExpr()));
mce.setArgs(mergeCollectionsInOrder(first.getArgs(),second.getArgs()));
mce.setScope(mergeSingle(first.getScope(),second.getScope()));
mce.setTypeArgs(mergeCollectionsInOrder(first.getTypeArgs(),second.getTypeArgs()));
return mce;
}
@Override public boolean doIsEquals(MethodCallExpr first, MethodCallExpr second) {
if(!isEqualsUseMerger(first.getNameExpr(),second.getNameExpr())) return false;
if(!isEqualsUseMerger(first.getTypeArgs(),second.getTypeArgs())) return false;
if(!isEqualsUseMerger(first.getScope(),second.getScope())) return false;
if(!isEqualsUseMerger(first.getArgs(),second.getArgs())) return false;
return true;
}
}