package de.dhbwstuttgart.languageServerInterface.model;



import de.dhbwstuttgart.exceptions.CompilerWarning;
import de.dhbwstuttgart.syntaxtree.SourceFile;
import de.dhbwstuttgart.target.generate.GenericsResult;
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
import de.dhbwstuttgart.typeinference.result.ResultSet;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class LanguageServerTransferObject {
    SourceFile Ast;
    String printedAst;
    Map<SourceFile, List<GenericsResult>> generatedGenerics = new HashMap<>();
    List<CompilerWarning> warnings;
    ConstraintSet<?> constraints;

    public LanguageServerTransferObject(SourceFile Ast, String printedAst, ConstraintSet<?> constraints, Map<SourceFile, List<GenericsResult>> generatedGenerics, List<CompilerWarning> warnings) {
        this.Ast = Ast;
        this.printedAst = printedAst;
        this.constraints = constraints;
        this.generatedGenerics = generatedGenerics;
        this.warnings = warnings;
    }

    public SourceFile getAst() {return Ast;}
    public String getPrintedAst() {return printedAst;}
    public Map<SourceFile, List<GenericsResult>> getGeneratedGenerics() {return generatedGenerics;}
    public List<CompilerWarning> getWarnings() { return warnings; };
    public ConstraintSet<?> getConstraints() { return constraints; };
}
