package de.dhbwstuttgart.typeinference.assumptions;

import de.dhbwstuttgart.syntaxtree.ParameterList;
import de.dhbwstuttgart.syntaxtree.type.RefType;
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;

import java.util.List;
import java.util.stream.Collectors;

public class MethodAssumption {
    private RefType receiver;
    private RefTypeOrTPHOrWildcardOrGeneric retType;
    List<RefTypeOrTPHOrWildcardOrGeneric> params;

    public MethodAssumption(RefType receiver, RefTypeOrTPHOrWildcardOrGeneric retType, List<RefTypeOrTPHOrWildcardOrGeneric> params){
        this.receiver = receiver;
        this.retType = retType;
        this.params = params;
    }

    public RefType getReceiverType() {
        return receiver;
    }

    public RefTypeOrTPHOrWildcardOrGeneric getReturnType() {
        return retType;
    }

    public List<RefTypeOrTPHOrWildcardOrGeneric> getArgTypes() {
        return params;
    }
}
