Macro: ARRAY$PROPERTY

Module location: FMAC line 12902 (view source)

  #DATA           // Start the property

  //Push the get and set messages
  ARRAY_PROPERTY_NAME_HELPER !1 !2 !3 !4 !5 !6 !7 !8 !9

  #DPUSH |CI21        // Push ARGARRAY
  #SET Q$ 0
  ARRAY_DIM_COUNT_HELPER !2 !3 !4 !5 !6 !7 !8 !9 // sets !q to num of dims
  #DPUSH |CI!q //Push the number of dimensions

  #DTYPE Q$ !1        // get the property type in q
  #DPUSH |CI!q        // Push the array type
  #IF (!q=19)
    //It's a struct, so we must push the struct metadata as well
    #PUSH !h
    #STRG H$ !1
    #DPUSH |CI!h
    #POP H$
  #ENDIF
  ARRAY_DIM_SIZE_HELPER !2 !3 !4 !5 !6 !7 !8 !9 //Push the size of each dimension
  !A [] CREATE$PROPERTY |CI0 |VL