package de.dhbwstuttgart.bytecode.descriptor;

import de.dhbwstuttgart.bytecode.utilities.Lambda;
import de.dhbwstuttgart.bytecode.utilities.MethodFromMethodCall;
import de.dhbwstuttgart.bytecode.utilities.NormalConstructor;
import de.dhbwstuttgart.bytecode.utilities.NormalMethod;
import de.dhbwstuttgart.bytecode.utilities.SamMethod;
import de.dhbwstuttgart.syntaxtree.statement.ArgumentList;

public interface DescriptorVisitor {
	String visit(NormalMethod method);
	String visit(NormalConstructor constructor);
	String visit(Lambda lambdaExpression);
	String visit(SamMethod samMethod);
	String visit(MethodFromMethodCall methodFromMethodCall);
	String createDescForFunN(ArgumentList argumentList, String returnType);
}
