Rewrite the RSExportConstantArrayType to better support reflecting
constant-sized array variable.
diff --git a/slang_rs_reflection.h b/slang_rs_reflection.h
index 2750af6..b072790 100644
--- a/slang_rs_reflection.h
+++ b/slang_rs_reflection.h
@@ -202,6 +202,7 @@
   void genPointerTypeExportVariable(Context &C, const RSExportVar *EV);
   void genVectorTypeExportVariable(Context &C, const RSExportVar *EV);
   void genMatrixTypeExportVariable(Context &C, const RSExportVar *EV);
+  void genConstantArrayTypeExportVariable(Context &C, const RSExportVar *EV);
   void genRecordTypeExportVariable(Context &C, const RSExportVar *EV);
   void genGetExportVariable(Context &C,
                             const std::string &TypeName,
@@ -213,9 +214,7 @@
   bool genTypeClass(Context &C,
                     const RSExportRecordType *ERT,
                     std::string &ErrorMsg);
-  bool genTypeItemClass(Context &C,
-                        const RSExportRecordType *ERT,
-                        std::string &ErrorMsg);
+  void genTypeItemClass(Context &C, const RSExportRecordType *ERT);
   void genTypeClassConstructor(Context &C, const RSExportRecordType *ERT);
   void genTypeClassCopyToArray(Context &C, const RSExportRecordType *ERT);
   void genTypeClassItemSetter(Context &C, const RSExportRecordType *ERT);
@@ -244,6 +243,9 @@
                         const RSExportType *T,
                         const char *VarName,
                         const char *FieldPackerName);
+  void genAllocateVarOfType(Context &C,
+                            const RSExportType *T,
+                            const std::string &VarName);
   void genNewItemBufferIfNull(Context &C, const char *Index);
   void genNewItemBufferPackerIfNull(Context &C);