Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 63.54 KB | None | 0 0
  1. # HG changeset patch
  2. # User Dmitry Volyntsev <xeioex@nginx.com>
  3. # Date 1565103378 -10800
  4. # Tue Aug 06 17:56:18 2019 +0300
  5. # Node ID 2c6325a99b2bee23e7d9d1bc4fa62aad0f67c86d
  6. # Parent fd6cbe55f676c7882e712ee22ceeff86ba4dad9d
  7. Eliminating redundant NJS_METHOD type.
  8.  
  9. Previously, NJS_METHOD was basically NJS_PROPERTY with
  10. function value type.
  11.  
  12. diff --git a/src/njs_array.c b/src/njs_array.c
  13. --- a/src/njs_array.c
  14. +++ b/src/njs_array.c
  15. @@ -280,7 +280,7 @@ static const njs_object_prop_t njs_arra
  16.  
  17. /* Array.isArray(). */
  18. {
  19. - .type = NJS_METHOD,
  20. + .type = NJS_PROPERTY,
  21. .name = njs_string("isArray"),
  22. .value = njs_native_function(njs_array_is_array, 0),
  23. .writable = 1,
  24. @@ -290,7 +290,7 @@ static const njs_object_prop_t njs_arra
  25. /* ES6. */
  26. /* Array.of(). */
  27. {
  28. - .type = NJS_METHOD,
  29. + .type = NJS_PROPERTY,
  30. .name = njs_string("of"),
  31. .value = njs_native_function(njs_array_of, 0),
  32. .writable = 1,
  33. @@ -1975,7 +1975,7 @@ static const njs_object_prop_t njs_arra
  34. },
  35.  
  36. {
  37. - .type = NJS_METHOD,
  38. + .type = NJS_PROPERTY,
  39. .name = njs_string("slice"),
  40. .value = njs_native_function(njs_array_prototype_slice,
  41. NJS_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  42. @@ -1984,7 +1984,7 @@ static const njs_object_prop_t njs_arra
  43. },
  44.  
  45. {
  46. - .type = NJS_METHOD,
  47. + .type = NJS_PROPERTY,
  48. .name = njs_string("push"),
  49. .value = njs_native_function(njs_array_prototype_push, 0),
  50. .writable = 1,
  51. @@ -1992,7 +1992,7 @@ static const njs_object_prop_t njs_arra
  52. },
  53.  
  54. {
  55. - .type = NJS_METHOD,
  56. + .type = NJS_PROPERTY,
  57. .name = njs_string("pop"),
  58. .value = njs_native_function(njs_array_prototype_pop, 0),
  59. .writable = 1,
  60. @@ -2000,7 +2000,7 @@ static const njs_object_prop_t njs_arra
  61. },
  62.  
  63. {
  64. - .type = NJS_METHOD,
  65. + .type = NJS_PROPERTY,
  66. .name = njs_string("unshift"),
  67. .value = njs_native_function(njs_array_prototype_unshift, 0),
  68. .writable = 1,
  69. @@ -2008,7 +2008,7 @@ static const njs_object_prop_t njs_arra
  70. },
  71.  
  72. {
  73. - .type = NJS_METHOD,
  74. + .type = NJS_PROPERTY,
  75. .name = njs_string("shift"),
  76. .value = njs_native_function(njs_array_prototype_shift, 0),
  77. .writable = 1,
  78. @@ -2016,7 +2016,7 @@ static const njs_object_prop_t njs_arra
  79. },
  80.  
  81. {
  82. - .type = NJS_METHOD,
  83. + .type = NJS_PROPERTY,
  84. .name = njs_string("splice"),
  85. .value = njs_native_function(njs_array_prototype_splice,
  86. NJS_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  87. @@ -2025,7 +2025,7 @@ static const njs_object_prop_t njs_arra
  88. },
  89.  
  90. {
  91. - .type = NJS_METHOD,
  92. + .type = NJS_PROPERTY,
  93. .name = njs_string("reverse"),
  94. .value = njs_native_function(njs_array_prototype_reverse,
  95. NJS_OBJECT_ARG),
  96. @@ -2034,7 +2034,7 @@ static const njs_object_prop_t njs_arra
  97. },
  98.  
  99. {
  100. - .type = NJS_METHOD,
  101. + .type = NJS_PROPERTY,
  102. .name = njs_string("toString"),
  103. .value = njs_native_function(njs_array_prototype_to_string, 0),
  104. .writable = 1,
  105. @@ -2042,7 +2042,7 @@ static const njs_object_prop_t njs_arra
  106. },
  107.  
  108. {
  109. - .type = NJS_METHOD,
  110. + .type = NJS_PROPERTY,
  111. .name = njs_string("join"),
  112. .value = njs_native_function(njs_array_prototype_join,
  113. NJS_OBJECT_ARG, NJS_STRING_ARG),
  114. @@ -2051,7 +2051,7 @@ static const njs_object_prop_t njs_arra
  115. },
  116.  
  117. {
  118. - .type = NJS_METHOD,
  119. + .type = NJS_PROPERTY,
  120. .name = njs_string("concat"),
  121. .value = njs_native_function(njs_array_prototype_concat, 0),
  122. .writable = 1,
  123. @@ -2059,7 +2059,7 @@ static const njs_object_prop_t njs_arra
  124. },
  125.  
  126. {
  127. - .type = NJS_METHOD,
  128. + .type = NJS_PROPERTY,
  129. .name = njs_string("indexOf"),
  130. .value = njs_native_function(njs_array_prototype_index_of,
  131. NJS_OBJECT_ARG, NJS_SKIP_ARG, NJS_INTEGER_ARG),
  132. @@ -2068,7 +2068,7 @@ static const njs_object_prop_t njs_arra
  133. },
  134.  
  135. {
  136. - .type = NJS_METHOD,
  137. + .type = NJS_PROPERTY,
  138. .name = njs_string("lastIndexOf"),
  139. .value = njs_native_function(njs_array_prototype_last_index_of,
  140. NJS_OBJECT_ARG, NJS_SKIP_ARG, NJS_INTEGER_ARG),
  141. @@ -2078,7 +2078,7 @@ static const njs_object_prop_t njs_arra
  142.  
  143. /* ES7. */
  144. {
  145. - .type = NJS_METHOD,
  146. + .type = NJS_PROPERTY,
  147. .name = njs_string("includes"),
  148. .value = njs_native_function(njs_array_prototype_includes,
  149. NJS_OBJECT_ARG, NJS_SKIP_ARG, NJS_INTEGER_ARG),
  150. @@ -2087,7 +2087,7 @@ static const njs_object_prop_t njs_arra
  151. },
  152.  
  153. {
  154. - .type = NJS_METHOD,
  155. + .type = NJS_PROPERTY,
  156. .name = njs_string("forEach"),
  157. .value = njs_native_function(njs_array_prototype_for_each, 0),
  158. .writable = 1,
  159. @@ -2095,7 +2095,7 @@ static const njs_object_prop_t njs_arra
  160. },
  161.  
  162. {
  163. - .type = NJS_METHOD,
  164. + .type = NJS_PROPERTY,
  165. .name = njs_string("some"),
  166. .value = njs_native_function(njs_array_prototype_some, 0),
  167. .writable = 1,
  168. @@ -2103,7 +2103,7 @@ static const njs_object_prop_t njs_arra
  169. },
  170.  
  171. {
  172. - .type = NJS_METHOD,
  173. + .type = NJS_PROPERTY,
  174. .name = njs_string("every"),
  175. .value = njs_native_function(njs_array_prototype_every, 0),
  176. .writable = 1,
  177. @@ -2112,7 +2112,7 @@ static const njs_object_prop_t njs_arra
  178.  
  179. /* ES6. */
  180. {
  181. - .type = NJS_METHOD,
  182. + .type = NJS_PROPERTY,
  183. .name = njs_string("fill"),
  184. .value = njs_native_function(njs_array_prototype_fill,
  185. NJS_OBJECT_ARG, NJS_SKIP_ARG, NJS_NUMBER_ARG,
  186. @@ -2122,7 +2122,7 @@ static const njs_object_prop_t njs_arra
  187. },
  188.  
  189. {
  190. - .type = NJS_METHOD,
  191. + .type = NJS_PROPERTY,
  192. .name = njs_string("filter"),
  193. .value = njs_native_function(njs_array_prototype_filter, 0),
  194. .writable = 1,
  195. @@ -2131,7 +2131,7 @@ static const njs_object_prop_t njs_arra
  196.  
  197. /* ES6. */
  198. {
  199. - .type = NJS_METHOD,
  200. + .type = NJS_PROPERTY,
  201. .name = njs_string("find"),
  202. .value = njs_native_function(njs_array_prototype_find, 0),
  203. .writable = 1,
  204. @@ -2140,7 +2140,7 @@ static const njs_object_prop_t njs_arra
  205.  
  206. /* ES6. */
  207. {
  208. - .type = NJS_METHOD,
  209. + .type = NJS_PROPERTY,
  210. .name = njs_string("findIndex"),
  211. .value = njs_native_function(njs_array_prototype_find_index, 0),
  212. .writable = 1,
  213. @@ -2148,7 +2148,7 @@ static const njs_object_prop_t njs_arra
  214. },
  215.  
  216. {
  217. - .type = NJS_METHOD,
  218. + .type = NJS_PROPERTY,
  219. .name = njs_string("map"),
  220. .value = njs_native_function(njs_array_prototype_map, 0),
  221. .writable = 1,
  222. @@ -2156,7 +2156,7 @@ static const njs_object_prop_t njs_arra
  223. },
  224.  
  225. {
  226. - .type = NJS_METHOD,
  227. + .type = NJS_PROPERTY,
  228. .name = njs_string("reduce"),
  229. .value = njs_native_function(njs_array_prototype_reduce, 0),
  230. .writable = 1,
  231. @@ -2164,7 +2164,7 @@ static const njs_object_prop_t njs_arra
  232. },
  233.  
  234. {
  235. - .type = NJS_METHOD,
  236. + .type = NJS_PROPERTY,
  237. .name = njs_string("reduceRight"),
  238. .value = njs_native_function(njs_array_prototype_reduce_right, 0),
  239. .writable = 1,
  240. @@ -2172,7 +2172,7 @@ static const njs_object_prop_t njs_arra
  241. },
  242.  
  243. {
  244. - .type = NJS_METHOD,
  245. + .type = NJS_PROPERTY,
  246. .name = njs_string("sort"),
  247. .value = njs_native_function(njs_array_prototype_sort, 0),
  248. .writable = 1,
  249. diff --git a/src/njs_boolean.c b/src/njs_boolean.c
  250. --- a/src/njs_boolean.c
  251. +++ b/src/njs_boolean.c
  252. @@ -143,7 +143,7 @@ static const njs_object_prop_t njs_bool
  253. },
  254.  
  255. {
  256. - .type = NJS_METHOD,
  257. + .type = NJS_PROPERTY,
  258. .name = njs_string("valueOf"),
  259. .value = njs_native_function(njs_boolean_prototype_value_of, 0),
  260. .writable = 1,
  261. @@ -151,7 +151,7 @@ static const njs_object_prop_t njs_bool
  262. },
  263.  
  264. {
  265. - .type = NJS_METHOD,
  266. + .type = NJS_PROPERTY,
  267. .name = njs_string("toString"),
  268. .value = njs_native_function(njs_boolean_prototype_to_string, 0),
  269. .writable = 1,
  270. diff --git a/src/njs_builtin.c b/src/njs_builtin.c
  271. --- a/src/njs_builtin.c
  272. +++ b/src/njs_builtin.c
  273. @@ -964,7 +964,7 @@ njs_builtin_match(const njs_object_init_
  274. for (i = 0; i < o->items; i++) {
  275. pr = &o->properties[i];
  276.  
  277. - if (pr->type != NJS_METHOD) {
  278. + if (pr->type != NJS_PROPERTY || !njs_is_function(&pr->value)) {
  279. continue;
  280. }
  281.  
  282. @@ -1116,7 +1116,7 @@ static const njs_object_prop_t njs_njs_
  283. },
  284.  
  285. {
  286. - .type = NJS_METHOD,
  287. + .type = NJS_PROPERTY,
  288. .name = njs_string("dump"),
  289. .value = njs_native_function(njs_dump_value,
  290. NJS_SKIP_ARG, NJS_SKIP_ARG, NJS_NUMBER_ARG),
  291. diff --git a/src/njs_crypto.c b/src/njs_crypto.c
  292. --- a/src/njs_crypto.c
  293. +++ b/src/njs_crypto.c
  294. @@ -321,7 +321,7 @@ static const njs_object_prop_t njs_hash
  295. },
  296.  
  297. {
  298. - .type = NJS_METHOD,
  299. + .type = NJS_PROPERTY,
  300. .name = njs_string("toString"),
  301. .value = njs_native_function(njs_hash_prototype_to_string, 0),
  302. .writable = 1,
  303. @@ -329,7 +329,7 @@ static const njs_object_prop_t njs_hash
  304. },
  305.  
  306. {
  307. - .type = NJS_METHOD,
  308. + .type = NJS_PROPERTY,
  309. .name = njs_string("update"),
  310. .value = njs_native_function(njs_hash_prototype_update,
  311. NJS_OBJECT_ARG, NJS_SKIP_ARG),
  312. @@ -338,7 +338,7 @@ static const njs_object_prop_t njs_hash
  313. },
  314.  
  315. {
  316. - .type = NJS_METHOD,
  317. + .type = NJS_PROPERTY,
  318. .name = njs_string("digest"),
  319. .value = njs_native_function(njs_hash_prototype_digest,
  320. NJS_OBJECT_ARG, NJS_SKIP_ARG),
  321. @@ -583,7 +583,7 @@ static const njs_object_prop_t njs_hmac
  322. },
  323.  
  324. {
  325. - .type = NJS_METHOD,
  326. + .type = NJS_PROPERTY,
  327. .name = njs_string("toString"),
  328. .value = njs_native_function(njs_hmac_prototype_to_string, 0),
  329. .writable = 1,
  330. @@ -591,7 +591,7 @@ static const njs_object_prop_t njs_hmac
  331. },
  332.  
  333. {
  334. - .type = NJS_METHOD,
  335. + .type = NJS_PROPERTY,
  336. .name = njs_string("update"),
  337. .value = njs_native_function(njs_hmac_prototype_update,
  338. NJS_OBJECT_ARG, NJS_SKIP_ARG),
  339. @@ -600,7 +600,7 @@ static const njs_object_prop_t njs_hmac
  340. },
  341.  
  342. {
  343. - .type = NJS_METHOD,
  344. + .type = NJS_PROPERTY,
  345. .name = njs_string("digest"),
  346. .value = njs_native_function(njs_hmac_prototype_digest,
  347. NJS_OBJECT_ARG, NJS_SKIP_ARG),
  348. @@ -648,7 +648,7 @@ static const njs_object_prop_t njs_cryp
  349. },
  350.  
  351. {
  352. - .type = NJS_METHOD,
  353. + .type = NJS_PROPERTY,
  354. .name = njs_string("createHash"),
  355. .value = njs_native_function(njs_crypto_create_hash,
  356. NJS_SKIP_ARG),
  357. @@ -657,7 +657,7 @@ static const njs_object_prop_t njs_cryp
  358. },
  359.  
  360. {
  361. - .type = NJS_METHOD,
  362. + .type = NJS_PROPERTY,
  363. .name = njs_string("createHmac"),
  364. .value = njs_native_function(njs_crypto_create_hmac,
  365. NJS_SKIP_ARG),
  366. diff --git a/src/njs_date.c b/src/njs_date.c
  367. --- a/src/njs_date.c
  368. +++ b/src/njs_date.c
  369. @@ -912,7 +912,7 @@ static const njs_object_prop_t njs_date
  370. },
  371.  
  372. {
  373. - .type = NJS_METHOD,
  374. + .type = NJS_PROPERTY,
  375. .name = njs_string("UTC"),
  376. .value = njs_native_function(njs_date_utc, 0),
  377. .writable = 1,
  378. @@ -920,7 +920,7 @@ static const njs_object_prop_t njs_date
  379. },
  380.  
  381. {
  382. - .type = NJS_METHOD,
  383. + .type = NJS_PROPERTY,
  384. .name = njs_string("now"),
  385. .value = njs_native_function(njs_date_now, 0),
  386. .writable = 1,
  387. @@ -928,7 +928,7 @@ static const njs_object_prop_t njs_date
  388. },
  389.  
  390. {
  391. - .type = NJS_METHOD,
  392. + .type = NJS_PROPERTY,
  393. .name = njs_string("parse"),
  394. .value = njs_native_function(njs_date_parse,
  395. NJS_SKIP_ARG, NJS_STRING_ARG),
  396. @@ -1936,7 +1936,7 @@ static const njs_object_prop_t njs_date
  397. },
  398.  
  399. {
  400. - .type = NJS_METHOD,
  401. + .type = NJS_PROPERTY,
  402. .name = njs_string("valueOf"),
  403. .value = njs_native_function(njs_date_prototype_value_of, NJS_DATE_ARG),
  404. .writable = 1,
  405. @@ -1944,7 +1944,7 @@ static const njs_object_prop_t njs_date
  406. },
  407.  
  408. {
  409. - .type = NJS_METHOD,
  410. + .type = NJS_PROPERTY,
  411. .name = njs_string("toString"),
  412. .value = njs_native_function(njs_date_prototype_to_string,
  413. NJS_DATE_ARG),
  414. @@ -1953,7 +1953,7 @@ static const njs_object_prop_t njs_date
  415. },
  416.  
  417. {
  418. - .type = NJS_METHOD,
  419. + .type = NJS_PROPERTY,
  420. .name = njs_string("toDateString"),
  421. .value = njs_native_function(njs_date_prototype_to_date_string,
  422. NJS_DATE_ARG),
  423. @@ -1962,7 +1962,7 @@ static const njs_object_prop_t njs_date
  424. },
  425.  
  426. {
  427. - .type = NJS_METHOD,
  428. + .type = NJS_PROPERTY,
  429. .name = njs_string("toTimeString"),
  430. .value = njs_native_function(njs_date_prototype_to_time_string,
  431. NJS_DATE_ARG),
  432. @@ -1971,7 +1971,7 @@ static const njs_object_prop_t njs_date
  433. },
  434.  
  435. {
  436. - .type = NJS_METHOD,
  437. + .type = NJS_PROPERTY,
  438. .name = njs_string("toLocaleString"),
  439. .value = njs_native_function(njs_date_prototype_to_string,
  440. NJS_DATE_ARG),
  441. @@ -1980,7 +1980,7 @@ static const njs_object_prop_t njs_date
  442. },
  443.  
  444. {
  445. - .type = NJS_METHOD,
  446. + .type = NJS_PROPERTY,
  447. .name = njs_long_string("toLocaleDateString"),
  448. .value = njs_native_function(njs_date_prototype_to_date_string,
  449. NJS_DATE_ARG),
  450. @@ -1989,7 +1989,7 @@ static const njs_object_prop_t njs_date
  451. },
  452.  
  453. {
  454. - .type = NJS_METHOD,
  455. + .type = NJS_PROPERTY,
  456. .name = njs_long_string("toLocaleTimeString"),
  457. .value = njs_native_function(njs_date_prototype_to_time_string,
  458. NJS_DATE_ARG),
  459. @@ -1998,7 +1998,7 @@ static const njs_object_prop_t njs_date
  460. },
  461.  
  462. {
  463. - .type = NJS_METHOD,
  464. + .type = NJS_PROPERTY,
  465. .name = njs_string("toUTCString"),
  466. .value = njs_native_function(njs_date_prototype_to_utc_string,
  467. NJS_DATE_ARG),
  468. @@ -2007,7 +2007,7 @@ static const njs_object_prop_t njs_date
  469. },
  470.  
  471. {
  472. - .type = NJS_METHOD,
  473. + .type = NJS_PROPERTY,
  474. .name = njs_string("toISOString"),
  475. .value = njs_native_function(njs_date_prototype_to_iso_string,
  476. NJS_DATE_ARG),
  477. @@ -2016,7 +2016,7 @@ static const njs_object_prop_t njs_date
  478. },
  479.  
  480. {
  481. - .type = NJS_METHOD,
  482. + .type = NJS_PROPERTY,
  483. .name = njs_string("getTime"),
  484. .value = njs_native_function(njs_date_prototype_value_of, NJS_DATE_ARG),
  485. .writable = 1,
  486. @@ -2024,7 +2024,7 @@ static const njs_object_prop_t njs_date
  487. },
  488.  
  489. {
  490. - .type = NJS_METHOD,
  491. + .type = NJS_PROPERTY,
  492. .name = njs_string("getFullYear"),
  493. .value = njs_native_function(njs_date_prototype_get_full_year,
  494. NJS_DATE_ARG),
  495. @@ -2033,7 +2033,7 @@ static const njs_object_prop_t njs_date
  496. },
  497.  
  498. {
  499. - .type = NJS_METHOD,
  500. + .type = NJS_PROPERTY,
  501. .name = njs_string("getUTCFullYear"),
  502. .value = njs_native_function(njs_date_prototype_get_utc_full_year,
  503. NJS_DATE_ARG),
  504. @@ -2042,7 +2042,7 @@ static const njs_object_prop_t njs_date
  505. },
  506.  
  507. {
  508. - .type = NJS_METHOD,
  509. + .type = NJS_PROPERTY,
  510. .name = njs_string("getMonth"),
  511. .value = njs_native_function(njs_date_prototype_get_month,
  512. NJS_DATE_ARG),
  513. @@ -2051,7 +2051,7 @@ static const njs_object_prop_t njs_date
  514. },
  515.  
  516. {
  517. - .type = NJS_METHOD,
  518. + .type = NJS_PROPERTY,
  519. .name = njs_string("getUTCMonth"),
  520. .value = njs_native_function(njs_date_prototype_get_utc_month,
  521. NJS_DATE_ARG),
  522. @@ -2060,7 +2060,7 @@ static const njs_object_prop_t njs_date
  523. },
  524.  
  525. {
  526. - .type = NJS_METHOD,
  527. + .type = NJS_PROPERTY,
  528. .name = njs_string("getDate"),
  529. .value = njs_native_function(njs_date_prototype_get_date,
  530. NJS_DATE_ARG),
  531. @@ -2069,7 +2069,7 @@ static const njs_object_prop_t njs_date
  532. },
  533.  
  534. {
  535. - .type = NJS_METHOD,
  536. + .type = NJS_PROPERTY,
  537. .name = njs_string("getUTCDate"),
  538. .value = njs_native_function(njs_date_prototype_get_utc_date,
  539. NJS_DATE_ARG),
  540. @@ -2078,7 +2078,7 @@ static const njs_object_prop_t njs_date
  541. },
  542.  
  543. {
  544. - .type = NJS_METHOD,
  545. + .type = NJS_PROPERTY,
  546. .name = njs_string("getDay"),
  547. .value = njs_native_function(njs_date_prototype_get_day, NJS_DATE_ARG),
  548. .writable = 1,
  549. @@ -2086,7 +2086,7 @@ static const njs_object_prop_t njs_date
  550. },
  551.  
  552. {
  553. - .type = NJS_METHOD,
  554. + .type = NJS_PROPERTY,
  555. .name = njs_string("getUTCDay"),
  556. .value = njs_native_function(njs_date_prototype_get_utc_day,
  557. NJS_DATE_ARG),
  558. @@ -2095,7 +2095,7 @@ static const njs_object_prop_t njs_date
  559. },
  560.  
  561. {
  562. - .type = NJS_METHOD,
  563. + .type = NJS_PROPERTY,
  564. .name = njs_string("getHours"),
  565. .value = njs_native_function(njs_date_prototype_get_hours,
  566. NJS_DATE_ARG),
  567. @@ -2104,7 +2104,7 @@ static const njs_object_prop_t njs_date
  568. },
  569.  
  570. {
  571. - .type = NJS_METHOD,
  572. + .type = NJS_PROPERTY,
  573. .name = njs_string("getUTCHours"),
  574. .value = njs_native_function(njs_date_prototype_get_utc_hours,
  575. NJS_DATE_ARG),
  576. @@ -2113,7 +2113,7 @@ static const njs_object_prop_t njs_date
  577. },
  578.  
  579. {
  580. - .type = NJS_METHOD,
  581. + .type = NJS_PROPERTY,
  582. .name = njs_string("getMinutes"),
  583. .value = njs_native_function(njs_date_prototype_get_minutes,
  584. NJS_DATE_ARG),
  585. @@ -2122,7 +2122,7 @@ static const njs_object_prop_t njs_date
  586. },
  587.  
  588. {
  589. - .type = NJS_METHOD,
  590. + .type = NJS_PROPERTY,
  591. .name = njs_string("getUTCMinutes"),
  592. .value = njs_native_function(njs_date_prototype_get_utc_minutes,
  593. NJS_DATE_ARG),
  594. @@ -2131,7 +2131,7 @@ static const njs_object_prop_t njs_date
  595. },
  596.  
  597. {
  598. - .type = NJS_METHOD,
  599. + .type = NJS_PROPERTY,
  600. .name = njs_string("getSeconds"),
  601. .value = njs_native_function(njs_date_prototype_get_seconds,
  602. NJS_DATE_ARG),
  603. @@ -2140,7 +2140,7 @@ static const njs_object_prop_t njs_date
  604. },
  605.  
  606. {
  607. - .type = NJS_METHOD,
  608. + .type = NJS_PROPERTY,
  609. .name = njs_string("getUTCSeconds"),
  610. .value = njs_native_function(njs_date_prototype_get_seconds,
  611. NJS_DATE_ARG),
  612. @@ -2149,7 +2149,7 @@ static const njs_object_prop_t njs_date
  613. },
  614.  
  615. {
  616. - .type = NJS_METHOD,
  617. + .type = NJS_PROPERTY,
  618. .name = njs_long_string("getMilliseconds"),
  619. .value = njs_native_function(njs_date_prototype_get_milliseconds,
  620. NJS_DATE_ARG),
  621. @@ -2158,7 +2158,7 @@ static const njs_object_prop_t njs_date
  622. },
  623.  
  624. {
  625. - .type = NJS_METHOD,
  626. + .type = NJS_PROPERTY,
  627. .name = njs_long_string("getUTCMilliseconds"),
  628. .value = njs_native_function(njs_date_prototype_get_milliseconds,
  629. NJS_DATE_ARG),
  630. @@ -2167,7 +2167,7 @@ static const njs_object_prop_t njs_date
  631. },
  632.  
  633. {
  634. - .type = NJS_METHOD,
  635. + .type = NJS_PROPERTY,
  636. .name = njs_long_string("getTimezoneOffset"),
  637. .value = njs_native_function(njs_date_prototype_get_timezone_offset,
  638. NJS_DATE_ARG),
  639. @@ -2176,7 +2176,7 @@ static const njs_object_prop_t njs_date
  640. },
  641.  
  642. {
  643. - .type = NJS_METHOD,
  644. + .type = NJS_PROPERTY,
  645. .name = njs_string("setTime"),
  646. .value = njs_native_function(njs_date_prototype_set_time,
  647. NJS_DATE_ARG, NJS_NUMBER_ARG),
  648. @@ -2185,7 +2185,7 @@ static const njs_object_prop_t njs_date
  649. },
  650.  
  651. {
  652. - .type = NJS_METHOD,
  653. + .type = NJS_PROPERTY,
  654. .name = njs_long_string("setMilliseconds"),
  655. .value = njs_native_function(njs_date_prototype_set_milliseconds,
  656. NJS_DATE_ARG, NJS_NUMBER_ARG),
  657. @@ -2194,7 +2194,7 @@ static const njs_object_prop_t njs_date
  658. },
  659.  
  660. {
  661. - .type = NJS_METHOD,
  662. + .type = NJS_PROPERTY,
  663. .name = njs_long_string("setUTCMilliseconds"),
  664. .value = njs_native_function(njs_date_prototype_set_milliseconds,
  665. NJS_DATE_ARG, NJS_NUMBER_ARG),
  666. @@ -2203,7 +2203,7 @@ static const njs_object_prop_t njs_date
  667. },
  668.  
  669. {
  670. - .type = NJS_METHOD,
  671. + .type = NJS_PROPERTY,
  672. .name = njs_string("setSeconds"),
  673. .value = njs_native_function(njs_date_prototype_set_seconds,
  674. NJS_DATE_ARG, NJS_NUMBER_ARG),
  675. @@ -2212,7 +2212,7 @@ static const njs_object_prop_t njs_date
  676. },
  677.  
  678. {
  679. - .type = NJS_METHOD,
  680. + .type = NJS_PROPERTY,
  681. .name = njs_string("setUTCSeconds"),
  682. .value = njs_native_function(njs_date_prototype_set_seconds,
  683. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG),
  684. @@ -2221,7 +2221,7 @@ static const njs_object_prop_t njs_date
  685. },
  686.  
  687. {
  688. - .type = NJS_METHOD,
  689. + .type = NJS_PROPERTY,
  690. .name = njs_string("setMinutes"),
  691. .value = njs_native_function(njs_date_prototype_set_minutes,
  692. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG,
  693. @@ -2231,7 +2231,7 @@ static const njs_object_prop_t njs_date
  694. },
  695.  
  696. {
  697. - .type = NJS_METHOD,
  698. + .type = NJS_PROPERTY,
  699. .name = njs_string("setUTCMinutes"),
  700. .value = njs_native_function(njs_date_prototype_set_utc_minutes,
  701. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG,
  702. @@ -2241,7 +2241,7 @@ static const njs_object_prop_t njs_date
  703. },
  704.  
  705. {
  706. - .type = NJS_METHOD,
  707. + .type = NJS_PROPERTY,
  708. .name = njs_string("setHours"),
  709. .value = njs_native_function(njs_date_prototype_set_hours,
  710. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG,
  711. @@ -2251,7 +2251,7 @@ static const njs_object_prop_t njs_date
  712. },
  713.  
  714. {
  715. - .type = NJS_METHOD,
  716. + .type = NJS_PROPERTY,
  717. .name = njs_string("setUTCHours"),
  718. .value = njs_native_function(njs_date_prototype_set_utc_hours,
  719. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG,
  720. @@ -2261,7 +2261,7 @@ static const njs_object_prop_t njs_date
  721. },
  722.  
  723. {
  724. - .type = NJS_METHOD,
  725. + .type = NJS_PROPERTY,
  726. .name = njs_string("setDate"),
  727. .value = njs_native_function(njs_date_prototype_set_date,
  728. NJS_DATE_ARG, NJS_NUMBER_ARG),
  729. @@ -2270,7 +2270,7 @@ static const njs_object_prop_t njs_date
  730. },
  731.  
  732. {
  733. - .type = NJS_METHOD,
  734. + .type = NJS_PROPERTY,
  735. .name = njs_string("setUTCDate"),
  736. .value = njs_native_function(njs_date_prototype_set_utc_date,
  737. NJS_DATE_ARG, NJS_NUMBER_ARG),
  738. @@ -2279,7 +2279,7 @@ static const njs_object_prop_t njs_date
  739. },
  740.  
  741. {
  742. - .type = NJS_METHOD,
  743. + .type = NJS_PROPERTY,
  744. .name = njs_string("setMonth"),
  745. .value = njs_native_function(njs_date_prototype_set_month,
  746. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG),
  747. @@ -2288,7 +2288,7 @@ static const njs_object_prop_t njs_date
  748. },
  749.  
  750. {
  751. - .type = NJS_METHOD,
  752. + .type = NJS_PROPERTY,
  753. .name = njs_string("setUTCMonth"),
  754. .value = njs_native_function(njs_date_prototype_set_utc_month,
  755. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG),
  756. @@ -2297,7 +2297,7 @@ static const njs_object_prop_t njs_date
  757. },
  758.  
  759. {
  760. - .type = NJS_METHOD,
  761. + .type = NJS_PROPERTY,
  762. .name = njs_string("setFullYear"),
  763. .value = njs_native_function(njs_date_prototype_set_full_year,
  764. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG,
  765. @@ -2307,7 +2307,7 @@ static const njs_object_prop_t njs_date
  766. },
  767.  
  768. {
  769. - .type = NJS_METHOD,
  770. + .type = NJS_PROPERTY,
  771. .name = njs_string("setUTCFullYear"),
  772. .value = njs_native_function(njs_date_prototype_set_utc_full_year,
  773. NJS_DATE_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG,
  774. @@ -2317,7 +2317,7 @@ static const njs_object_prop_t njs_date
  775. },
  776.  
  777. {
  778. - .type = NJS_METHOD,
  779. + .type = NJS_PROPERTY,
  780. .name = njs_string("toJSON"),
  781. .value = njs_native_function(njs_date_prototype_to_json, 0),
  782. .writable = 1,
  783. diff --git a/src/njs_error.c b/src/njs_error.c
  784. --- a/src/njs_error.c
  785. +++ b/src/njs_error.c
  786. @@ -711,7 +711,7 @@ static const njs_object_prop_t njs_erro
  787. },
  788.  
  789. {
  790. - .type = NJS_METHOD,
  791. + .type = NJS_PROPERTY,
  792. .name = njs_string("valueOf"),
  793. .value = njs_native_function(njs_error_prototype_value_of, 0),
  794. .writable = 1,
  795. @@ -719,7 +719,7 @@ static const njs_object_prop_t njs_erro
  796. },
  797.  
  798. {
  799. - .type = NJS_METHOD,
  800. + .type = NJS_PROPERTY,
  801. .name = njs_string("toString"),
  802. .value = njs_native_function(njs_error_prototype_to_string, 0),
  803. .writable = 1,
  804. @@ -793,7 +793,7 @@ static const njs_object_prop_t njs_inte
  805. },
  806.  
  807. {
  808. - .type = NJS_METHOD,
  809. + .type = NJS_PROPERTY,
  810. .name = njs_string("toString"),
  811. .value = njs_native_function(njs_internal_error_prototype_to_string, 0),
  812. .writable = 1,
  813. diff --git a/src/njs_fs.c b/src/njs_fs.c
  814. --- a/src/njs_fs.c
  815. +++ b/src/njs_fs.c
  816. @@ -1017,7 +1017,7 @@ static const njs_object_prop_t njs_fs_o
  817. },
  818.  
  819. {
  820. - .type = NJS_METHOD,
  821. + .type = NJS_PROPERTY,
  822. .name = njs_string("readFile"),
  823. .value = njs_native_function(njs_fs_read_file, 0),
  824. .writable = 1,
  825. @@ -1025,7 +1025,7 @@ static const njs_object_prop_t njs_fs_o
  826. },
  827.  
  828. {
  829. - .type = NJS_METHOD,
  830. + .type = NJS_PROPERTY,
  831. .name = njs_string("readFileSync"),
  832. .value = njs_native_function(njs_fs_read_file_sync, 0),
  833. .writable = 1,
  834. @@ -1033,7 +1033,7 @@ static const njs_object_prop_t njs_fs_o
  835. },
  836.  
  837. {
  838. - .type = NJS_METHOD,
  839. + .type = NJS_PROPERTY,
  840. .name = njs_string("appendFile"),
  841. .value = njs_native_function(njs_fs_append_file, 0),
  842. .writable = 1,
  843. @@ -1041,7 +1041,7 @@ static const njs_object_prop_t njs_fs_o
  844. },
  845.  
  846. {
  847. - .type = NJS_METHOD,
  848. + .type = NJS_PROPERTY,
  849. .name = njs_string("appendFileSync"),
  850. .value = njs_native_function(njs_fs_append_file_sync, 0),
  851. .writable = 1,
  852. @@ -1049,7 +1049,7 @@ static const njs_object_prop_t njs_fs_o
  853. },
  854.  
  855. {
  856. - .type = NJS_METHOD,
  857. + .type = NJS_PROPERTY,
  858. .name = njs_string("writeFile"),
  859. .value = njs_native_function(njs_fs_write_file, 0),
  860. .writable = 1,
  861. @@ -1057,7 +1057,7 @@ static const njs_object_prop_t njs_fs_o
  862. },
  863.  
  864. {
  865. - .type = NJS_METHOD,
  866. + .type = NJS_PROPERTY,
  867. .name = njs_string("writeFileSync"),
  868. .value = njs_native_function(njs_fs_write_file_sync, 0),
  869. .writable = 1,
  870. diff --git a/src/njs_function.c b/src/njs_function.c
  871. --- a/src/njs_function.c
  872. +++ b/src/njs_function.c
  873. @@ -1154,7 +1154,7 @@ static const njs_object_prop_t njs_func
  874. },
  875.  
  876. {
  877. - .type = NJS_METHOD,
  878. + .type = NJS_PROPERTY,
  879. .name = njs_string("call"),
  880. .value = njs_native_function(njs_function_prototype_call, 0),
  881. .writable = 1,
  882. @@ -1162,7 +1162,7 @@ static const njs_object_prop_t njs_func
  883. },
  884.  
  885. {
  886. - .type = NJS_METHOD,
  887. + .type = NJS_PROPERTY,
  888. .name = njs_string("apply"),
  889. .value = njs_native_function(njs_function_prototype_apply, 0),
  890. .writable = 1,
  891. @@ -1170,7 +1170,7 @@ static const njs_object_prop_t njs_func
  892. },
  893.  
  894. {
  895. - .type = NJS_METHOD,
  896. + .type = NJS_PROPERTY,
  897. .name = njs_string("bind"),
  898. .value = njs_native_function(njs_function_prototype_bind, 0),
  899. .writable = 1,
  900. diff --git a/src/njs_json.c b/src/njs_json.c
  901. --- a/src/njs_json.c
  902. +++ b/src/njs_json.c
  903. @@ -2082,7 +2082,7 @@ static const njs_object_prop_t njs_json
  904. {
  905. /* JSON.parse(). */
  906. {
  907. - .type = NJS_METHOD,
  908. + .type = NJS_PROPERTY,
  909. .name = njs_string("parse"),
  910. .value = njs_native_function(njs_json_parse,
  911. NJS_SKIP_ARG, NJS_STRING_ARG,
  912. @@ -2093,7 +2093,7 @@ static const njs_object_prop_t njs_json
  913.  
  914. /* JSON.stringify(). */
  915. {
  916. - .type = NJS_METHOD,
  917. + .type = NJS_PROPERTY,
  918. .name = njs_string("stringify"),
  919. .value = njs_native_function(njs_json_stringify,
  920. NJS_SKIP_ARG, NJS_SKIP_ARG, NJS_SKIP_ARG,
  921. diff --git a/src/njs_math.c b/src/njs_math.c
  922. --- a/src/njs_math.c
  923. +++ b/src/njs_math.c
  924. @@ -831,7 +831,7 @@ static const njs_object_prop_t njs_math
  925. },
  926.  
  927. {
  928. - .type = NJS_METHOD,
  929. + .type = NJS_PROPERTY,
  930. .name = njs_string("abs"),
  931. .value = njs_native_function(njs_object_math_abs,
  932. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  933. @@ -840,7 +840,7 @@ static const njs_object_prop_t njs_math
  934. },
  935.  
  936. {
  937. - .type = NJS_METHOD,
  938. + .type = NJS_PROPERTY,
  939. .name = njs_string("acos"),
  940. .value = njs_native_function(njs_object_math_acos,
  941. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  942. @@ -850,7 +850,7 @@ static const njs_object_prop_t njs_math
  943.  
  944. /* ES6. */
  945. {
  946. - .type = NJS_METHOD,
  947. + .type = NJS_PROPERTY,
  948. .name = njs_string("acosh"),
  949. .value = njs_native_function(njs_object_math_acosh,
  950. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  951. @@ -859,7 +859,7 @@ static const njs_object_prop_t njs_math
  952. },
  953.  
  954. {
  955. - .type = NJS_METHOD,
  956. + .type = NJS_PROPERTY,
  957. .name = njs_string("asin"),
  958. .value = njs_native_function(njs_object_math_asin,
  959. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  960. @@ -869,7 +869,7 @@ static const njs_object_prop_t njs_math
  961.  
  962. /* ES6. */
  963. {
  964. - .type = NJS_METHOD,
  965. + .type = NJS_PROPERTY,
  966. .name = njs_string("asinh"),
  967. .value = njs_native_function(njs_object_math_asinh,
  968. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  969. @@ -878,7 +878,7 @@ static const njs_object_prop_t njs_math
  970. },
  971.  
  972. {
  973. - .type = NJS_METHOD,
  974. + .type = NJS_PROPERTY,
  975. .name = njs_string("atan"),
  976. .value = njs_native_function(njs_object_math_atan,
  977. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  978. @@ -887,7 +887,7 @@ static const njs_object_prop_t njs_math
  979. },
  980.  
  981. {
  982. - .type = NJS_METHOD,
  983. + .type = NJS_PROPERTY,
  984. .name = njs_string("atan2"),
  985. .value = njs_native_function(njs_object_math_atan2,
  986. NJS_SKIP_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG),
  987. @@ -897,7 +897,7 @@ static const njs_object_prop_t njs_math
  988.  
  989. /* ES6. */
  990. {
  991. - .type = NJS_METHOD,
  992. + .type = NJS_PROPERTY,
  993. .name = njs_string("atanh"),
  994. .value = njs_native_function(njs_object_math_atanh,
  995. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  996. @@ -907,7 +907,7 @@ static const njs_object_prop_t njs_math
  997.  
  998. /* ES6. */
  999. {
  1000. - .type = NJS_METHOD,
  1001. + .type = NJS_PROPERTY,
  1002. .name = njs_string("cbrt"),
  1003. .value = njs_native_function(njs_object_math_cbrt,
  1004. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1005. @@ -916,7 +916,7 @@ static const njs_object_prop_t njs_math
  1006. },
  1007.  
  1008. {
  1009. - .type = NJS_METHOD,
  1010. + .type = NJS_PROPERTY,
  1011. .name = njs_string("ceil"),
  1012. .value = njs_native_function(njs_object_math_ceil,
  1013. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1014. @@ -926,7 +926,7 @@ static const njs_object_prop_t njs_math
  1015.  
  1016. /* ES6. */
  1017. {
  1018. - .type = NJS_METHOD,
  1019. + .type = NJS_PROPERTY,
  1020. .name = njs_string("clz32"),
  1021. .value = njs_native_function(njs_object_math_clz32,
  1022. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1023. @@ -935,7 +935,7 @@ static const njs_object_prop_t njs_math
  1024. },
  1025.  
  1026. {
  1027. - .type = NJS_METHOD,
  1028. + .type = NJS_PROPERTY,
  1029. .name = njs_string("cos"),
  1030. .value = njs_native_function(njs_object_math_cos,
  1031. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1032. @@ -945,7 +945,7 @@ static const njs_object_prop_t njs_math
  1033.  
  1034. /* ES6. */
  1035. {
  1036. - .type = NJS_METHOD,
  1037. + .type = NJS_PROPERTY,
  1038. .name = njs_string("cosh"),
  1039. .value = njs_native_function(njs_object_math_cosh,
  1040. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1041. @@ -954,7 +954,7 @@ static const njs_object_prop_t njs_math
  1042. },
  1043.  
  1044. {
  1045. - .type = NJS_METHOD,
  1046. + .type = NJS_PROPERTY,
  1047. .name = njs_string("exp"),
  1048. .value = njs_native_function(njs_object_math_exp,
  1049. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1050. @@ -964,7 +964,7 @@ static const njs_object_prop_t njs_math
  1051.  
  1052. /* ES6. */
  1053. {
  1054. - .type = NJS_METHOD,
  1055. + .type = NJS_PROPERTY,
  1056. .name = njs_string("expm1"),
  1057. .value = njs_native_function(njs_object_math_expm1,
  1058. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1059. @@ -973,7 +973,7 @@ static const njs_object_prop_t njs_math
  1060. },
  1061.  
  1062. {
  1063. - .type = NJS_METHOD,
  1064. + .type = NJS_PROPERTY,
  1065. .name = njs_string("floor"),
  1066. .value = njs_native_function(njs_object_math_floor,
  1067. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1068. @@ -983,7 +983,7 @@ static const njs_object_prop_t njs_math
  1069.  
  1070. /* ES6. */
  1071. {
  1072. - .type = NJS_METHOD,
  1073. + .type = NJS_PROPERTY,
  1074. .name = njs_string("fround"),
  1075. .value = njs_native_function(njs_object_math_fround,
  1076. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1077. @@ -993,7 +993,7 @@ static const njs_object_prop_t njs_math
  1078.  
  1079. /* ES6. */
  1080. {
  1081. - .type = NJS_METHOD,
  1082. + .type = NJS_PROPERTY,
  1083. .name = njs_string("hypot"),
  1084. .value = njs_native_function(njs_object_math_hypot, 0),
  1085. .writable = 1,
  1086. @@ -1002,7 +1002,7 @@ static const njs_object_prop_t njs_math
  1087.  
  1088. /* ES6. */
  1089. {
  1090. - .type = NJS_METHOD,
  1091. + .type = NJS_PROPERTY,
  1092. .name = njs_string("imul"),
  1093. .value = njs_native_function(njs_object_math_imul,
  1094. NJS_SKIP_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG),
  1095. @@ -1011,7 +1011,7 @@ static const njs_object_prop_t njs_math
  1096. },
  1097.  
  1098. {
  1099. - .type = NJS_METHOD,
  1100. + .type = NJS_PROPERTY,
  1101. .name = njs_string("log"),
  1102. .value = njs_native_function(njs_object_math_log,
  1103. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1104. @@ -1021,7 +1021,7 @@ static const njs_object_prop_t njs_math
  1105.  
  1106. /* ES6. */
  1107. {
  1108. - .type = NJS_METHOD,
  1109. + .type = NJS_PROPERTY,
  1110. .name = njs_string("log10"),
  1111. .value = njs_native_function(njs_object_math_log10,
  1112. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1113. @@ -1031,7 +1031,7 @@ static const njs_object_prop_t njs_math
  1114.  
  1115. /* ES6. */
  1116. {
  1117. - .type = NJS_METHOD,
  1118. + .type = NJS_PROPERTY,
  1119. .name = njs_string("log1p"),
  1120. .value = njs_native_function(njs_object_math_log1p,
  1121. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1122. @@ -1041,7 +1041,7 @@ static const njs_object_prop_t njs_math
  1123.  
  1124. /* ES6. */
  1125. {
  1126. - .type = NJS_METHOD,
  1127. + .type = NJS_PROPERTY,
  1128. .name = njs_string("log2"),
  1129. .value = njs_native_function(njs_object_math_log2,
  1130. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1131. @@ -1050,7 +1050,7 @@ static const njs_object_prop_t njs_math
  1132. },
  1133.  
  1134. {
  1135. - .type = NJS_METHOD,
  1136. + .type = NJS_PROPERTY,
  1137. .name = njs_string("max"),
  1138. .value = njs_native_function(njs_object_math_max, 0),
  1139. .writable = 1,
  1140. @@ -1058,7 +1058,7 @@ static const njs_object_prop_t njs_math
  1141. },
  1142.  
  1143. {
  1144. - .type = NJS_METHOD,
  1145. + .type = NJS_PROPERTY,
  1146. .name = njs_string("min"),
  1147. .value = njs_native_function(njs_object_math_min, 0),
  1148. .writable = 1,
  1149. @@ -1066,7 +1066,7 @@ static const njs_object_prop_t njs_math
  1150. },
  1151.  
  1152. {
  1153. - .type = NJS_METHOD,
  1154. + .type = NJS_PROPERTY,
  1155. .name = njs_string("pow"),
  1156. .value = njs_native_function(njs_object_math_pow,
  1157. NJS_SKIP_ARG, NJS_NUMBER_ARG, NJS_NUMBER_ARG),
  1158. @@ -1075,7 +1075,7 @@ static const njs_object_prop_t njs_math
  1159. },
  1160.  
  1161. {
  1162. - .type = NJS_METHOD,
  1163. + .type = NJS_PROPERTY,
  1164. .name = njs_string("random"),
  1165. .value = njs_native_function(njs_object_math_random, 0),
  1166. .writable = 1,
  1167. @@ -1083,7 +1083,7 @@ static const njs_object_prop_t njs_math
  1168. },
  1169.  
  1170. {
  1171. - .type = NJS_METHOD,
  1172. + .type = NJS_PROPERTY,
  1173. .name = njs_string("round"),
  1174. .value = njs_native_function(njs_object_math_round,
  1175. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1176. @@ -1093,7 +1093,7 @@ static const njs_object_prop_t njs_math
  1177.  
  1178. /* ES6. */
  1179. {
  1180. - .type = NJS_METHOD,
  1181. + .type = NJS_PROPERTY,
  1182. .name = njs_string("sign"),
  1183. .value = njs_native_function(njs_object_math_sign,
  1184. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1185. @@ -1102,7 +1102,7 @@ static const njs_object_prop_t njs_math
  1186. },
  1187.  
  1188. {
  1189. - .type = NJS_METHOD,
  1190. + .type = NJS_PROPERTY,
  1191. .name = njs_string("sin"),
  1192. .value = njs_native_function(njs_object_math_sin,
  1193. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1194. @@ -1112,7 +1112,7 @@ static const njs_object_prop_t njs_math
  1195.  
  1196. /* ES6. */
  1197. {
  1198. - .type = NJS_METHOD,
  1199. + .type = NJS_PROPERTY,
  1200. .name = njs_string("sinh"),
  1201. .value = njs_native_function(njs_object_math_sinh,
  1202. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1203. @@ -1121,7 +1121,7 @@ static const njs_object_prop_t njs_math
  1204. },
  1205.  
  1206. {
  1207. - .type = NJS_METHOD,
  1208. + .type = NJS_PROPERTY,
  1209. .name = njs_string("sqrt"),
  1210. .value = njs_native_function(njs_object_math_sqrt,
  1211. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1212. @@ -1130,7 +1130,7 @@ static const njs_object_prop_t njs_math
  1213. },
  1214.  
  1215. {
  1216. - .type = NJS_METHOD,
  1217. + .type = NJS_PROPERTY,
  1218. .name = njs_string("tan"),
  1219. .value = njs_native_function(njs_object_math_tan,
  1220. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1221. @@ -1140,7 +1140,7 @@ static const njs_object_prop_t njs_math
  1222.  
  1223. /* ES6. */
  1224. {
  1225. - .type = NJS_METHOD,
  1226. + .type = NJS_PROPERTY,
  1227. .name = njs_string("tanh"),
  1228. .value = njs_native_function(njs_object_math_tanh,
  1229. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1230. @@ -1150,7 +1150,7 @@ static const njs_object_prop_t njs_math
  1231.  
  1232. /* ES6. */
  1233. {
  1234. - .type = NJS_METHOD,
  1235. + .type = NJS_PROPERTY,
  1236. .name = njs_string("trunc"),
  1237. .value = njs_native_function(njs_object_math_trunc,
  1238. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1239. diff --git a/src/njs_number.c b/src/njs_number.c
  1240. --- a/src/njs_number.c
  1241. +++ b/src/njs_number.c
  1242. @@ -412,7 +412,7 @@ static const njs_object_prop_t njs_numb
  1243.  
  1244. /* ES6. */
  1245. {
  1246. - .type = NJS_METHOD,
  1247. + .type = NJS_PROPERTY,
  1248. .name = njs_string("isFinite"),
  1249. .value = njs_native_function(njs_number_is_finite, 0),
  1250. .writable = 1,
  1251. @@ -421,7 +421,7 @@ static const njs_object_prop_t njs_numb
  1252.  
  1253. /* ES6. */
  1254. {
  1255. - .type = NJS_METHOD,
  1256. + .type = NJS_PROPERTY,
  1257. .name = njs_string("isInteger"),
  1258. .value = njs_native_function(njs_number_is_integer, 0),
  1259. .writable = 1,
  1260. @@ -430,7 +430,7 @@ static const njs_object_prop_t njs_numb
  1261.  
  1262. /* ES6. */
  1263. {
  1264. - .type = NJS_METHOD,
  1265. + .type = NJS_PROPERTY,
  1266. .name = njs_string("isSafeInteger"),
  1267. .value = njs_native_function(njs_number_is_safe_integer, 0),
  1268. .writable = 1,
  1269. @@ -439,7 +439,7 @@ static const njs_object_prop_t njs_numb
  1270.  
  1271. /* ES6. */
  1272. {
  1273. - .type = NJS_METHOD,
  1274. + .type = NJS_PROPERTY,
  1275. .name = njs_string("isNaN"),
  1276. .value = njs_native_function(njs_number_is_nan, 0),
  1277. .writable = 1,
  1278. @@ -448,7 +448,7 @@ static const njs_object_prop_t njs_numb
  1279.  
  1280. /* ES6. */
  1281. {
  1282. - .type = NJS_METHOD,
  1283. + .type = NJS_PROPERTY,
  1284. .name = njs_string("parseFloat"),
  1285. .value = njs_native_function(njs_number_parse_float,
  1286. NJS_SKIP_ARG, NJS_STRING_ARG),
  1287. @@ -458,7 +458,7 @@ static const njs_object_prop_t njs_numb
  1288.  
  1289. /* ES6. */
  1290. {
  1291. - .type = NJS_METHOD,
  1292. + .type = NJS_PROPERTY,
  1293. .name = njs_string("parseInt"),
  1294. .value = njs_native_function(njs_number_parse_int,
  1295. NJS_SKIP_ARG, NJS_STRING_ARG, NJS_INTEGER_ARG),
  1296. @@ -626,7 +626,7 @@ static const njs_object_prop_t njs_numb
  1297. },
  1298.  
  1299. {
  1300. - .type = NJS_METHOD,
  1301. + .type = NJS_PROPERTY,
  1302. .name = njs_string("valueOf"),
  1303. .value = njs_native_function(njs_number_prototype_value_of, 0),
  1304. .writable = 1,
  1305. @@ -634,7 +634,7 @@ static const njs_object_prop_t njs_numb
  1306. },
  1307.  
  1308. {
  1309. - .type = NJS_METHOD,
  1310. + .type = NJS_PROPERTY,
  1311. .name = njs_string("toString"),
  1312. .value = njs_native_function(njs_number_prototype_to_string,
  1313. NJS_SKIP_ARG, NJS_NUMBER_ARG),
  1314. diff --git a/src/njs_object.c b/src/njs_object.c
  1315. --- a/src/njs_object.c
  1316. +++ b/src/njs_object.c
  1317. @@ -1672,7 +1672,7 @@ static const njs_object_prop_t njs_obje
  1318.  
  1319. /* Object.create(). */
  1320. {
  1321. - .type = NJS_METHOD,
  1322. + .type = NJS_PROPERTY,
  1323. .name = njs_string("create"),
  1324. .value = njs_native_function(njs_object_create, 0),
  1325. .writable = 1,
  1326. @@ -1681,7 +1681,7 @@ static const njs_object_prop_t njs_obje
  1327.  
  1328. /* Object.keys(). */
  1329. {
  1330. - .type = NJS_METHOD,
  1331. + .type = NJS_PROPERTY,
  1332. .name = njs_string("keys"),
  1333. .value = njs_native_function(njs_object_keys,
  1334. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1335. @@ -1691,7 +1691,7 @@ static const njs_object_prop_t njs_obje
  1336.  
  1337. /* ES8: Object.values(). */
  1338. {
  1339. - .type = NJS_METHOD,
  1340. + .type = NJS_PROPERTY,
  1341. .name = njs_string("values"),
  1342. .value = njs_native_function(njs_object_values,
  1343. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1344. @@ -1701,7 +1701,7 @@ static const njs_object_prop_t njs_obje
  1345.  
  1346. /* ES8: Object.entries(). */
  1347. {
  1348. - .type = NJS_METHOD,
  1349. + .type = NJS_PROPERTY,
  1350. .name = njs_string("entries"),
  1351. .value = njs_native_function(njs_object_entries,
  1352. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1353. @@ -1711,7 +1711,7 @@ static const njs_object_prop_t njs_obje
  1354.  
  1355. /* Object.defineProperty(). */
  1356. {
  1357. - .type = NJS_METHOD,
  1358. + .type = NJS_PROPERTY,
  1359. .name = njs_string("defineProperty"),
  1360. .value = njs_native_function(njs_object_define_property,
  1361. NJS_SKIP_ARG, NJS_OBJECT_ARG,
  1362. @@ -1722,7 +1722,7 @@ static const njs_object_prop_t njs_obje
  1363.  
  1364. /* Object.defineProperties(). */
  1365. {
  1366. - .type = NJS_METHOD,
  1367. + .type = NJS_PROPERTY,
  1368. .name = njs_long_string("defineProperties"),
  1369. .value = njs_native_function(njs_object_define_properties,
  1370. NJS_SKIP_ARG, NJS_OBJECT_ARG,
  1371. @@ -1733,7 +1733,7 @@ static const njs_object_prop_t njs_obje
  1372.  
  1373. /* Object.getOwnPropertyDescriptor(). */
  1374. {
  1375. - .type = NJS_METHOD,
  1376. + .type = NJS_PROPERTY,
  1377. .name = njs_long_string("getOwnPropertyDescriptor"),
  1378. .value = njs_native_function(njs_object_get_own_property_descriptor,
  1379. NJS_SKIP_ARG, NJS_SKIP_ARG,
  1380. @@ -1744,7 +1744,7 @@ static const njs_object_prop_t njs_obje
  1381.  
  1382. /* Object.getOwnPropertyDescriptors(). */
  1383. {
  1384. - .type = NJS_METHOD,
  1385. + .type = NJS_PROPERTY,
  1386. .name = njs_long_string("getOwnPropertyDescriptors"),
  1387. .value = njs_native_function(njs_object_get_own_property_descriptors,
  1388. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1389. @@ -1754,7 +1754,7 @@ static const njs_object_prop_t njs_obje
  1390.  
  1391. /* Object.getOwnPropertyNames(). */
  1392. {
  1393. - .type = NJS_METHOD,
  1394. + .type = NJS_PROPERTY,
  1395. .name = njs_long_string("getOwnPropertyNames"),
  1396. .value = njs_native_function(njs_object_get_own_property_names,
  1397. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1398. @@ -1764,7 +1764,7 @@ static const njs_object_prop_t njs_obje
  1399.  
  1400. /* Object.getPrototypeOf(). */
  1401. {
  1402. - .type = NJS_METHOD,
  1403. + .type = NJS_PROPERTY,
  1404. .name = njs_string("getPrototypeOf"),
  1405. .value = njs_native_function(njs_object_get_prototype_of,
  1406. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1407. @@ -1774,7 +1774,7 @@ static const njs_object_prop_t njs_obje
  1408.  
  1409. /* Object.freeze(). */
  1410. {
  1411. - .type = NJS_METHOD,
  1412. + .type = NJS_PROPERTY,
  1413. .name = njs_string("freeze"),
  1414. .value = njs_native_function(njs_object_freeze,
  1415. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1416. @@ -1784,7 +1784,7 @@ static const njs_object_prop_t njs_obje
  1417.  
  1418. /* Object.isFrozen(). */
  1419. {
  1420. - .type = NJS_METHOD,
  1421. + .type = NJS_PROPERTY,
  1422. .name = njs_string("isFrozen"),
  1423. .value = njs_native_function(njs_object_is_frozen,
  1424. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1425. @@ -1794,7 +1794,7 @@ static const njs_object_prop_t njs_obje
  1426.  
  1427. /* Object.seal(). */
  1428. {
  1429. - .type = NJS_METHOD,
  1430. + .type = NJS_PROPERTY,
  1431. .name = njs_string("seal"),
  1432. .value = njs_native_function(njs_object_seal,
  1433. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1434. @@ -1804,7 +1804,7 @@ static const njs_object_prop_t njs_obje
  1435.  
  1436. /* Object.isSealed(). */
  1437. {
  1438. - .type = NJS_METHOD,
  1439. + .type = NJS_PROPERTY,
  1440. .name = njs_string("isSealed"),
  1441. .value = njs_native_function(njs_object_is_sealed,
  1442. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1443. @@ -1814,7 +1814,7 @@ static const njs_object_prop_t njs_obje
  1444.  
  1445. /* Object.preventExtensions(). */
  1446. {
  1447. - .type = NJS_METHOD,
  1448. + .type = NJS_PROPERTY,
  1449. .name = njs_long_string("preventExtensions"),
  1450. .value = njs_native_function(njs_object_prevent_extensions,
  1451. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1452. @@ -1824,7 +1824,7 @@ static const njs_object_prop_t njs_obje
  1453.  
  1454. /* Object.isExtensible(). */
  1455. {
  1456. - .type = NJS_METHOD,
  1457. + .type = NJS_PROPERTY,
  1458. .name = njs_string("isExtensible"),
  1459. .value = njs_native_function(njs_object_is_extensible,
  1460. NJS_SKIP_ARG, NJS_OBJECT_ARG),
  1461. @@ -2243,7 +2243,7 @@ static const njs_object_prop_t njs_obje
  1462. },
  1463.  
  1464. {
  1465. - .type = NJS_METHOD,
  1466. + .type = NJS_PROPERTY,
  1467. .name = njs_string("valueOf"),
  1468. .value = njs_native_function(njs_object_prototype_value_of, 0),
  1469. .writable = 1,
  1470. @@ -2251,7 +2251,7 @@ static const njs_object_prop_t njs_obje
  1471. },
  1472.  
  1473. {
  1474. - .type = NJS_METHOD,
  1475. + .type = NJS_PROPERTY,
  1476. .name = njs_string("toString"),
  1477. .value = njs_native_function(njs_object_prototype_to_string, 0),
  1478. .writable = 1,
  1479. @@ -2259,7 +2259,7 @@ static const njs_object_prop_t njs_obje
  1480. },
  1481.  
  1482. {
  1483. - .type = NJS_METHOD,
  1484. + .type = NJS_PROPERTY,
  1485. .name = njs_string("hasOwnProperty"),
  1486. .value = njs_native_function(njs_object_prototype_has_own_property,
  1487. NJS_OBJECT_ARG, NJS_STRING_ARG),
  1488. @@ -2268,7 +2268,7 @@ static const njs_object_prop_t njs_obje
  1489. },
  1490.  
  1491. {
  1492. - .type = NJS_METHOD,
  1493. + .type = NJS_PROPERTY,
  1494. .name = njs_long_string("propertyIsEnumerable"),
  1495. .value = njs_native_function(njs_object_prototype_prop_is_enumerable,
  1496. NJS_OBJECT_ARG, NJS_STRING_ARG),
  1497. @@ -2277,7 +2277,7 @@ static const njs_object_prop_t njs_obje
  1498. },
  1499.  
  1500. {
  1501. - .type = NJS_METHOD,
  1502. + .type = NJS_PROPERTY,
  1503. .name = njs_string("isPrototypeOf"),
  1504. .value = njs_native_function(njs_object_prototype_is_prototype_of,
  1505. NJS_OBJECT_ARG, NJS_OBJECT_ARG),
  1506. diff --git a/src/njs_object_prop.c b/src/njs_object_prop.c
  1507. --- a/src/njs_object_prop.c
  1508. +++ b/src/njs_object_prop.c
  1509. @@ -159,7 +159,6 @@ njs_object_prop_define(njs_vm_t *vm, njs
  1510. prev = pq.lhq.value;
  1511.  
  1512. switch (prev->type) {
  1513. - case NJS_METHOD:
  1514. case NJS_PROPERTY:
  1515. case NJS_PROPERTY_HANDLER:
  1516. break;
  1517. @@ -450,7 +449,6 @@ njs_object_prop_descriptor(njs_vm_t *vm,
  1518. prop = pq.lhq.value;
  1519.  
  1520. switch (prop->type) {
  1521. - case NJS_METHOD:
  1522. case NJS_PROPERTY:
  1523. break;
  1524.  
  1525. @@ -602,9 +600,6 @@ njs_prop_type_string(njs_object_prop_typ
  1526. case NJS_PROPERTY_REF:
  1527. return "property_ref";
  1528.  
  1529. - case NJS_METHOD:
  1530. - return "method";
  1531. -
  1532. case NJS_PROPERTY_HANDLER:
  1533. return "property handler";
  1534.  
  1535. diff --git a/src/njs_regexp.c b/src/njs_regexp.c
  1536. --- a/src/njs_regexp.c
  1537. +++ b/src/njs_regexp.c
  1538. @@ -1200,7 +1200,7 @@ static const njs_object_prop_t njs_rege
  1539. },
  1540.  
  1541. {
  1542. - .type = NJS_METHOD,
  1543. + .type = NJS_PROPERTY,
  1544. .name = njs_string("toString"),
  1545. .value = njs_native_function(njs_regexp_prototype_to_string, 0),
  1546. .writable = 1,
  1547. @@ -1208,7 +1208,7 @@ static const njs_object_prop_t njs_rege
  1548. },
  1549.  
  1550. {
  1551. - .type = NJS_METHOD,
  1552. + .type = NJS_PROPERTY,
  1553. .name = njs_string("test"),
  1554. .value = njs_native_function(njs_regexp_prototype_test,
  1555. NJS_OBJECT_ARG, NJS_STRING_ARG),
  1556. @@ -1217,7 +1217,7 @@ static const njs_object_prop_t njs_rege
  1557. },
  1558.  
  1559. {
  1560. - .type = NJS_METHOD,
  1561. + .type = NJS_PROPERTY,
  1562. .name = njs_string("exec"),
  1563. .value = njs_native_function(njs_regexp_prototype_exec,
  1564. NJS_OBJECT_ARG, NJS_STRING_ARG),
  1565. diff --git a/src/njs_string.c b/src/njs_string.c
  1566. --- a/src/njs_string.c
  1567. +++ b/src/njs_string.c
  1568. @@ -593,7 +593,7 @@ static const njs_object_prop_t njs_stri
  1569.  
  1570. /* String.bytesFrom(). */
  1571. {
  1572. - .type = NJS_METHOD,
  1573. + .type = NJS_PROPERTY,
  1574. .name = njs_string("bytesFrom"),
  1575. .value = njs_native_function(njs_string_bytes_from, NJS_SKIP_ARG,
  1576. NJS_SKIP_ARG, NJS_STRING_ARG),
  1577. @@ -603,7 +603,7 @@ static const njs_object_prop_t njs_stri
  1578.  
  1579. /* String.fromCharCode(). */
  1580. {
  1581. - .type = NJS_METHOD,
  1582. + .type = NJS_PROPERTY,
  1583. .name = njs_string("fromCharCode"),
  1584. .value = njs_native_function(njs_string_from_char_code, 0),
  1585. .writable = 1,
  1586. @@ -612,7 +612,7 @@ static const njs_object_prop_t njs_stri
  1587.  
  1588. /* String.fromCodePoint(), ECMAScript 6. */
  1589. {
  1590. - .type = NJS_METHOD,
  1591. + .type = NJS_PROPERTY,
  1592. .name = njs_string("fromCodePoint"),
  1593. .value = njs_native_function(njs_string_from_code_point, 0),
  1594. .writable = 1,
  1595. @@ -4041,7 +4041,7 @@ static const njs_object_prop_t njs_stri
  1596. },
  1597.  
  1598. {
  1599. - .type = NJS_METHOD,
  1600. + .type = NJS_PROPERTY,
  1601. .name = njs_string("valueOf"),
  1602. .value = njs_native_function(njs_string_prototype_value_of, 0),
  1603. .writable = 1,
  1604. @@ -4049,7 +4049,7 @@ static const njs_object_prop_t njs_stri
  1605. },
  1606.  
  1607. {
  1608. - .type = NJS_METHOD,
  1609. + .type = NJS_PROPERTY,
  1610. .name = njs_string("toString"),
  1611. .value = njs_native_function(njs_string_prototype_to_string, 0),
  1612. .writable = 1,
  1613. @@ -4057,7 +4057,7 @@ static const njs_object_prop_t njs_stri
  1614. },
  1615.  
  1616. {
  1617. - .type = NJS_METHOD,
  1618. + .type = NJS_PROPERTY,
  1619. .name = njs_string("concat"),
  1620. .value = njs_native_function(njs_string_prototype_concat, 0),
  1621. .writable = 1,
  1622. @@ -4065,7 +4065,7 @@ static const njs_object_prop_t njs_stri
  1623. },
  1624.  
  1625. {
  1626. - .type = NJS_METHOD,
  1627. + .type = NJS_PROPERTY,
  1628. .name = njs_string("fromUTF8"),
  1629. .value = njs_native_function(njs_string_prototype_from_utf8,
  1630. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  1631. @@ -4074,7 +4074,7 @@ static const njs_object_prop_t njs_stri
  1632. },
  1633.  
  1634. {
  1635. - .type = NJS_METHOD,
  1636. + .type = NJS_PROPERTY,
  1637. .name = njs_string("toUTF8"),
  1638. .value = njs_native_function(njs_string_prototype_to_utf8,
  1639. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  1640. @@ -4083,7 +4083,7 @@ static const njs_object_prop_t njs_stri
  1641. },
  1642.  
  1643. {
  1644. - .type = NJS_METHOD,
  1645. + .type = NJS_PROPERTY,
  1646. .name = njs_string("fromBytes"),
  1647. .value = njs_native_function(njs_string_prototype_from_bytes,
  1648. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  1649. @@ -4092,7 +4092,7 @@ static const njs_object_prop_t njs_stri
  1650. },
  1651.  
  1652. {
  1653. - .type = NJS_METHOD,
  1654. + .type = NJS_PROPERTY,
  1655. .name = njs_string("toBytes"),
  1656. .value = njs_native_function(njs_string_prototype_to_bytes,
  1657. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  1658. @@ -4101,7 +4101,7 @@ static const njs_object_prop_t njs_stri
  1659. },
  1660.  
  1661. {
  1662. - .type = NJS_METHOD,
  1663. + .type = NJS_PROPERTY,
  1664. .name = njs_string("slice"),
  1665. .value = njs_native_function(njs_string_prototype_slice,
  1666. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  1667. @@ -4110,7 +4110,7 @@ static const njs_object_prop_t njs_stri
  1668. },
  1669.  
  1670. {
  1671. - .type = NJS_METHOD,
  1672. + .type = NJS_PROPERTY,
  1673. .name = njs_string("substring"),
  1674. .value = njs_native_function(njs_string_prototype_substring,
  1675. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  1676. @@ -4119,7 +4119,7 @@ static const njs_object_prop_t njs_stri
  1677. },
  1678.  
  1679. {
  1680. - .type = NJS_METHOD,
  1681. + .type = NJS_PROPERTY,
  1682. .name = njs_string("substr"),
  1683. .value = njs_native_function(njs_string_prototype_substr,
  1684. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_INTEGER_ARG),
  1685. @@ -4128,7 +4128,7 @@ static const njs_object_prop_t njs_stri
  1686. },
  1687.  
  1688. {
  1689. - .type = NJS_METHOD,
  1690. + .type = NJS_PROPERTY,
  1691. .name = njs_string("charAt"),
  1692. .value = njs_native_function(njs_string_prototype_char_at,
  1693. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG),
  1694. @@ -4137,7 +4137,7 @@ static const njs_object_prop_t njs_stri
  1695. },
  1696.  
  1697. {
  1698. - .type = NJS_METHOD,
  1699. + .type = NJS_PROPERTY,
  1700. .name = njs_string("charCodeAt"),
  1701. .value = njs_native_function(njs_string_prototype_char_code_at,
  1702. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG),
  1703. @@ -4147,7 +4147,7 @@ static const njs_object_prop_t njs_stri
  1704.  
  1705. /* String.codePointAt(), ECMAScript 6. */
  1706. {
  1707. - .type = NJS_METHOD,
  1708. + .type = NJS_PROPERTY,
  1709. .name = njs_string("codePointAt"),
  1710. .value = njs_native_function(njs_string_prototype_char_code_at,
  1711. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG),
  1712. @@ -4156,7 +4156,7 @@ static const njs_object_prop_t njs_stri
  1713. },
  1714.  
  1715. {
  1716. - .type = NJS_METHOD,
  1717. + .type = NJS_PROPERTY,
  1718. .name = njs_string("indexOf"),
  1719. .value = njs_native_function(njs_string_prototype_index_of,
  1720. NJS_STRING_OBJECT_ARG, NJS_STRING_ARG, NJS_INTEGER_ARG),
  1721. @@ -4165,7 +4165,7 @@ static const njs_object_prop_t njs_stri
  1722. },
  1723.  
  1724. {
  1725. - .type = NJS_METHOD,
  1726. + .type = NJS_PROPERTY,
  1727. .name = njs_string("lastIndexOf"),
  1728. .value = njs_native_function(njs_string_prototype_last_index_of,
  1729. NJS_STRING_OBJECT_ARG, NJS_STRING_ARG, NJS_NUMBER_ARG),
  1730. @@ -4175,7 +4175,7 @@ static const njs_object_prop_t njs_stri
  1731.  
  1732. /* ES6. */
  1733. {
  1734. - .type = NJS_METHOD,
  1735. + .type = NJS_PROPERTY,
  1736. .name = njs_string("includes"),
  1737. .value = njs_native_function(njs_string_prototype_includes,
  1738. NJS_STRING_OBJECT_ARG, NJS_STRING_ARG, NJS_INTEGER_ARG),
  1739. @@ -4185,7 +4185,7 @@ static const njs_object_prop_t njs_stri
  1740.  
  1741. /* ES6. */
  1742. {
  1743. - .type = NJS_METHOD,
  1744. + .type = NJS_PROPERTY,
  1745. .name = njs_string("startsWith"),
  1746. .value = njs_native_function(njs_string_prototype_starts_with,
  1747. NJS_STRING_OBJECT_ARG, NJS_STRING_ARG, NJS_INTEGER_ARG),
  1748. @@ -4195,7 +4195,7 @@ static const njs_object_prop_t njs_stri
  1749.  
  1750. /* ES6. */
  1751. {
  1752. - .type = NJS_METHOD,
  1753. + .type = NJS_PROPERTY,
  1754. .name = njs_string("endsWith"),
  1755. .value = njs_native_function(njs_string_prototype_ends_with,
  1756. NJS_STRING_OBJECT_ARG, NJS_STRING_ARG, NJS_INTEGER_ARG),
  1757. @@ -4204,7 +4204,7 @@ static const njs_object_prop_t njs_stri
  1758. },
  1759.  
  1760. {
  1761. - .type = NJS_METHOD,
  1762. + .type = NJS_PROPERTY,
  1763. .name = njs_string("toLowerCase"),
  1764. .value = njs_native_function(njs_string_prototype_to_lower_case,
  1765. NJS_STRING_OBJECT_ARG),
  1766. @@ -4213,7 +4213,7 @@ static const njs_object_prop_t njs_stri
  1767. },
  1768.  
  1769. {
  1770. - .type = NJS_METHOD,
  1771. + .type = NJS_PROPERTY,
  1772. .name = njs_string("toUpperCase"),
  1773. .value = njs_native_function(njs_string_prototype_to_upper_case,
  1774. NJS_STRING_OBJECT_ARG),
  1775. @@ -4222,7 +4222,7 @@ static const njs_object_prop_t njs_stri
  1776. },
  1777.  
  1778. {
  1779. - .type = NJS_METHOD,
  1780. + .type = NJS_PROPERTY,
  1781. .name = njs_string("trim"),
  1782. .value = njs_native_function(njs_string_prototype_trim,
  1783. NJS_STRING_OBJECT_ARG),
  1784. @@ -4232,7 +4232,7 @@ static const njs_object_prop_t njs_stri
  1785.  
  1786. /* ES10. */
  1787. {
  1788. - .type = NJS_METHOD,
  1789. + .type = NJS_PROPERTY,
  1790. .name = njs_string("trimStart"),
  1791. .value = njs_native_function(njs_string_prototype_trim_start,
  1792. NJS_STRING_OBJECT_ARG),
  1793. @@ -4242,7 +4242,7 @@ static const njs_object_prop_t njs_stri
  1794.  
  1795. /* ES10. */
  1796. {
  1797. - .type = NJS_METHOD,
  1798. + .type = NJS_PROPERTY,
  1799. .name = njs_string("trimEnd"),
  1800. .value = njs_native_function(njs_string_prototype_trim_end,
  1801. NJS_STRING_OBJECT_ARG),
  1802. @@ -4252,7 +4252,7 @@ static const njs_object_prop_t njs_stri
  1803.  
  1804. /* ES6. */
  1805. {
  1806. - .type = NJS_METHOD,
  1807. + .type = NJS_PROPERTY,
  1808. .name = njs_string("repeat"),
  1809. .value = njs_native_function(njs_string_prototype_repeat,
  1810. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG),
  1811. @@ -4262,7 +4262,7 @@ static const njs_object_prop_t njs_stri
  1812.  
  1813. /* ES8. */
  1814. {
  1815. - .type = NJS_METHOD,
  1816. + .type = NJS_PROPERTY,
  1817. .name = njs_string("padStart"),
  1818. .value = njs_native_function(njs_string_prototype_pad_start,
  1819. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_STRING_ARG),
  1820. @@ -4272,7 +4272,7 @@ static const njs_object_prop_t njs_stri
  1821.  
  1822. /* ES8. */
  1823. {
  1824. - .type = NJS_METHOD,
  1825. + .type = NJS_PROPERTY,
  1826. .name = njs_string("padEnd"),
  1827. .value = njs_native_function(njs_string_prototype_pad_end,
  1828. NJS_STRING_OBJECT_ARG, NJS_INTEGER_ARG, NJS_STRING_ARG),
  1829. @@ -4281,7 +4281,7 @@ static const njs_object_prop_t njs_stri
  1830. },
  1831.  
  1832. {
  1833. - .type = NJS_METHOD,
  1834. + .type = NJS_PROPERTY,
  1835. .name = njs_string("search"),
  1836. .value = njs_native_function(njs_string_prototype_search,
  1837. NJS_STRING_OBJECT_ARG, NJS_REGEXP_ARG),
  1838. @@ -4290,7 +4290,7 @@ static const njs_object_prop_t njs_stri
  1839. },
  1840.  
  1841. {
  1842. - .type = NJS_METHOD,
  1843. + .type = NJS_PROPERTY,
  1844. .name = njs_string("match"),
  1845. .value = njs_native_function(njs_string_prototype_match,
  1846. NJS_STRING_OBJECT_ARG, NJS_REGEXP_ARG),
  1847. @@ -4299,7 +4299,7 @@ static const njs_object_prop_t njs_stri
  1848. },
  1849.  
  1850. {
  1851. - .type = NJS_METHOD,
  1852. + .type = NJS_PROPERTY,
  1853. .name = njs_string("split"),
  1854. .value = njs_native_function(njs_string_prototype_split,
  1855. NJS_STRING_OBJECT_ARG, NJS_REGEXP_ARG, NJS_INTEGER_ARG),
  1856. @@ -4308,7 +4308,7 @@ static const njs_object_prop_t njs_stri
  1857. },
  1858.  
  1859. {
  1860. - .type = NJS_METHOD,
  1861. + .type = NJS_PROPERTY,
  1862. .name = njs_string("replace"),
  1863. .value = njs_native_function(njs_string_prototype_replace,
  1864. NJS_STRING_OBJECT_ARG, NJS_REGEXP_ARG, NJS_FUNCTION_ARG),
  1865. diff --git a/src/njs_value.c b/src/njs_value.c
  1866. --- a/src/njs_value.c
  1867. +++ b/src/njs_value.c
  1868. @@ -474,9 +474,9 @@ njs_value_is_function(const njs_value_t
  1869. * NJS_OK property has been found in object,
  1870. * retval of type njs_object_prop_t * is in pq->lhq.value.
  1871. * in NJS_PROPERTY_QUERY_GET
  1872. - * prop->type is NJS_PROPERTY, NJS_METHOD or NJS_PROPERTY_HANDLER.
  1873. + * prop->type is NJS_PROPERTY or NJS_PROPERTY_HANDLER.
  1874. * in NJS_PROPERTY_QUERY_SET, NJS_PROPERTY_QUERY_DELETE
  1875. - * prop->type is NJS_PROPERTY, NJS_PROPERTY_REF, NJS_METHOD or
  1876. + * prop->type is NJS_PROPERTY, NJS_PROPERTY_REF or
  1877. * NJS_PROPERTY_HANDLER.
  1878. * NJS_DECLINED property was not found in object,
  1879. * if pq->lhq.value != NULL it contains retval of type
  1880. @@ -1008,7 +1008,6 @@ njs_value_property(njs_vm_t *vm, njs_val
  1881.  
  1882. switch (prop->type) {
  1883.  
  1884. - case NJS_METHOD:
  1885. case NJS_PROPERTY:
  1886. if (njs_is_data_descriptor(prop)) {
  1887. *retval = prop->value;
  1888. @@ -1117,7 +1116,6 @@ njs_value_property_set(njs_vm_t *vm, njs
  1889. if (pq.own) {
  1890. switch (prop->type) {
  1891. case NJS_PROPERTY:
  1892. - case NJS_METHOD:
  1893. goto found;
  1894.  
  1895. case NJS_PROPERTY_REF:
  1896. diff --git a/src/njs_value.h b/src/njs_value.h
  1897. --- a/src/njs_value.h
  1898. +++ b/src/njs_value.h
  1899. @@ -301,7 +301,6 @@ typedef enum {
  1900. typedef enum {
  1901. NJS_PROPERTY = 0,
  1902. NJS_PROPERTY_REF,
  1903. - NJS_METHOD,
  1904. NJS_PROPERTY_HANDLER,
  1905. NJS_WHITEOUT,
  1906. } njs_object_prop_type_t;
  1907. diff --git a/src/njs_vmcode.c b/src/njs_vmcode.c
  1908. --- a/src/njs_vmcode.c
  1909. +++ b/src/njs_vmcode.c
  1910. @@ -1256,7 +1256,6 @@ njs_vmcode_property_delete(njs_vm_t *vm,
  1911. /* Fall through. */
  1912.  
  1913. case NJS_PROPERTY:
  1914. - case NJS_METHOD:
  1915. break;
  1916.  
  1917. case NJS_PROPERTY_REF:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement