This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Create a lookup table for magic vtables from magic type, PL_magic_data.
[perl5.git] / mg_raw.h
CommitLineData
6f83ef0e
NC
1/* -*- buffer-read-only: t -*-
2 *
3 * mg_raw.h
4 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
5 * This file is built by regen/mg_vtable.pl.
6 * Any changes made here will be lost!
7 */
8
9 { '\0', "want_vtbl_sv",
10 "/* sv '\\0' Special scalar variable */" },
11 { 'A', "want_vtbl_amagic",
12 "/* overload 'A' %OVERLOAD hash */" },
13 { 'a', "want_vtbl_amagicelem",
14 "/* overload_elem 'a' %OVERLOAD hash element */" },
15 { 'c', "want_vtbl_ovrld",
16 "/* overload_table 'c' Holds overload table (AMT) on stash */" },
17 { 'B', "want_vtbl_regexp",
18 "/* bm 'B' Boyer-Moore (fast string search) */" },
19 { 'D', "want_vtbl_regdata",
20 "/* regdata 'D' Regex match position data (@+ and @- vars) */" },
21 { 'd', "want_vtbl_regdatum",
22 "/* regdatum 'd' Regex match position data element */" },
23 { 'E', "want_vtbl_env",
24 "/* env 'E' %ENV hash */" },
25 { 'e', "want_vtbl_envelem",
26 "/* envelem 'e' %ENV hash element */" },
27 { 'f', "want_vtbl_regdata",
28 "/* fm 'f' Formline ('compiled' format) */" },
29 { 'g', "want_vtbl_mglob",
30 "/* regex_global 'g' m//g target / study()ed string */" },
31 { 'H', "want_vtbl_hints",
32 "/* hints 'H' %^H hash */" },
33 { 'h', "want_vtbl_hintselem",
34 "/* hintselem 'h' %^H hash element */" },
35 { 'I', "want_vtbl_isa",
36 "/* isa 'I' @ISA array */" },
37 { 'i', "want_vtbl_isaelem",
38 "/* isaelem 'i' @ISA array element */" },
39 { 'k', "want_vtbl_nkeys",
40 "/* nkeys 'k' scalar(keys()) lvalue */" },
41 { 'L', "want_vtbl_dbline",
42 "/* dbfile 'L' Debugger %_<filename */" },
43 { 'l', "magic_vtable_max",
44 "/* dbline 'l' Debugger %_<filename element */" },
45 { 'o', "want_vtbl_collxfrm",
46 "/* collxfrm 'o' Locale transformation */" },
47 { 'P', "want_vtbl_pack",
48 "/* tied 'P' Tied array or hash */" },
49 { 'p', "want_vtbl_packelem",
50 "/* tiedelem 'p' Tied array or hash element */" },
51 { 'q', "want_vtbl_packelem",
52 "/* tiedscalar 'q' Tied scalar or handle */" },
53 { 'r', "want_vtbl_regexp",
54 "/* qr 'r' precompiled qr// regex */" },
55 { 'S', "magic_vtable_max",
56 "/* sig 'S' %SIG hash */" },
57 { 's', "want_vtbl_sigelem",
58 "/* sigelem 's' %SIG hash element */" },
59 { 't', "want_vtbl_taint",
60 "/* taint 't' Taintedness */" },
61 { 'U', "want_vtbl_uvar",
62 "/* uvar 'U' Available for use by extensions */" },
63 { 'v', "want_vtbl_vec",
64 "/* vec 'v' vec() lvalue */" },
65 { 'V', "magic_vtable_max",
66 "/* vstring 'V' SV was vstring literal */" },
67 { 'w', "want_vtbl_utf8",
68 "/* utf8 'w' Cached UTF-8 information */" },
69 { 'x', "want_vtbl_substr",
70 "/* substr 'x' substr() lvalue */" },
71 { 'y', "want_vtbl_defelem",
72 "/* defelem 'y' Shadow \"foreach\" iterator variable / smart parameter vivification */" },
73 { '#', "want_vtbl_arylen",
74 "/* arylen '#' Array length ($#ary) */" },
75 { '.', "want_vtbl_pos",
76 "/* pos '.' pos() lvalue */" },
77 { '<', "want_vtbl_backref",
78 "/* backref '<' for weak ref data */" },
79 { ':', "magic_vtable_max",
80 "/* symtab ':' extra data for symbol tables */" },
81 { '%', "magic_vtable_max",
82 "/* rhash '%' extra data for restricted hashes */" },
83 { '@', "magic_vtable_max",
84 "/* arylen_p '@' to move arylen out of XPVAV */" },
85 { '~', "magic_vtable_max",
86 "/* ext '~' Available for use by extensions */" },
87 { ']', "magic_vtable_max",
88 "/* checkcall ']' inlining/mutation of call to this CV */" },
89
90/* ex: set ro: */