1 /* 2 * Copyright (C) 2020-2021 Alexander Borisov 3 * 4 * Author: Alexander Borisov <borisov@lexbor.com> 5 */ 6 7 /* 8 * Caution! 9 * This file generated by the script "utils/lexbor/css/selectors/pseudo.py"! 10 * Do not change this file! 11 */ 12 13 14 #ifndef LXB_CSS_SELECTOS_PSEUDO_RES_H 15 #define LXB_CSS_SELECTOS_PSEUDO_RES_H 16 17 #include "lexbor/core/shs.h" 18 #include "lexbor/css/selectors/pseudo_const.h" 19 20 21 static const lxb_css_selectors_pseudo_data_t lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS__LAST_ENTRY] = 22 { 23 {(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS__UNDEF}, 24 {(lxb_char_t *) "active", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_ACTIVE}, 25 {(lxb_char_t *) "any-link", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_ANY_LINK}, 26 {(lxb_char_t *) "blank", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_BLANK}, 27 {(lxb_char_t *) "checked", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_CHECKED}, 28 {(lxb_char_t *) "current", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_CURRENT}, 29 {(lxb_char_t *) "default", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_DEFAULT}, 30 {(lxb_char_t *) "disabled", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_DISABLED}, 31 {(lxb_char_t *) "empty", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_EMPTY}, 32 {(lxb_char_t *) "enabled", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_ENABLED}, 33 {(lxb_char_t *) "first-child", 11, LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_CHILD}, 34 {(lxb_char_t *) "first-of-type", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_OF_TYPE}, 35 {(lxb_char_t *) "focus", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS}, 36 {(lxb_char_t *) "focus-visible", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_VISIBLE}, 37 {(lxb_char_t *) "focus-within", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_WITHIN}, 38 {(lxb_char_t *) "fullscreen", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_FULLSCREEN}, 39 {(lxb_char_t *) "future", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUTURE}, 40 {(lxb_char_t *) "hover", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_HOVER}, 41 {(lxb_char_t *) "in-range", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_IN_RANGE}, 42 {(lxb_char_t *) "indeterminate", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_INDETERMINATE}, 43 {(lxb_char_t *) "invalid", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_INVALID}, 44 {(lxb_char_t *) "last-child", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_CHILD}, 45 {(lxb_char_t *) "last-of-type", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_OF_TYPE}, 46 {(lxb_char_t *) "link", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_LINK}, 47 {(lxb_char_t *) "local-link", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_LOCAL_LINK}, 48 {(lxb_char_t *) "only-child", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_CHILD}, 49 {(lxb_char_t *) "only-of-type", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_OF_TYPE}, 50 {(lxb_char_t *) "optional", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_OPTIONAL}, 51 {(lxb_char_t *) "out-of-range", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_OUT_OF_RANGE}, 52 {(lxb_char_t *) "past", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_PAST}, 53 {(lxb_char_t *) "placeholder-shown", 17, LXB_CSS_SELECTOR_PSEUDO_CLASS_PLACEHOLDER_SHOWN}, 54 {(lxb_char_t *) "read-only", 9, LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_ONLY}, 55 {(lxb_char_t *) "read-write", 10, LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_WRITE}, 56 {(lxb_char_t *) "required", 8, LXB_CSS_SELECTOR_PSEUDO_CLASS_REQUIRED}, 57 {(lxb_char_t *) "root", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_ROOT}, 58 {(lxb_char_t *) "scope", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_SCOPE}, 59 {(lxb_char_t *) "target", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET}, 60 {(lxb_char_t *) "target-within", 13, LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET_WITHIN}, 61 {(lxb_char_t *) "user-invalid", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_USER_INVALID}, 62 {(lxb_char_t *) "valid", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_VALID}, 63 {(lxb_char_t *) "visited", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_VISITED}, 64 {(lxb_char_t *) "warning", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_WARNING} 65 }; 66 67 static const lxb_css_selectors_pseudo_data_func_t lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION__LAST_ENTRY] = 68 { 69 {(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION__UNDEF, 70 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 71 {.state = lxb_css_selectors_state_pseudo_class_function__undef, .block = NULL, 72 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}, 73 {(lxb_char_t *) "current", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_CURRENT, 74 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 75 {.state = lxb_css_selectors_state_pseudo_class_function_current, .block = NULL, 76 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true}, 77 {(lxb_char_t *) "dir", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_DIR, 78 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 79 {.state = lxb_css_selectors_state_pseudo_class_function_dir, .block = NULL, 80 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}, 81 {(lxb_char_t *) "has", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_HAS, 82 false, LXB_CSS_SELECTOR_COMBINATOR_DESCENDANT, 83 {.state = lxb_css_selectors_state_pseudo_class_function_has, .block = NULL, 84 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving_relative}, true, true}, 85 {(lxb_char_t *) "is", 2, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_IS, 86 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 87 {.state = lxb_css_selectors_state_pseudo_class_function_is, .block = NULL, 88 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving}, true, true}, 89 {(lxb_char_t *) "lang", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_LANG, 90 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 91 {.state = lxb_css_selectors_state_pseudo_class_function_lang, .block = NULL, 92 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}, 93 {(lxb_char_t *) "not", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NOT, 94 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 95 {.state = lxb_css_selectors_state_pseudo_class_function_not, .block = NULL, 96 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true}, 97 {(lxb_char_t *) "nth-child", 9, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_CHILD, 98 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 99 {.state = lxb_css_selectors_state_pseudo_class_function_nth_child, .block = NULL, 100 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true}, 101 {(lxb_char_t *) "nth-col", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_COL, 102 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 103 {.state = lxb_css_selectors_state_pseudo_class_function_nth_col, .block = NULL, 104 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}, 105 {(lxb_char_t *) "nth-last-child", 14, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_CHILD, 106 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 107 {.state = lxb_css_selectors_state_pseudo_class_function_nth_last_child, .block = NULL, 108 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true}, 109 {(lxb_char_t *) "nth-last-col", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_COL, 110 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 111 {.state = lxb_css_selectors_state_pseudo_class_function_nth_last_col, .block = NULL, 112 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}, 113 {(lxb_char_t *) "nth-last-of-type", 16, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_OF_TYPE, 114 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 115 {.state = lxb_css_selectors_state_pseudo_class_function_nth_last_of_type, .block = NULL, 116 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}, 117 {(lxb_char_t *) "nth-of-type", 11, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_OF_TYPE, 118 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 119 {.state = lxb_css_selectors_state_pseudo_class_function_nth_of_type, .block = NULL, 120 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}, 121 {(lxb_char_t *) "where", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_WHERE, 122 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 123 {.state = lxb_css_selectors_state_pseudo_class_function_where, .block = NULL, 124 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving}, true, true} 125 }; 126 127 static const lxb_css_selectors_pseudo_data_t lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT__LAST_ENTRY] = 128 { 129 {(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT__UNDEF}, 130 {(lxb_char_t *) "after", 5, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_AFTER}, 131 {(lxb_char_t *) "backdrop", 8, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BACKDROP}, 132 {(lxb_char_t *) "before", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BEFORE}, 133 {(lxb_char_t *) "first-letter", 12, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LETTER}, 134 {(lxb_char_t *) "first-line", 10, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LINE}, 135 {(lxb_char_t *) "grammar-error", 13, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_GRAMMAR_ERROR}, 136 {(lxb_char_t *) "inactive-selection", 18, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_INACTIVE_SELECTION}, 137 {(lxb_char_t *) "marker", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_MARKER}, 138 {(lxb_char_t *) "placeholder", 11, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_PLACEHOLDER}, 139 {(lxb_char_t *) "selection", 9, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SELECTION}, 140 {(lxb_char_t *) "spelling-error", 14, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SPELLING_ERROR}, 141 {(lxb_char_t *) "target-text", 11, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_TARGET_TEXT} 142 }; 143 144 static const lxb_css_selectors_pseudo_data_func_t lxb_css_selectors_pseudo_data_pseudo_element_function[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FUNCTION__LAST_ENTRY] = 145 { 146 {(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FUNCTION__UNDEF, 147 false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE, 148 {.state = lxb_css_selectors_state_pseudo_element_function__undef, .block = NULL, 149 .failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false} 150 }; 151 152 static const lexbor_shs_entry_t lxb_css_selectors_pseudo_class_shs[79] = 153 { 154 {NULL, NULL, 78, 0}, 155 {"focus-visible", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_VISIBLE], 13, 0}, 156 {"first-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_OF_TYPE], 13, 1}, 157 {"in-range", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_IN_RANGE], 8, 0}, 158 {"out-of-range", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_OUT_OF_RANGE], 12, 0}, 159 {"read-write", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_WRITE], 10, 0}, 160 {"hover", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_HOVER], 5, 3}, 161 {"enabled", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ENABLED], 7, 0}, 162 {"fullscreen", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FULLSCREEN], 10, 0}, 163 {"placeholder-shown", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_PLACEHOLDER_SHOWN], 17, 0}, 164 {"target-within", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET_WITHIN], 13, 0}, 165 {"indeterminate", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_INDETERMINATE], 13, 0}, 166 {"local-link", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LOCAL_LINK], 10, 0}, 167 {"user-invalid", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_USER_INVALID], 12, 0}, 168 {NULL, NULL, 0, 0}, 169 {NULL, NULL, 0, 0}, 170 {NULL, NULL, 0, 0}, 171 {NULL, NULL, 0, 0}, 172 {NULL, NULL, 0, 0}, 173 {"past", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_PAST], 4, 0}, 174 {NULL, NULL, 0, 0}, 175 {NULL, NULL, 0, 0}, 176 {"only-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_OF_TYPE], 12, 4}, 177 {"only-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ONLY_CHILD], 10, 5}, 178 {"focus", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS], 5, 7}, 179 {NULL, NULL, 0, 0}, 180 {"any-link", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ANY_LINK], 8, 0}, 181 {NULL, NULL, 0, 0}, 182 {"valid", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_VALID], 5, 0}, 183 {NULL, NULL, 0, 0}, 184 {"visited", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_VISITED], 7, 0}, 185 {NULL, NULL, 0, 0}, 186 {NULL, NULL, 0, 0}, 187 {NULL, NULL, 0, 0}, 188 {NULL, NULL, 0, 0}, 189 {"root", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ROOT], 4, 8}, 190 {NULL, NULL, 0, 0}, 191 {"focus-within", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FOCUS_WITHIN], 12, 0}, 192 {"checked", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_CHECKED], 7, 9}, 193 {NULL, NULL, 0, 0}, 194 {NULL, NULL, 0, 0}, 195 {NULL, NULL, 0, 0}, 196 {"active", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_ACTIVE], 6, 0}, 197 {"last-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_OF_TYPE], 12, 0}, 198 {NULL, NULL, 0, 0}, 199 {"target", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_TARGET], 6, 0}, 200 {"read-only", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_READ_ONLY], 9, 10}, 201 {NULL, NULL, 0, 0}, 202 {"first-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FIRST_CHILD], 11, 0}, 203 {"disabled", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_DISABLED], 8, 0}, 204 {NULL, NULL, 0, 0}, 205 {"required", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_REQUIRED], 8, 0}, 206 {NULL, NULL, 0, 0}, 207 {"link", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LINK], 4, 0}, 208 {NULL, NULL, 0, 0}, 209 {"empty", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_EMPTY], 5, 0}, 210 {"invalid", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_INVALID], 7, 0}, 211 {NULL, NULL, 0, 0}, 212 {NULL, NULL, 0, 0}, 213 {"scope", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_SCOPE], 5, 12}, 214 {NULL, NULL, 0, 0}, 215 {NULL, NULL, 0, 0}, 216 {"blank", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_BLANK], 5, 0}, 217 {NULL, NULL, 0, 0}, 218 {NULL, NULL, 0, 0}, 219 {NULL, NULL, 0, 0}, 220 {NULL, NULL, 0, 0}, 221 {NULL, NULL, 0, 0}, 222 {NULL, NULL, 0, 0}, 223 {"warning", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_WARNING], 7, 0}, 224 {"default", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_DEFAULT], 7, 0}, 225 {NULL, NULL, 0, 0}, 226 {NULL, NULL, 0, 0}, 227 {"future", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUTURE], 6, 0}, 228 {"current", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_CURRENT], 7, 0}, 229 {"optional", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_OPTIONAL], 8, 0}, 230 {NULL, NULL, 0, 0}, 231 {"last-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class[LXB_CSS_SELECTOR_PSEUDO_CLASS_LAST_CHILD], 10, 0}, 232 {NULL, NULL, 0, 0} 233 }; 234 235 static const lexbor_shs_entry_t lxb_css_selectors_pseudo_class_function_shs[39] = 236 { 237 {NULL, NULL, 38, 0}, 238 {NULL, NULL, 0, 0}, 239 {"current", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_CURRENT], 7, 0}, 240 {NULL, NULL, 0, 0}, 241 {"dir", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_DIR], 3, 0}, 242 {NULL, NULL, 0, 0}, 243 {NULL, NULL, 0, 0}, 244 {NULL, NULL, 0, 0}, 245 {"is", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_IS], 2, 0}, 246 {NULL, NULL, 0, 0}, 247 {NULL, NULL, 0, 0}, 248 {NULL, NULL, 0, 0}, 249 {NULL, NULL, 0, 0}, 250 {NULL, NULL, 0, 0}, 251 {"nth-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_CHILD], 9, 0}, 252 {NULL, NULL, 0, 0}, 253 {NULL, NULL, 0, 0}, 254 {NULL, NULL, 0, 0}, 255 {NULL, NULL, 0, 0}, 256 {"nth-last-child", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_CHILD], 14, 0}, 257 {NULL, NULL, 0, 0}, 258 {NULL, NULL, 0, 0}, 259 {NULL, NULL, 0, 0}, 260 {"where", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_WHERE], 5, 0}, 261 {NULL, NULL, 0, 0}, 262 {NULL, NULL, 0, 0}, 263 {"nth-col", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_COL], 7, 0}, 264 {"lang", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_LANG], 4, 0}, 265 {"has", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_HAS], 3, 0}, 266 {NULL, NULL, 0, 0}, 267 {NULL, NULL, 0, 0}, 268 {"nth-last-col", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_COL], 12, 0}, 269 {"nth-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_OF_TYPE], 11, 0}, 270 {NULL, NULL, 0, 0}, 271 {NULL, NULL, 0, 0}, 272 {NULL, NULL, 0, 0}, 273 {"not", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NOT], 3, 0}, 274 {"nth-last-of-type", (void *) &lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_OF_TYPE], 16, 0}, 275 {NULL, NULL, 0, 0} 276 }; 277 278 static const lexbor_shs_entry_t lxb_css_selectors_pseudo_element_shs[24] = 279 { 280 {NULL, NULL, 23, 0}, 281 {NULL, NULL, 0, 0}, 282 {"inactive-selection", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_INACTIVE_SELECTION], 18, 0}, 283 {"placeholder", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_PLACEHOLDER], 11, 0}, 284 {"after", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_AFTER], 5, 0}, 285 {"first-letter", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LETTER], 12, 0}, 286 {NULL, NULL, 0, 0}, 287 {NULL, NULL, 0, 0}, 288 {"grammar-error", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_GRAMMAR_ERROR], 13, 0}, 289 {"before", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BEFORE], 6, 0}, 290 {"selection", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SELECTION], 9, 0}, 291 {NULL, NULL, 0, 0}, 292 {NULL, NULL, 0, 0}, 293 {"target-text", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_TARGET_TEXT], 11, 0}, 294 {"first-line", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FIRST_LINE], 10, 0}, 295 {"spelling-error", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_SPELLING_ERROR], 14, 0}, 296 {"backdrop", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_BACKDROP], 8, 0}, 297 {"marker", (void *) &lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_MARKER], 6, 0}, 298 {NULL, NULL, 0, 0}, 299 {NULL, NULL, 0, 0}, 300 {NULL, NULL, 0, 0}, 301 {NULL, NULL, 0, 0}, 302 {NULL, NULL, 0, 0}, 303 {NULL, NULL, 0, 0} 304 }; 305 306 static const lexbor_shs_entry_t lxb_css_selectors_pseudo_element_function_shs[6] = 307 { 308 {NULL, NULL, 5, 0}, 309 {NULL, NULL, 0, 0}, 310 {NULL, NULL, 0, 0}, 311 {NULL, NULL, 0, 0}, 312 {NULL, NULL, 0, 0}, 313 {NULL, NULL, 0, 0} 314 }; 315 316 317 #endif /* LXB_CSS_SELECTOS_PSEUDO_RES_H */ 318