Macro: LOCAL

Module location: FMACDD line 9560 (view source)

Change: Declare error if not within a method (it used to create globals.

  #IFDEF NUM_ARGUMENTS
    #IF (!0>0)
      #IFDEF SUPPORT$ADDRESS
        #CHECK !1 '"STRING""NUMBER""DATE""INTEGER""REAL""ADDRESS"'
      #ELSE
        #CHECK !1 '"STRING""NUMBER""DATE""INTEGER""REAL"'
      #ENDIF
      #CHECK !2 RT
      #IF (!Zg = 0)
        //!A [] LOCAL$ARGUMENT |CI0  // Create the command to save the local count,
        !A [] $0456 |CI0
        #FREF OBJ$!Za$LNUM !a       // and tell flex to update it later.
      #ENDIF
      #IFSAME !1 STRING
        #REPLACE !2 |SS!ZG
      #ELSE
        #IFSAME !1 NUMBER
          #REPLACE !2 |SN!ZG
        #ELSE
          #IFSAME !1 DATE
            #REPLACE !2 |SD!ZG
          #ELSE
            #IFSAME !1 INTEGER
              #REPLACE !2 |SI!ZG
            #ELSE
              #IFDEF SUPPORT$ADDRESS
                #IFSAME !1 REAL
                  #REPLACE !2 |SR!ZG
                #ELSE
                  #IFSAME !1 ADDRESS
                    #REPLACE !2 |SX!ZG
                  #ENDIF
                #ENDIF
              #ELSE
                #IFSAME !1 REAL
                  #REPLACE !2 |SR!ZG
                #ENDIF
              #ENDIF
            #ENDIF
          #ENDIF
        #ENDIF
      #ENDIF
      #IF (!0>2)
        LOCAL !1 !3 !4 !5 !6 !7 !8 !9
      #ENDIF
    #ENDIF
  #ELSE
    #ERROR 300 LOCAL Variables can only be defined within methods
  #ENDIF