Macro: DEFINE_SCALAR_ARGUMENT

Module location: FMAC line 12599 (view source)

  #PUSH !q
  #DTYPE Q$ !1
  #IF (!q=-1) // undefined type error
      #ERROR DFERR_COMP_INVALID_DATATYPE (!1)
  #ELSE
    #IF (!q=19) // a struct
      #PUSH !h
      #STRG H$ !1
      #IFSAME !2 BYREF
        #REPLACE !3 |RK-!ZGV!h
      #ELSE
        #REPLACE !2 |SK-!ZGV!h
      #ENDIF
      #POP H$
    #ELSE // not a struct
      #SPUSH
      #DTSYM !1  // moves datatype Letter ID into !$
      #IFSAME !2 BYREF
        #REPLACE !3 |R!$-!ZG
      #ELSE
        #REPLACE !2 |S!$-!ZG
      #ENDIF
      #SPOP
    #ENDIF
  #ENDIF
  #POP Q$