File: newDEFSVOP.c.inc

package info (click to toggle)
libfunction-parameters-perl 2.001003-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 948 kB
  • sloc: perl: 6,478; makefile: 3
file content (22 lines) | stat: -rw-r--r-- 462 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* vi: set ft=c inde=: */

#ifndef newDEFSVOP

#include "pad_findmy_pvs.c.inc"

#define newDEFSVOP() S_newDEFSVOP(aTHX)

static OP *S_newDEFSVOP(pTHX) {
    dVAR;
    const PADOFFSET offset = pad_findmy_pvs("$_", 0);
    if (offset == NOT_IN_PAD || PAD_COMPNAME_FLAGS_isOUR(offset)) {
        return newSVREF(newGVOP(OP_GV, 0, PL_defgv));
    }
    else {
        OP * const o = newOP(OP_PADSV, 0);
        o->op_targ = offset;
        return o;
    }
}

#endif