Add kernel argument emitting

Resolves: COMPMID-6391
Signed-off-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Change-Id: I0d54d99ffad275400c6da7fe16deb544553060eb
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10004
Reviewed-by: Anitha Raj <Anitha.Raj@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
diff --git a/compute_kernel_writer/include/ckw/Kernel.h b/compute_kernel_writer/include/ckw/Kernel.h
index d93ed6f..dc0cad5 100644
--- a/compute_kernel_writer/include/ckw/Kernel.h
+++ b/compute_kernel_writer/include/ckw/Kernel.h
@@ -25,7 +25,9 @@
 #ifndef CKW_INCLUDE_CKW_KERNEL_H
 #define CKW_INCLUDE_CKW_KERNEL_H
 
+#include "ckw/KernelArgument.h"
 #include <string>
+#include <vector>
 
 namespace ckw
 {
@@ -48,22 +50,24 @@
     /** Initialize a new instance of @ref Kernel class with all emitted kernel information.
      *
      * @param[in] language    The target language of the kernel.
+     * @param[in] arguments   The list of kernel arguments.
      * @param[in] source_code The source code of the kernel.
      */
-    Kernel(TargetLanguage language, const std::string &source_code);
+    Kernel(TargetLanguage language, const std::vector<KernelArgument> &arguments, const std::string &source_code);
 
     /** Get the target language. */
     TargetLanguage target_language() const;
 
+    /** Get the list of arguments. */
+    const std::vector<KernelArgument> &arguments() const;
+
     /** Get the source code. */
     const std::string &source_code() const;
 
-    /** Add a tile operand */
-    virtual TileOperand &add_operand(const std::string &name, const TileInfo &tile_info) = 0;
-
 private:
-    TargetLanguage _language;
-    std::string    _source_code;
+    TargetLanguage              _language;
+    std::vector<KernelArgument> _arguments;
+    std::string                 _source_code;
 };
 
 } // namespace ckw