src-d / style-analyzer

Lookout Style Analyzer: fixing code formatting and typos during code reviews
GNU Affero General Public License v3.0
32 stars 21 forks source link

Suspicious results of `eval` & `rule_stat` #226

Closed EgorBu closed 5 years ago

EgorBu commented 6 years ago

Hi, I checked quality with current master using eval and quality drop is significant:

```console egor@egor-sourced:~/workspace/style-analyzer$ python3 -m lookout.style.format eval -i "/home/egor/workspace/tmp/freeCodeCamp_no_min.js/**/*" -m /tmp/home/egor/workspace/tmp/freeCodeCamp_no_min.js/style.format.analyzer.FormatAnalyzer_1.asdf -n 10 /usr/local/lib/python3.5/dist-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release. from numpy.core.umath_tests import inner1d INFO:6da6:code-format:Reading /tmp/home/egor/workspace/tmp/freeCodeCamp_no_min.js/style.format.analyzer.FormatAnalyzer_1.asdf... DEBUG:Rules:compiling 235 rules Model parameters: {'n_iter': 5, 'n_jobs': -1, 'feature_extractor': {'parents_depth': 2, 'debug_parsing': False, 'left_siblings_window': 5, 'node_features': ['start_line', 'start_col'], 'right_features': ['length', 'internal_type', 'reserved', 'roles'], 'left_features': ['length', 'diff_offset', 'diff_col', 'diff_line', 'internal_type', 'label', 'reserved', 'roles'], 'no_labels_on_right': True, 'select_features_number': 500, 'selected_features': array([ 0, 1, 2, 3, 5, 6, 7, 10, 40, 77, 133, 167, 169, 171, 177, 181, 190, 194, 198, 200, 206, 207, 212, 213, 224, 231, 235, 247, 252, 255, 258, 280, 289, 299, 301, 304, 305, 313, 323, 340, 345, 346, 348, 352, 353, 361, 364, 366, 367, 368, 378, 379, 380, 382, 383, 384, 387, 388, 402, 454, 510, 544, 546, 548, 552, 554, 555, 567, 571, 575, 580, 583, 589, 590, 608, 612, 624, 629, 630, 632, 633, 635, 682, 723, 725, 729, 730, 734, 738, 741, 743, 744, 745, 751, 752, 755, 756, 757, 759, 760, 761, 764, 765, 779, 831, 887, 921, 925, 929, 931, 944, 952, 954, 957, 960, 961, 966, 967, 978, 985, 989, 1001, 1006, 1007, 1009, 1012, 1053, 1067, 1077, 1094, 1099, 1106, 1107, 1111, 1115, 1120, 1121, 1122, 1128, 1132, 1133, 1134, 1136, 1137, 1138, 1141, 1156, 1171, 1208, 1264, 1298, 1300, 1302, 1306, 1308, 1309, 1312, 1321, 1325, 1329, 1331, 1337, 1343, 1344, 1348, 1355, 1362, 1366, 1378, 1383, 1384, 1386, 1389, 1411, 1430, 1436, 1471, 1477, 1479, 1483, 1484, 1488, 1492, 1495, 1497, 1498, 1499, 1509, 1511, 1513, 1514, 1515, 1518, 1519, 1585, 1641, 1675, 1685, 1686, 1702, 1706, 1708, 1714, 1720, 1721, 1732, 1743, 1760, 1761, 1763, 1766, 1788, 1807, 1821, 1823, 1831, 1853, 1856, 1860, 1861, 1865, 1869, 1874, 1875, 1876, 1882, 1886, 1887, 1900, 1952, 1989, 2008, 2040, 2041, 2043, 2056, 2065, 2079, 2084, 2086, 2089, 2090, 2098, 2108, 2123, 2131, 2133, 2137, 2141, 2142, 2146, 2149, 2151, 2152, 2154, 2166, 2168, 2170, 2174, 2176, 2177, 2189, 2193, 2197, 2199, 2202, 2205, 2206, 2211, 2212, 2216, 2220, 2223, 2230, 2234, 2246, 2251, 2279, 2316, 2353, 2372, 2404, 2407, 2429, 2448, 2450, 2453, 2454, 2462, 2464, 2468, 2487, 2494, 2497, 2501, 2502, 2506, 2510, 2513, 2515, 2516, 2526, 2530, 2532, 2534, 2538, 2540, 2541, 2544, 2553, 2557, 2561, 2562, 2563, 2566, 2569, 2570, 2575, 2576, 2580, 2584, 2587, 2594, 2598, 2610, 2615, 2643, 2680, 2736, 2768, 2771, 2793, 2812, 2817, 2818, 2826, 2836, 2851, 2861, 2865, 2866, 2874, 2879, 2880, 2902, 2908, 2909, 2917, 2921, 2925, 2933, 2934, 2939, 2940, 2944, 2951, 2962, 2974, 2979, 3007, 3100, 3132, 3135, 3176, 3182, 3200, 3229, 3230, 3238, 3244, 3272, 3285, 3291, 3303, 3308, 3315, 3322, 3326, 3464, 3499, 3540, 3545, 3602, 3622, 3632, 3645, 3649, 3655, 3661, 3667, 3668, 3672, 3679, 3690, 3708, 3711, 3712, 3713, 3716, 3718, 3723, 3735, 3762, 3766, 3767, 3772, 3774, 3798, 3799, 3809, 3812, 3820, 3852, 3858, 3859, 3861, 3862, 3863, 3865, 3867, 3868, 3869, 3871, 3872, 3876, 3878, 3884, 3885, 3888, 3891, 3892, 3893, 3894, 3895, 3897, 3901, 3905, 3906, 3907, 3908, 3916, 3917, 3921, 3923, 3927, 3928, 3942, 3947, 3950, 3955, 3957, 3962, 3998, 4000, 4001, 4005, 4006, 4037, 4038, 4048, 4050, 4059, 4063, 4077, 4090, 4091, 4097, 4098, 4100, 4101, 4102, 4106, 4107, 4108, 4110, 4111, 4115, 4117, 4123, 4124, 4127, 4131, 4132, 4134, 4136, 4140, 4144, 4145, 4146, 4147, 4155, 4160, 4163, 4164, 4166, 4167, 4173, 4180, 4181, 4182]), 'insert_noops': False, 'remove_constant_features': True, 'right_siblings_window': 5, 'parent_features': ['internal_type', 'roles'], 'return_sibling_indices': False}, 'trainable_rules': {'n_estimators': 10, 'min_samples_split': 11, 'uncertain_attributes': True, 'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'min_samples_leaf': 16, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'top_down_greedy_budget': [False, 0.5], 'max_features': 'auto', 'prune_attributes': False, 'random_state': 42}, 'lower_bound_instances': 500, 'lin443it [00:03, 116.11it/s] DEBUG:FeaturesExtractor:Features shape: (48341, 500) DEBUG:Rules:predicting 48341 samples using 235 rules Stats about rules: 235 rules, avg.len. 15.5 Number of files: 177 Classification report: precision recall f1-score support 0.59 0.83 0.69 17300 0.50 0.38 0.43 13415 <+space> 0.70 0.59 0.64 5861 <-space> 0.78 1.00 0.88 5861 ' 0.58 0.14 0.22 5688 " 0.00 0.00 0.00 216 avg / total 0.60 0.61 0.57 48341 Confusion matrix: [[14315 1784 1076 0 125 0] [ 6802 5074 281 1088 170 0] [ 1114 538 3451 540 218 0] [ 0 20 0 5841 0 0] [ 2110 2686 116 6 770 0] [ 68 112 1 0 35 0]] Files with most errors: ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/models/user.js', 1274) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/utils/user-stats.test.js', 873) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/gulpfile.js', 811) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/public/js/lib/loop-protect/loop-protect.js', 624) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/challenge.js', 520) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/certificate.js', 474) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/public/js/calculator.js', 470) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/app/Map/redux/utils.test.js', 426) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/app/entities/index.js', 386) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/randomAPIs.js', 384) ```

and stats about used rules

```console egor@egor-sourced:~/workspace/style-analyzer$ python3 -m lookout.style.format rule -i "/home/egor/workspace/tmp/freeCodeCamp_no_min.js/**/*" -m /tmp/home/egor/workspace/tmp/freeCodeCamp_no_min.js/style.format.analyzer.FormatAnalyzer_1.asdf /usr/local/lib/python3.5/dist-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release. from numpy.core.umath_tests import inner1d INFO:a931:code-format:Reading /tmp/home/egor/workspace/tmp/freeCodeCamp_no_min.js/style.format.analyzer.FormatAnalyzer_1.asdf... DEBUG:Rules:compiling 235 rules Model parameters: {'lower_bound_instances': 500, 'n_jobs': -1, 'feature_extractor': {'node_features': ['start_line', 'start_col'], 'remove_constant_features': True, 'right_siblings_window': 5, 'parents_depth': 2, 'parent_features': ['internal_type', 'roles'], 'no_labels_on_right': True, 'selected_features': array([ 0, 1, 2, 3, 5, 6, 7, 10, 40, 77, 133, 167, 169, 171, 177, 181, 190, 194, 198, 200, 206, 207, 212, 213, 224, 231, 235, 247, 252, 255, 258, 280, 289, 299, 301, 304, 305, 313, 323, 340, 345, 346, 348, 352, 353, 361, 364, 366, 367, 368, 378, 379, 380, 382, 383, 384, 387, 388, 402, 454, 510, 544, 546, 548, 552, 554, 555, 567, 571, 575, 580, 583, 589, 590, 608, 612, 624, 629, 630, 632, 633, 635, 682, 723, 725, 729, 730, 734, 738, 741, 743, 744, 745, 751, 752, 755, 756, 757, 759, 760, 761, 764, 765, 779, 831, 887, 921, 925, 929, 931, 944, 952, 954, 957, 960, 961, 966, 967, 978, 985, 989, 1001, 1006, 1007, 1009, 1012, 1053, 1067, 1077, 1094, 1099, 1106, 1107, 1111, 1115, 1120, 1121, 1122, 1128, 1132, 1133, 1134, 1136, 1137, 1138, 1141, 1156, 1171, 1208, 1264, 1298, 1300, 1302, 1306, 1308, 1309, 1312, 1321, 1325, 1329, 1331, 1337, 1343, 1344, 1348, 1355, 1362, 1366, 1378, 1383, 1384, 1386, 1389, 1411, 1430, 1436, 1471, 1477, 1479, 1483, 1484, 1488, 1492, 1495, 1497, 1498, 1499, 1509, 1511, 1513, 1514, 1515, 1518, 1519, 1585, 1641, 1675, 1685, 1686, 1702, 1706, 1708, 1714, 1720, 1721, 1732, 1743, 1760, 1761, 1763, 1766, 1788, 1807, 1821, 1823, 1831, 1853, 1856, 1860, 1861, 1865, 1869, 1874, 1875, 1876, 1882, 1886, 1887, 1900, 1952, 1989, 2008, 2040, 2041, 2043, 2056, 2065, 2079, 2084, 2086, 2089, 2090, 2098, 2108, 2123, 2131, 2133, 2137, 2141, 2142, 2146, 2149, 2151, 2152, 2154, 2166, 2168, 2170, 2174, 2176, 2177, 2189, 2193, 2197, 2199, 2202, 2205, 2206, 2211, 2212, 2216, 2220, 2223, 2230, 2234, 2246, 2251, 2279, 2316, 2353, 2372, 2404, 2407, 2429, 2448, 2450, 2453, 2454, 2462, 2464, 2468, 2487, 2494, 2497, 2501, 2502, 2506, 2510, 2513, 2515, 2516, 2526, 2530, 2532, 2534, 2538, 2540, 2541, 2544, 2553, 2557, 2561, 2562, 2563, 2566, 2569, 2570, 2575, 2576, 2580, 2584, 2587, 2594, 2598, 2610, 2615, 2643, 2680, 2736, 2768, 2771, 2793, 2812, 2817, 2818, 2826, 2836, 2851, 2861, 2865, 2866, 2874, 2879, 2880, 2902, 2908, 2909, 2917, 2921, 2925, 2933, 2934, 2939, 2940, 2944, 2951, 2962, 2974, 2979, 3007, 3100, 3132, 3135, 3176, 3182, 3200, 3229, 3230, 3238, 3244, 3272, 3285, 3291, 3303, 3308, 3315, 3322, 3326, 3464, 3499, 3540, 3545, 3602, 3622, 3632, 3645, 3649, 3655, 3661, 3667, 3668, 3672, 3679, 3690, 3708, 3711, 3712, 3713, 3716, 3718, 3723, 3735, 3762, 3766, 3767, 3772, 3774, 3798, 3799, 3809, 3812, 3820, 3852, 3858, 3859, 3861, 3862, 3863, 3865, 3867, 3868, 3869, 3871, 3872, 3876, 3878, 3884, 3885, 3888, 3891, 3892, 3893, 3894, 3895, 3897, 3901, 3905, 3906, 3907, 3908, 3916, 3917, 3921, 3923, 3927, 3928, 3942, 3947, 3950, 3955, 3957, 3962, 3998, 4000, 4001, 4005, 4006, 4037, 4038, 4048, 4050, 4059, 4063, 4077, 4090, 4091, 4097, 4098, 4100, 4101, 4102, 4106, 4107, 4108, 4110, 4111, 4115, 4117, 4123, 4124, 4127, 4131, 4132, 4134, 4136, 4140, 4144, 4145, 4146, 4147, 4155, 4160, 4163, 4164, 4166, 4167, 4173, 4180, 4181, 4182]), 'select_features_number': 500, 'right_features': ['length', 'internal_type', 'reserved', 'roles'], 'left_siblings_window': 5, 'debug_parsing': False, 'left_features': ['length', 'diff_offset', 'diff_col', 'diff_line', 'internal_type', 'label', 'reserved', 'roles'], 'insert_noops': False, 'return_sibling_indices': False}, 'trainable_rules': {'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'n_estimators': 10, 'min_samples_leaf': 16, 'top_down_greedy_budget': [False, 0.5], 'max_features': 'auto', 'min_samples_split': 11, 'random_state': 42, 'uncertain_attributes': True, 'prune_dataset_ratio': 0.2}, 'line_length_limit': 500, 'n_iter': 5} Stats about rules: 235 rules, avg.len. 15.5 Rule 0: left.2.roles = {MAP ≥ 1} ∧ right.0.reserved in {{} ∧ right.2.reserved in {:} ∧ node.0.start_col ≥ 2 → y = ␣⁺ Confidence: 0.969. Support: 16. Rule 1: left.0.internal_type in {ArrayExpression} ∧ left.2.roles = {MAP = 0} ∧ right.0.reserved in {{} ∧ right.2.reserved in {:} ∧ node.0.start_col ≥ 2 → y = ␣⁺ Confidence: 0.979. Support: 24. Rule 2: left.0.internal_type not in {ArrayExpression} ∧ left.2.roles = {MAP = 0} ∧ left.3.reserved in {implements} ∧ right.0.reserved in {{} ∧ right.2.reserved in {:} ∧ node.0.start_col ≥ 2 → y = ⏎ Confidence: 0.735. Support: 17. Rule 3: left.0.internal_type not in {ArrayExpression} ∧ left.1.roles = {THIS ≥ 1} ∧ left.2.roles = {MAP = 0} ∧ left.3.reserved not in {implements} ∧ right.0.reserved in {{} ∧ right.2.reserved in {:} ∧ node.0.start_col ≥ 2 → y = ⏎ Confidence: 0.976. Support: 21. Rule 4: left.0.internal_type not in {ArrayExpression} ∧ left.1.roles = {THIS = 0} ∧ left.2.roles = {MAP = 0} ∧ left.3.reserved not in {implements} ∧ right.0.reserved in {{} ∧ right.2.reserved in {:} ∧ node.0.start_col ≥ 2 → y = ␣ Confidence: 0.844. Support: 259. Rule 5: right.0.reserved in {{} ∧ right.2.reserved not in {:} ∧ node.0.start_col ≥ 2 → y = ␣ Confidence: 0.985. Support: 1533. Rule 6: left.0.roles = {POSITIVE ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 → y = ⏎ Confidence: 0.980. Support: 2409. Rule 7: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ right.0.reserved in {,} and not in {{} ∧ node.0.start_col ≥ 9 → y = ' Confidence: 0.999. Support: 873. Rule 8: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {~} ∧ right.0.roles = {CALL ≥ 1} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 ∧ parents.1.roles = {EXPRESSION ≥ 1} → y = ␣ Confidence: 0.905. Support: 132. Rule 9: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {~} ∧ right.0.roles = {CALL = 0} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 ∧ parents.1.roles = {EXPRESSION ≥ 1} → y = ⏎ Confidence: 0.689. Support: 37. Rule 10: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {~} ∧ right.0.reserved not in {,, {} ∧ right.2.reserved in {;} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL ≥ 1} ∧ parents.1.roles = {EXPRESSION = 0} → y = ␣ Confidence: 0.756. Support: 88. Rule 11: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {~} ∧ left.4.internal_type in {ArrayExpression} ∧ right.0.reserved not in {,, {} ∧ right.2.reserved not in {;} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL ≥ 1} ∧ parents.1.roles = {EXPRESSION = 0} → y = ⏎ Confidence: 0.989. Support: 46. Rule 12: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {~} ∧ left.4.internal_type not in {ArrayExpression} ∧ right.0.reserved not in {,, {} ∧ right.2.reserved not in {;} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL ≥ 1} ∧ parents.1.roles = {EXPRESSION = 0} → y = ␣ Confidence: 0.936. Support: 102. Rule 13: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {~} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL = 0} ∧ parents.1.roles = {EXPRESSION = 0} → y = ⏎ Confidence: 0.690. Support: 21. Rule 14: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {[} and not in {~} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 → y = ' Confidence: 1.000. Support: 1276. Rule 15: left.0.roles = {POSITIVE = 0, STATEMENT ≥ 1} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved not in {~, [} ∧ left.4.reserved in {\} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 → y = ⏎ Confidence: 0.953. Support: 482. Rule 16: left.0.roles = {POSITIVE = 0, STATEMENT = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved not in {~, [} ∧ left.3.diff_col ≥ 3 ∧ left.4.reserved in {\} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 → y = ' Confidence: 0.980. Support: 25. Rule 17: left.0.roles = {POSITIVE = 0, STATEMENT = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved not in {~, [} ∧ left.3.diff_col ≤ 2 ∧ left.4.reserved in {\} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 → y = ␣ Confidence: 0.797. Support: 37. Rule 18: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved in {import} and not in {~, [} ∧ left.4.reserved not in {\} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 → y = ⏎ Confidence: 0.740. Support: 25. Rule 19: left.0.roles = {POSITIVE = 0} ∧ left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved not in {~, import, [} ∧ left.4.reserved not in {\} ∧ right.0.reserved not in {,, {} ∧ node.0.start_col ≥ 9 → y = ' Confidence: 0.989. Support: 44. Rule 20: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line ≥ 1 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.3.reserved in {[} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 → y = ' Confidence: 0.995. Support: 754. Rule 21: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line ≥ 1 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.3.reserved not in {[} ∧ left.4.roles = {VALUE ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 → y = " Confidence: 0.969. Support: 16. Rule 22: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line ≥ 1 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.3.reserved not in {[} ∧ left.4.roles = {VALUE = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 → y = ' Confidence: 0.983. Support: 326. Rule 23: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.3.reserved in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type in {IfStatement} → y = ␣⁺ Confidence: 0.985. Support: 103. Rule 24: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.3.reserved in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 17 ∧ parents.0.internal_type not in {IfStatement} → y = ␣ Confidence: 0.962. Support: 198. Rule 25: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≥ 7 ∧ left.3.reserved in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 16 ∧ parents.0.internal_type not in {IfStatement} → y = ␣⁺ Confidence: 0.998. Support: 223. Rule 26: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≤ 7 ∧ left.3.reserved in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 16 ∧ parents.0.internal_type not in {IfStatement} → y = ␣ Confidence: 0.844. Support: 16. Rule 27: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type in {ObjectExpression} → y = ⏎ Confidence: 0.935. Support: 627. Rule 28: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.999. Support: 540. Rule 29: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {ARGUMENT ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED ≥ 1} → y = ' Confidence: 0.682. Support: 137. Rule 30: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {ARGUMENT ≥ 1, STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ right.3.reserved in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} → y = ⏎ Confidence: 0.663. Support: 43. Rule 31: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {ARGUMENT ≥ 1, STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ right.3.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} → y = ' Confidence: 0.775. Support: 264. Rule 32: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {ARGUMENT ≥ 1, STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type in {VariableDeclarator} → y = ⏎ Confidence: 0.717. Support: 23. Rule 33: left.0.roles = {POSITIVE = 0, THROW ≥ 1} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {ARGUMENT ≥ 1, STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {VariableDeclarator} → y = ⏎ Confidence: 0.986. Support: 36. Rule 34: left.0.roles = {POSITIVE = 0, THROW = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {ARGUMENT ≥ 1, STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {VariableDeclarator} → y = ␣ Confidence: 0.776. Support: 29. Rule 35: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {ARGUMENT = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.726. Support: 261. Rule 36: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ right.0.reserved in {=} and not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 1.000. Support: 1407. Rule 37: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {any, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{, =} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type in {FunctionDeclaration} → y = ␣ Confidence: 0.528. Support: 18. Rule 38: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} and not in {any} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{, =} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type in {FunctionDeclaration} → y = ⏎ Confidence: 0.936. Support: 39. Rule 39: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.995. Support: 104. Rule 40: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.3.reserved in {(} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ⏎ Confidence: 0.921. Support: 19. Rule 41: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.3.reserved not in {(} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY = 0} ∧ parents.0.internal_type in {ConditionalExpression} and not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.981. Support: 27. Rule 42: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.2.internal_type in {AnyTypeAnnotation} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.3.reserved not in {(} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ⏎ Confidence: 0.983. Support: 86. Rule 43: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.2.internal_type not in {AnyTypeAnnotation} ∧ left.2.reserved in {static} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.3.reserved not in {(} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ⏎ Confidence: 0.904. Support: 26. Rule 44: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.2.internal_type not in {AnyTypeAnnotation} ∧ left.2.reserved not in {static} ∧ left.3.roles = {THROW ≥ 1} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.3.reserved not in {(} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.981. Support: 26. Rule 45: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.2.internal_type not in {AnyTypeAnnotation} ∧ left.2.reserved not in {static} ∧ left.3.roles = {THROW = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.2.roles = {STRING ≥ 1} ∧ right.3.reserved not in {(} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.940. Support: 25. Rule 46: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.2.internal_type not in {AnyTypeAnnotation} ∧ left.2.reserved not in {static} ∧ left.3.roles = {THROW = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.2.roles = {STRING = 0} ∧ right.3.reserved not in {(} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BINARY = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ⏎ Confidence: 0.738. Support: 21. Rule 47: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≥ 2 ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ⏎ Confidence: 0.917. Support: 18. Rule 48: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≤ 2 ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.516. Support: 61. Rule 49: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.1.roles = {EXPRESSION ≥ 1} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.956. Support: 373. Rule 50: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.diff_line ≥ 1 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved in {opaque} and not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.1.roles = {EXPRESSION = 0} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT = 0, VARIABLE ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.935. Support: 23. Rule 51: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.diff_line ≥ 1 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved in {opaque} and not in {>} ∧ left.4.diff_line ≥ 1 ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.1.roles = {EXPRESSION = 0} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT = 0, VARIABLE = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.989. Support: 47. Rule 52: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.diff_line ≥ 1 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved in {opaque} and not in {>} ∧ left.4.diff_line = 0 ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.1.roles = {EXPRESSION = 0} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT = 0, VARIABLE = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ⏎ Confidence: 0.794. Support: 17. Rule 53: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.diff_line ≥ 1 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>, opaque} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ right.1.roles = {EXPRESSION = 0} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.965. Support: 99. Rule 54: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.diff_line = 0 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.internal_type in {AnyTypeAnnotation} ∧ right.0.reserved not in {{, =} ∧ right.1.roles = {EXPRESSION = 0} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.987. Support: 39. Rule 55: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.diff_line = 0 ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.internal_type not in {AnyTypeAnnotation} ∧ right.0.reserved not in {{, =} ∧ right.1.roles = {EXPRESSION = 0} ∧ node.0.start_line ≥ 20 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ⏎ Confidence: 0.884. Support: 56. Rule 56: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0} ∧ left.3.reserved not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{, =} ∧ node.0.start_line ≤ 19 ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionDeclaration} → y = ␣ Confidence: 0.969. Support: 405. Rule 57: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.internal_type in {FunctionExpression} → y = ␣ Confidence: 0.976. Support: 148. Rule 58: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type in {BlockStatement} and not in {ObjectExpression} ∧ parents.1.internal_type not in {FunctionExpression} → y = ␣ Confidence: 0.965. Support: 442. Rule 59: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.roles = {FUNCTION ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ␣ Confidence: 0.828. Support: 61. Rule 60: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR ≥ 1} ∧ left.3.reserved in {true} and not in {>} ∧ right.0.roles = {FUNCTION = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ␣ Confidence: 0.934. Support: 38. Rule 61: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT ≥ 1, XOR ≥ 1} ∧ left.3.reserved not in {true, >} ∧ right.0.roles = {FUNCTION = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ' Confidence: 0.976. Support: 62. Rule 62: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT = 0, XOR ≥ 1} ∧ left.2.reserved in {>} ∧ left.3.reserved not in {true, >} ∧ right.0.roles = {FUNCTION = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ␣⁺ Confidence: 0.998. Support: 309. Rule 63: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT = 0, XOR ≥ 1} ∧ left.2.reserved not in {>} ∧ left.3.roles = {STATEMENT ≥ 1} ∧ left.3.reserved not in {true, >} ∧ right.0.roles = {FUNCTION = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ⏎ Confidence: 0.750. Support: 26. Rule 64: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT = 0, XOR ≥ 1} ∧ left.2.reserved not in {>} ∧ left.3.roles = {STATEMENT = 0} ∧ left.3.reserved not in {true, >} ∧ right.0.roles = {FUNCTION = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ␣⁺ Confidence: 0.944. Support: 187. Rule 65: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT = 0, XOR ≥ 1} ∧ left.2.reserved not in {>} ∧ left.3.diff_col ≥ 2 ∧ left.3.reserved not in {true, >} ∧ right.0.roles = {FUNCTION = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL = 0} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ␣ Confidence: 0.523. Support: 22. Rule 66: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT = 0, XOR ≥ 1} ∧ left.2.reserved not in {>} ∧ left.3.diff_col ≤ 1 ∧ left.3.reserved not in {true, >} ∧ right.0.roles = {FUNCTION = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL = 0} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} ∧ parents.1.internal_type not in {FunctionExpression} → y = ␣⁺ Confidence: 0.579. Support: 89. Rule 67: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_line ≥ 1 ∧ left.3.roles = {NUMBER ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_line ≥ 38 ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.679. Support: 70. Rule 68: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_line ≥ 1 ∧ left.3.roles = {NUMBER ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_line ≤ 38 ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} → y = ' Confidence: 0.757. Support: 109. Rule 69: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_line = 0 ∧ left.3.roles = {NUMBER ≥ 1} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.978. Support: 245. Rule 70: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {~} and not in {opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} → y = " Confidence: 0.979. Support: 70. Rule 71: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 0.917. Support: 199. Rule 72: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.reserved not in {{} ∧ right.2.internal_type in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.822. Support: 188. Rule 73: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.reserved not in {{} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type in {BinaryExpression} and not in {ObjectExpression} → y = ␣ Confidence: 0.907. Support: 59. Rule 74: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.reserved not in {{} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {LIST ≥ 1, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression, BinaryExpression} → y = ␣ Confidence: 0.768. Support: 71. Rule 75: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.reserved not in {{} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {IF ≥ 1, LIST = 0, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression, BinaryExpression} → y = ␣ Confidence: 0.523. Support: 22. Rule 76: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.reserved not in {{} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {IF = 0, LIST = 0, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression, BinaryExpression} → y = ␣ Confidence: 0.729. Support: 24. Rule 77: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\, opaque} and not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{} ∧ right.1.roles = {EXPRESSION ≥ 1} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {IF = 0, LIST = 0, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression, BinaryExpression} → y = ⏎ Confidence: 0.810. Support: 29. Rule 78: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\, opaque} and not in {>} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{} ∧ right.1.roles = {EXPRESSION = 0} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {IF = 0, LIST = 0, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression, BinaryExpression} → y = ␣ Confidence: 0.734. Support: 32. Rule 79: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>, opaque} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {IF = 0, LIST = 0, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression, BinaryExpression} ∧ parents.1.roles = {INITIALIZATION ≥ 1} → y = ' Confidence: 0.676. Support: 17. Rule 80: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>, opaque} ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.reserved not in {{} ∧ right.2.internal_type not in {IfStatement} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {IF = 0, LIST = 0, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression, BinaryExpression} ∧ parents.1.roles = {INITIALIZATION = 0} → y = ⏎ Confidence: 0.908. Support: 276. Rule 81: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type in {MemberExpression} and not in {ObjectExpression} → y = ⏎ Confidence: 0.929. Support: 233. Rule 82: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.reserved in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ␣ Confidence: 0.983. Support: 1472. Rule 83: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type in {VariableDeclarator} and not in {MemberExpression, ObjectExpression} → y = ␣ Confidence: 0.991. Support: 619. Rule 84: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {InterfaceDeclaration} and not in {AssignmentExpression} ∧ left.1.reserved in {any} and not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 28 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.969. Support: 16. Rule 85: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {InterfaceDeclaration} and not in {AssignmentExpression} ∧ left.1.reserved in {any} and not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 27 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ⏎ Confidence: 0.978. Support: 23. Rule 86: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {InterfaceDeclaration} and not in {AssignmentExpression} ∧ left.1.reserved not in {any, [} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.internal_type in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.922. Support: 607. Rule 87: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {InterfaceDeclaration} and not in {AssignmentExpression} ∧ left.1.reserved not in {any, [} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.internal_type not in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.993. Support: 218. Rule 88: left.0.roles = {POSITIVE = 0, THROW ≥ 1} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {InterfaceDeclaration} and not in {AssignmentExpression} ∧ left.1.reserved not in {any, [} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ left.4.reserved in {\} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.internal_type not in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ' Confidence: 0.922. Support: 32. Rule 89: left.0.roles = {POSITIVE = 0, THROW = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {InterfaceDeclaration} and not in {AssignmentExpression} ∧ left.1.reserved not in {any, [} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ left.4.reserved in {\} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.internal_type not in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.843. Support: 35. Rule 90: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {InterfaceDeclaration} and not in {AssignmentExpression} ∧ left.1.reserved not in {any, [} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ left.4.reserved not in {\} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.internal_type not in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ' Confidence: 0.797. Support: 106. Rule 91: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.792. Support: 60. Rule 92: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type in {ArrayExpression} and not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ' Confidence: 0.975. Support: 20. Rule 93: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {ArrayExpression, InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved in {,} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} ∧ parents.1.roles = {DECLARATION ≥ 1} → y = ⏎ Confidence: 0.618. Support: 17. Rule 94: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {ArrayExpression, InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved in {,} ∧ right.2.internal_type not in {AnyTypeAnnotation} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} ∧ parents.1.roles = {DECLARATION ≥ 1} → y = ␣ Confidence: 0.804. Support: 23. Rule 95: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {ArrayExpression, InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} ∧ parents.1.roles = {DECLARATION = 0} → y = ⏎ Confidence: 0.624. Support: 113. Rule 96: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {,} ∧ right.3.internal_type in {AnyTypeAnnotation} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT ≥ 1} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.762. Support: 40. Rule 97: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {,} ∧ right.3.internal_type not in {AnyTypeAnnotation} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {STATEMENT ≥ 1} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ⏎ Confidence: 0.777. Support: 56. Rule 98: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.roles = {THROW ≥ 1} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\, [} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL ≥ 1, STATEMENT = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ⏎ Confidence: 0.977. Support: 22. Rule 99: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.roles = {THROW ≥ 1} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>, [} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {,} ∧ node.0.start_col ≥ 25 ∧ parents.0.roles = {CALL ≥ 1, STATEMENT = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.685. Support: 65. Rule 100: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.roles = {THROW ≥ 1} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>, [} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {,} ∧ node.0.start_col ≤ 24 ∧ parents.0.roles = {CALL ≥ 1, STATEMENT = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ⏎ Confidence: 0.603. Support: 34. Rule 101: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.roles = {THROW = 0} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL ≥ 1, STATEMENT = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.711. Support: 227. Rule 102: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {InterfaceDeclaration, AssignmentExpression} ∧ left.1.reserved not in {[} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALL = 0, STATEMENT = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, VariableDeclarator} → y = ␣ Confidence: 0.908. Support: 591. Rule 103: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved in {from} and not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ␣ Confidence: 0.997. Support: 166. Rule 104: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {{, from} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ⏎ Confidence: 0.773. Support: 86. Rule 105: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved in {)} and not in {{, from} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ⏎ Confidence: 0.958. Support: 60. Rule 106: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR ≥ 1} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ␣ Confidence: 0.967. Support: 135. Rule 107: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.reserved in {\} and not in {>} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type in {AnyTypeAnnotation} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ⏎ Confidence: 0.722. Support: 45. Rule 108: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.reserved in {implements, \} and not in {>} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ⏎ Confidence: 0.680. Support: 61. Rule 109: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved in {;} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ⏎ Confidence: 0.812. Support: 40. Rule 110: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≥ 13 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ⏎ Confidence: 0.605. Support: 19. Rule 111: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BLOCK ≥ 1} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ⏎ Confidence: 0.806. Support: 49. Rule 112: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BLOCK = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ␣ Confidence: 0.641. Support: 96. Rule 113: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BLOCK = 0, DECLARATION ≥ 1} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression} → y = ␣ Confidence: 0.938. Support: 315. Rule 114: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type in {BinaryExpression} and not in {MemberExpression, ObjectExpression} → y = ␣ Confidence: 0.955. Support: 100. Rule 115: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.reserved in {\} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type in {LogicalExpression} → y = ⏎ Confidence: 0.694. Support: 31. Rule 116: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.reserved not in {\} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type in {LogicalExpression} → y = ␣ Confidence: 0.853. Support: 17. Rule 117: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≥ 62 ∧ parents.0.roles = {BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type not in {LogicalExpression} → y = ⏎ Confidence: 0.673. Support: 26. Rule 118: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved in {}} and not in {), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≤ 61 ∧ parents.0.roles = {BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type not in {LogicalExpression} → y = ⏎ Confidence: 0.589. Support: 28. Rule 119: left.0.roles = {BODY ≥ 1, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {}, ), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≤ 61 ∧ parents.0.roles = {BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type not in {LogicalExpression} → y = ␣ Confidence: 0.979. Support: 24. Rule 120: left.0.roles = {BODY = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved in {\} and not in {[} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {}, ), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≤ 61 ∧ parents.0.roles = {BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type not in {LogicalExpression} → y = ␣ Confidence: 0.904. Support: 172. Rule 121: left.0.roles = {BODY = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {\, [} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {}, ), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≤ 61 ∧ parents.0.roles = {BINARY ≥ 1, BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type not in {LogicalExpression} → y = ␣ Confidence: 0.881. Support: 122. Rule 122: left.0.roles = {BODY = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {\, [} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {}, ), {, from} ∧ right.1.internal_type in {AnyTypeAnnotation} and not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≤ 61 ∧ parents.0.roles = {BINARY = 0, BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type not in {LogicalExpression} → y = ⏎ Confidence: 0.719. Support: 16. Rule 123: left.0.roles = {BODY = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.internal_type not in {ArrayPattern} ∧ left.2.reserved not in {\, [} ∧ left.3.roles = {NUMBER = 0, XOR = 0} ∧ left.3.diff_col ≤ 12 ∧ left.3.reserved in {\} and not in {implements, >} ∧ right.0.roles = {EXPRESSION = 0} ∧ right.0.reserved not in {}, ), {, from} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {;} ∧ right.2.reserved not in {,} ∧ node.0.start_col ≤ 61 ∧ parents.0.roles = {BINARY = 0, BLOCK = 0, DECLARATION = 0} ∧ parents.0.internal_type not in {MemberExpression, ObjectExpression, BinaryExpression} ∧ parents.1.internal_type not in {LogicalExpression} → y = ␣ Confidence: 0.730. Support: 61. Rule 124: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED ≥ 1} → y = ␣ Confidence: 0.900. Support: 35. Rule 125: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type in {ReturnStatement} → y = ␣ Confidence: 0.554. Support: 28. Rule 126: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ right.3.reserved in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.890. Support: 50. Rule 127: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved in {...} and not in {{} ∧ right.3.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.962. Support: 39. Rule 128: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {static} and not in {\, >} ∧ right.0.roles = {IDENTIFIER ≥ 1} ∧ right.0.reserved not in {{, ...} ∧ right.2.roles = {EXPRESSION ≥ 1} ∧ right.3.reserved in {}} and not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ␣ Confidence: 0.768. Support: 28. Rule 129: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {static} and not in {\, >} ∧ right.0.roles = {IDENTIFIER ≥ 1} ∧ right.0.reserved not in {{, ...} ∧ right.2.roles = {EXPRESSION ≥ 1} ∧ right.3.reserved not in {}, ,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.854. Support: 24. Rule 130: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {static} and not in {\, >} ∧ right.0.roles = {IDENTIFIER ≥ 1} ∧ right.0.reserved not in {{, ...} ∧ right.2.roles = {EXPRESSION = 0} ∧ right.3.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {INITIALIZATION ≥ 1, QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.500. Support: 25. Rule 131: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {static} and not in {\, >} ∧ right.0.roles = {IDENTIFIER ≥ 1} ∧ right.0.reserved not in {{, ...} ∧ right.2.roles = {EXPRESSION = 0} ∧ right.3.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {INITIALIZATION = 0, QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ␣ Confidence: 0.952. Support: 31. Rule 132: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, static, >} ∧ right.0.roles = {IDENTIFIER ≥ 1} ∧ right.0.reserved not in {{, ...} ∧ right.3.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ␣ Confidence: 0.525. Support: 20. Rule 133: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.roles = {IDENTIFIER = 0} ∧ right.0.reserved not in {{, ...} ∧ right.3.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.868. Support: 19. Rule 134: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ right.3.reserved in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.569. Support: 29. Rule 135: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT ≥ 1, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ right.3.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.683. Support: 30. Rule 136: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ right.3.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {INITIALIZATION ≥ 1, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ␣ Confidence: 0.528. Support: 18. Rule 137: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, STATEMENT = 0, XOR = 0} ∧ left.2.diff_col ≥ 1 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ right.3.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {INITIALIZATION = 0, MAP = 0} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} ∧ parents.1.internal_type not in {ReturnStatement} → y = ⏎ Confidence: 0.941. Support: 832. Rule 138: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved in {>} and not in {~, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.2.diff_col = 0 ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.1.roles = {QUALIFIED = 0} → y = ␣ Confidence: 0.951. Support: 51. Rule 139: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE ≥ 1} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.968. Support: 77. Rule 140: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.984. Support: 31. Rule 141: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.diff_line ≥ 1 ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 0.847. Support: 62. Rule 142: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {~, continue} and not in {\, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.953. Support: 53. Rule 143: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved in {~} and not in {>, \, continue} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 0.676. Support: 17. Rule 144: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY ≥ 1} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 0.913. Support: 40. Rule 145: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS ≥ 1} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY = 0} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.948. Support: 67. Rule 146: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS = 0} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≥ 14 ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY = 0} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.729. Support: 24. Rule 147: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS = 0} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≤ 13 ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY = 0} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.878. Support: 37. Rule 148: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS = 0} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≤ 13 ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} and not in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY = 0} ∧ right.2.reserved in {)} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 0.948. Support: 29. Rule 149: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS = 0} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≤ 13 ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} and not in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY = 0} ∧ right.2.reserved not in {)} ∧ right.3.reserved in {,} ∧ node.0.start_line ≥ 96 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 0.426. Support: 27. Rule 150: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS = 0} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≤ 13 ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} and not in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY = 0} ∧ right.2.reserved not in {)} ∧ right.3.reserved in {,} ∧ node.0.start_line ≤ 95 ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ⏎ Confidence: 0.672. Support: 32. Rule 151: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS = 0} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.1.diff_col ≤ 13 ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {~, \, >} ∧ left.4.diff_line = 0 ∧ left.4.reserved in {[} and not in {[} ∧ right.0.roles = {IMPORT = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {KEY = 0} ∧ right.2.reserved not in {)} ∧ right.3.reserved not in {,} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ Confidence: 0.671. Support: 193. Rule 152: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {[} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type in {BlockStatement} and not in {ObjectExpression} → y = ⏎ Confidence: 0.750. Support: 34. Rule 153: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {[} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 14 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} → y = ⏎ Confidence: 0.422. Support: 58. Rule 154: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {[} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 13 ∧ parents.0.roles = {CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} → y = ' Confidence: 0.603. Support: 29. Rule 155: left.0.roles = {POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {ARGUMENT ≥ 1, CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} → y = ␣ Confidence: 0.966. Support: 248. Rule 156: left.0.roles = {NEGATIVE ≥ 1, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {ARGUMENT = 0, CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression, BlockStatement} → y = ␣ Confidence: 0.938. Support: 121. Rule 157: left.0.roles = {NEGATIVE = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {ARGUMENT = 0, CALLEE = 0} ∧ parents.0.internal_type in {ConditionalExpression} and not in {ObjectExpression, BlockStatement} → y = ␣ Confidence: 0.573. Support: 62. Rule 158: left.0.roles = {NEGATIVE = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved in {implements} and not in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {ARGUMENT = 0, CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression, BlockStatement} → y = ␣ Confidence: 0.862. Support: 69. Rule 159: left.0.roles = {NEGATIVE = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS ≥ 1} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {implements, [} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {ARGUMENT = 0, CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression, BlockStatement} → y = ⏎ Confidence: 0.734. Support: 32. Rule 160: left.0.roles = {NEGATIVE = 0, POSITIVE = 0} ∧ left.0.diff_line = 0 ∧ left.0.internal_type not in {DeclareInterface} ∧ left.0.reserved not in {~, >, opaque} ∧ left.1.roles = {THIS = 0} ∧ left.1.internal_type not in {AssignmentExpression} ∧ left.2.roles = {RETURN = 0, XOR = 0} ∧ left.3.roles = {NUMBER = 0} ∧ left.3.reserved not in {\, >} ∧ left.4.reserved not in {implements, [} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≥ 9 ∧ parents.0.roles = {ARGUMENT = 0, CALLEE = 0} ∧ parents.0.internal_type not in {ObjectExpression, ConditionalExpression, BlockStatement} → y = ␣ Confidence: 0.792. Support: 296. Rule 161: left.3.roles = {TRY ≥ 1} ∧ left.3.diff_col ≥ 1 ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ' Confidence: 0.899. Support: 232. Rule 162: left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.internal_type in {VariableDeclarator} → y = ' Confidence: 0.697. Support: 38. Rule 163: left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.4.internal_type in {InterfaceDeclaration} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.internal_type not in {VariableDeclarator} → y = ␣⁺ Confidence: 0.927. Support: 75. Rule 164: left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.4.internal_type not in {InterfaceDeclaration} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.internal_type not in {VariableDeclarator} → y = ' Confidence: 0.533. Support: 273. Rule 165: left.2.reserved in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ⏎ Confidence: 0.971. Support: 17. Rule 166: left.1.internal_type in {AssignmentExpression} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ' Confidence: 0.984. Support: 31. Rule 167: left.1.internal_type not in {AssignmentExpression} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL ≥ 1} → y = ␣⁺ Confidence: 0.971. Support: 921. Rule 168: left.1.internal_type in {AnyTypeAnnotation} and not in {AssignmentExpression} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ␣⁺ Confidence: 0.999. Support: 437. Rule 169: left.1.internal_type not in {AnyTypeAnnotation, AssignmentExpression} ∧ left.1.reserved in {\} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.3.reserved in {\} ∧ right.0.roles = {STRING = 0} ∧ right.0.internal_type in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ␣ Confidence: 0.978. Support: 23. Rule 170: left.1.internal_type not in {AnyTypeAnnotation, AssignmentExpression} ∧ left.1.reserved not in {\} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.3.reserved in {\} ∧ right.0.roles = {STRING = 0} ∧ right.0.internal_type in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ␣⁺ Confidence: 0.887. Support: 217. Rule 171: left.1.internal_type not in {AnyTypeAnnotation, AssignmentExpression} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.3.reserved in {\} ∧ right.0.roles = {STRING = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ␣⁺ Confidence: 0.893. Support: 135. Rule 172: left.1.internal_type not in {AnyTypeAnnotation, AssignmentExpression} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.3.reserved not in {\} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_line ≥ 56 ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ␣ Confidence: 0.448. Support: 48. Rule 173: left.0.internal_type in {ArrayExpression} ∧ left.1.internal_type not in {AnyTypeAnnotation, AssignmentExpression} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.3.reserved not in {\} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_line ≤ 55 ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ␣⁺ Confidence: 0.977. Support: 22. Rule 174: left.0.internal_type not in {ArrayExpression} ∧ left.1.internal_type not in {AnyTypeAnnotation, AssignmentExpression} ∧ left.2.reserved not in {>>>} ∧ left.3.roles = {TRY = 0} ∧ left.3.diff_col ≥ 1 ∧ left.3.reserved not in {\} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ node.0.start_line ≤ 55 ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ⏎ Confidence: 0.519. Support: 26. Rule 175: left.0.roles = {STATEMENT ≥ 1} ∧ left.3.diff_col = 0 ∧ right.0.reserved not in {{} ∧ right.2.reserved in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ⏎ Confidence: 0.969. Support: 16. Rule 176: left.0.roles = {STATEMENT ≥ 1} ∧ left.3.diff_col = 0 ∧ right.0.reserved not in {{} ∧ right.2.roles = {EXPRESSION ≥ 1} ∧ right.2.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ⏎ Confidence: 0.908. Support: 38. Rule 177: left.0.roles = {STATEMENT ≥ 1} ∧ left.3.diff_col = 0 ∧ right.0.roles = {CALL ≥ 1} ∧ right.0.reserved not in {{} ∧ right.2.roles = {EXPRESSION = 0} ∧ right.2.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ␣ Confidence: 0.771. Support: 24. Rule 178: left.0.roles = {STATEMENT ≥ 1} ∧ left.3.diff_col = 0 ∧ right.0.roles = {CALL = 0} ∧ right.0.reserved not in {{} ∧ right.2.roles = {EXPRESSION = 0} ∧ right.2.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ⏎ Confidence: 0.775. Support: 20. Rule 179: left.0.roles = {STATEMENT = 0} ∧ left.3.diff_col = 0 ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION ≥ 1} → y = ⏎ Confidence: 0.881. Support: 80. Rule 180: left.1.reserved in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {LITERAL ≥ 1} → y = ␣⁺ Confidence: 0.988. Support: 40. Rule 181: left.1.reserved in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.0.internal_type in {IfStatement} ∧ parents.1.roles = {LITERAL = 0} → y = ␣⁺ Confidence: 0.993. Support: 73. Rule 182: left.1.reserved in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.0.internal_type not in {IfStatement} ∧ parents.1.roles = {LITERAL = 0} → y = ␣ Confidence: 0.944. Support: 682. Rule 183: left.0.roles = {BODY ≥ 1} ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} → y = ␣ Confidence: 0.995. Support: 91. Rule 184: left.0.roles = {BODY = 0} ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved in {;} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} → y = ⏎ Confidence: 0.568. Support: 22. Rule 185: left.0.roles = {BODY = 0} ∧ left.0.diff_col ≥ 3 ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {BLOCK ≥ 1} → y = ␣⁺ Confidence: 0.995. Support: 99. Rule 186: left.0.roles = {BODY = 0} ∧ left.0.diff_col ≥ 3 ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ left.2.reserved in {>} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {BLOCK = 0} → y = ␣⁺ Confidence: 0.992. Support: 62. Rule 187: left.0.roles = {BODY = 0} ∧ left.0.diff_col ≥ 3 ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ left.2.reserved not in {>} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {BLOCK = 0} → y = ␣ Confidence: 0.936. Support: 55. Rule 188: left.0.roles = {BODY = 0} ∧ left.0.diff_col ≥ 3 ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ left.2.reserved not in {>} ∧ right.0.internal_type in {AnyTypeAnnotation} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≤ 5 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {BLOCK = 0} → y = ' Confidence: 0.978. Support: 23. Rule 189: left.0.roles = {BODY = 0} ∧ left.0.diff_col ≥ 3 ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ left.2.reserved not in {>} ∧ right.0.internal_type not in {AnyTypeAnnotation} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≤ 5 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {BLOCK = 0} → y = ␣⁺ Confidence: 0.500. Support: 23. Rule 190: left.0.roles = {BODY = 0} ∧ left.0.diff_col ≤ 2 ∧ left.1.reserved not in {[} ∧ left.2.roles = {XOR ≥ 1} ∧ right.0.reserved not in {{} ∧ right.1.reserved not in {;} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} → y = ␣⁺ Confidence: 0.967. Support: 1096. Rule 191: left.2.roles = {XOR = 0} ∧ left.2.internal_type in {ArrayExpression} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} → y = ␣ Confidence: 0.860. Support: 82. Rule 192: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ right.0.reserved not in {{} ∧ right.4.roles = {ARGUMENT ≥ 1} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {DECLARATION ≥ 1} → y = ⏎ Confidence: 0.995. Support: 97. Rule 193: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ right.0.reserved not in {{} ∧ right.4.roles = {ARGUMENT = 0} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.0.internal_type in {VariableDeclarator} ∧ parents.1.roles = {DECLARATION ≥ 1} → y = ␣ Confidence: 0.910. Support: 39. Rule 194: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ right.0.reserved not in {{} ∧ right.4.roles = {ARGUMENT = 0} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.0.internal_type not in {VariableDeclarator} ∧ parents.1.roles = {DECLARATION ≥ 1} → y = ⏎ Confidence: 0.927. Support: 457. Rule 195: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ left.4.reserved in {[} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ right.3.reserved in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {DECLARATION = 0} → y = ' Confidence: 0.975. Support: 20. Rule 196: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ left.4.reserved not in {[} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ right.3.reserved in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {DECLARATION = 0} → y = ␣ Confidence: 0.974. Support: 19. Rule 197: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ right.3.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {DECLARATION = 0} → y = ' Confidence: 0.875. Support: 20. Rule 198: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ right.0.roles = {STRING ≥ 1} ∧ right.0.reserved not in {{} ∧ right.3.reserved not in {{} ∧ node.0.start_col ≤ 7 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {DECLARATION = 0} → y = ␣ Confidence: 0.661. Support: 28. Rule 199: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ right.1.roles = {STRING ≥ 1} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {DECLARATION = 0} → y = ␣ Confidence: 0.958. Support: 36. Rule 200: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ right.1.roles = {STRING = 0} ∧ right.1.reserved in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0, IF ≥ 1} ∧ parents.1.roles = {DECLARATION = 0} → y = ␣ Confidence: 0.796. Support: 27. Rule 201: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ right.1.roles = {STRING = 0} ∧ right.1.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0, IF ≥ 1} ∧ parents.1.roles = {DECLARATION = 0} → y = ⏎ Confidence: 0.887. Support: 31. Rule 202: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved in {[} ∧ right.0.roles = {STRING = 0} ∧ right.0.reserved not in {{} ∧ right.1.roles = {STRING = 0} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0, IF = 0} ∧ parents.1.roles = {DECLARATION = 0} → y = ⏎ Confidence: 0.933. Support: 652. Rule 203: left.2.roles = {XOR = 0} ∧ left.2.internal_type not in {ArrayExpression} ∧ left.2.reserved not in {[} ∧ right.0.reserved not in {{} ∧ node.0.start_col ≤ 8 ∧ parents.0.roles = {EXPRESSION = 0} ∧ parents.1.roles = {DECLARATION = 0} → y = ␣ Confidence: 0.945. Support: 82. Rule 204: right.0.roles = {IDENTIFIER ≥ 1} ∧ right.2.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 ∧ parents.0.roles = {BODY ≥ 1} → y = ⏎ Confidence: 0.876. Support: 109. Rule 205: right.0.roles = {IDENTIFIER = 0} ∧ right.2.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 ∧ parents.0.roles = {BODY ≥ 1} → y = ␣⁻ Confidence: 0.883. Support: 30. Rule 206: left.2.diff_line ≥ 1 ∧ right.2.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 ∧ parents.0.roles = {BODY = 0} → y = ␣⁺ Confidence: 0.843. Support: 35. Rule 207: left.2.diff_line = 0 ∧ right.2.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 ∧ parents.0.roles = {BODY = 0} ∧ parents.1.roles = {CALL ≥ 1} → y = ␣⁻ Confidence: 0.922. Support: 32. Rule 208: left.2.diff_line = 0 ∧ right.2.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 ∧ parents.0.roles = {BODY = 0, INITIALIZATION ≥ 1} ∧ parents.1.roles = {CALL = 0} → y = ␣⁻ Confidence: 0.553. Support: 19. Rule 209: left.2.diff_line = 0 ∧ right.2.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 ∧ parents.0.roles = {BODY = 0, INITIALIZATION = 0} ∧ parents.1.roles = {CALL = 0} ∧ parents.1.internal_type in {File} → y = ⏎ Confidence: 0.929. Support: 49. Rule 210: left.2.diff_line = 0 ∧ right.2.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 ∧ parents.0.roles = {BODY = 0, INITIALIZATION = 0} ∧ parents.1.roles = {CALL = 0} ∧ parents.1.internal_type not in {File} → y = ␣⁻ Confidence: 0.441. Support: 17. Rule 211: right.2.roles = {IDENTIFIER = 0} ∧ right.4.roles = {CALL ≥ 1} ∧ node.0.start_col ≤ 1 → y = ␣⁻ Confidence: 0.810. Support: 124. Rule 212: left.3.reserved in {[} ∧ right.1.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 ∧ parents.1.roles = {VISIBILITY ≥ 1} → y = ␣⁺ Confidence: 0.921. Support: 70. Rule 213: left.3.internal_type in {InterfaceDeclaration} ∧ left.3.reserved in {[} ∧ right.1.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 ∧ parents.1.roles = {VISIBILITY = 0} → y = ⏎ Confidence: 0.529. Support: 35. Rule 214: left.1.roles = {POSITIVE ≥ 1} ∧ left.2.internal_type in {AssignmentExpression} ∧ left.3.internal_type not in {InterfaceDeclaration} ∧ left.3.reserved in {[} ∧ right.1.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 ∧ parents.1.roles = {VISIBILITY = 0} → y = ⏎ Confidence: 0.943. Support: 61. Rule 215: left.1.roles = {POSITIVE ≥ 1} ∧ left.2.internal_type not in {AssignmentExpression} ∧ left.3.internal_type not in {InterfaceDeclaration} ∧ left.3.reserved in {[} ∧ right.0.reserved in {}} ∧ right.1.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 ∧ parents.1.roles = {VISIBILITY = 0} → y = ␣⁻ Confidence: 0.991. Support: 55. Rule 216: left.1.roles = {POSITIVE ≥ 1} ∧ left.2.internal_type not in {AssignmentExpression} ∧ left.3.internal_type not in {InterfaceDeclaration} ∧ left.3.reserved in {[} ∧ right.0.reserved not in {}} ∧ right.1.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 ∧ parents.1.roles = {VISIBILITY = 0} → y = ⏎ Confidence: 0.854. Support: 161. Rule 217: left.1.roles = {POSITIVE = 0} ∧ left.3.internal_type not in {InterfaceDeclaration} ∧ left.3.reserved in {[} ∧ right.1.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 ∧ parents.1.roles = {DECLARATION ≥ 1, VISIBILITY = 0} → y = ⏎ Confidence: 0.661. Support: 96. Rule 218: left.1.roles = {POSITIVE = 0} ∧ left.3.internal_type not in {InterfaceDeclaration} ∧ left.3.reserved in {[} ∧ right.1.roles = {IDENTIFIER ≥ 1} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 ∧ parents.1.roles = {DECLARATION = 0, VISIBILITY = 0} → y = ␣⁺ Confidence: 0.699. Support: 68. Rule 219: left.3.reserved in {[} ∧ left.4.roles = {TRY ≥ 1} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ⏎ Confidence: 0.691. Support: 141. Rule 220: left.1.reserved in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁺ Confidence: 0.955. Support: 145. Rule 221: left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.2.roles = {PATHNAME ≥ 1} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁻ Confidence: 0.993. Support: 73. Rule 222: left.1.roles = {THROW ≥ 1} ∧ left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.internal_type in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁺ Confidence: 0.986. Support: 36. Rule 223: left.1.roles = {THROW = 0} ∧ left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.internal_type in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ⏎ Confidence: 0.778. Support: 97. Rule 224: left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.reserved in {(} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ⏎ Confidence: 0.930. Support: 50. Rule 225: left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.internal_type in {AnyTypeAnnotation} ∧ right.1.reserved not in {(} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ⏎ Confidence: 0.893. Support: 61. Rule 226: left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.roles = {LITERAL ≥ 1} ∧ right.0.internal_type not in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {(} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁺ Confidence: 0.881. Support: 21. Rule 227: left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.roles = {LITERAL = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.0.reserved in {}} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.internal_type in {AnyTypeAnnotation} and not in {AnyTypeAnnotation} ∧ right.1.reserved not in {(} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁻ Confidence: 0.957. Support: 58. Rule 228: left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.roles = {LITERAL = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.0.reserved not in {}} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.internal_type in {AnyTypeAnnotation} and not in {AnyTypeAnnotation} ∧ right.1.reserved not in {(} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ⏎ Confidence: 0.931. Support: 36. Rule 229: left.1.reserved not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.roles = {LITERAL = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved in {;} and not in {(} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁻ Confidence: 0.999. Support: 344. Rule 230: left.1.reserved in {\} and not in {>} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.roles = {LITERAL = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {(, ;} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁻ Confidence: 0.958. Support: 540. Rule 231: left.1.reserved not in {\, >} ∧ left.3.reserved in {[} ∧ left.4.roles = {TRY = 0} ∧ right.0.roles = {LITERAL = 0} ∧ right.0.internal_type not in {IfStatement} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.1.internal_type not in {AnyTypeAnnotation} ∧ right.1.reserved not in {(, ;} ∧ right.2.roles = {PATHNAME = 0} ∧ right.2.internal_type in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ⏎ Confidence: 0.614. Support: 22. Rule 232: left.3.reserved in {[} ∧ right.1.roles = {IDENTIFIER = 0} ∧ right.2.internal_type not in {AnyTypeAnnotation} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁻ Confidence: 0.923. Support: 1411. Rule 233: left.0.internal_type in {AnyTypeAnnotation} ∧ left.3.reserved not in {[} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ⏎ Confidence: 0.970. Support: 118. 443it [00:04, 110.50it/s] DEBUG:FeaturesExtractor:Features shape: (48341, 500) DEBUG:Rules:predicting 48341 samples using 235 rules 100%|██████████| 48341/48341 [00:00<00:00, 1086451.56it/s] Rule 234: left.0.internal_type not in {AnyTypeAnnotation} ∧ left.3.reserved not in {[} ∧ right.4.roles = {CALL = 0} ∧ node.0.start_col ≤ 1 → y = ␣⁻ Confidence: 0.999. Support: 2018. Min/max support: 16/2409, min/max conf: 0.4224138/0.99964464 Number of files: 177 Overall statistics: Legend: predictions/ground truth #rule | || |<+space>|<-space>|<+tab>|<-tab>|' |" ||n_mistakes|support Rule number 5: |1045/834 |0/0 |0/108 |0/102 |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |211 |1045 Rule number 6: |0/3 |0/0 |3/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |3 |3 Rule number 19: |0/0 |0/0 |0/0 |0/0 |0/13 |0/0 |0/0 |13/0 |0/0 |0/0 |13 |13 Rule number 22: |0/25 |0/0 |0/9 |0/0 |0/0 |0/0 |0/0 |70/34 |0/2 |0/0 |36 |70 Rule number 27: |0/3430 |0/0 |11491/3847|0/1624 |0/2256 |0/0 |0/0 |0/322 |0/12 |0/0 |7644 |11491 Rule number 28: |0/184 |0/0 |606/116 |0/0 |0/0 |0/0 |0/0 |0/306 |0/0 |0/0 |490 |606 Rule number 57: |14/0 |0/0 |0/14 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |14 |14 Rule number 58: |4/3 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |4 Rule number 66: |0/5 |0/0 |0/56 |62/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |61 |62 Rule number 69: |0/12 |0/0 |12/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |12 |12 Rule number 70: |0/44 |0/0 |0/8 |0/0 |0/0 |0/0 |0/0 |0/0 |52/0 |0/0 |52 |52 Rule number 124: |47/18 |0/0 |0/29 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |29 |47 Rule number 138: |115/96 |0/0 |0/19 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |19 |115 Rule number 139: |0/29 |0/0 |1805/667 |0/397 |0/477 |0/0 |0/0 |0/206 |0/29 |0/0 |1138 |1805 Rule number 152: |0/2398 |0/0 |3383/254 |0/194 |0/80 |0/0 |0/0 |0/439 |0/18 |0/0 |3129 |3383 Rule number 153: |0/231 |0/0 |397/86 |0/80 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |311 |397 Rule number 154: |0/12 |0/0 |0/1 |0/2 |0/0 |0/0 |0/0 |15/0 |0/0 |0/0 |15 |15 Rule number 155: |3374/387 |0/0 |0/1543 |0/256 |0/314 |0/0 |0/0 |0/853 |0/21 |0/0 |2987 |3374 Rule number 156: |89/89 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |89 Rule number 157: |680/109 |0/0 |0/335 |0/38 |0/157 |0/0 |0/0 |0/41 |0/0 |0/0 |571 |680 Rule number 158: |10/10 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |10 Rule number 160: |19386/6726|0/0 |0/5011 |0/2740 |0/2421 |0/0 |0/0 |0/2366|0/122|0/0 |12660 |19386 Rule number 179: |0/720 |0/0 |1408/255 |0/129 |0/66 |0/0 |0/0 |0/237 |0/1 |0/0 |1153 |1408 Rule number 190: |0/1 |0/0 |0/19 |22/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |20 |22 Rule number 191: |67/19 |0/0 |0/24 |0/0 |0/6 |0/0 |0/0 |0/18 |0/0 |0/0 |48 |67 Rule number 194: |0/0 |0/0 |2/0 |0/0 |0/0 |0/0 |0/0 |0/2 |0/0 |0/0 |2 |2 Rule number 202: |0/15 |0/0 |15/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |15 |15 Rule number 203: |3100/1282 |0/0 |0/841 |0/296 |0/71 |0/0 |0/0 |0/599 |0/11 |0/0 |1818 |3100 Rule number 211: |0/65 |0/0 |0/14 |0/0 |113/0 |0/0 |0/0 |0/34 |0/0 |0/0 |113 |113 Rule number 233: |0/0 |0/0 |15/0 |0/0 |0/0 |0/0 |0/0 |0/15 |0/0 |0/0 |15 |15 Rule number 234: |0/553 |0/0 |0/158 |0/0 |926/0 |0/0 |0/0 |0/215 |0/0 |0/0 |926 |926 ```
m09 commented 6 years ago

I cannot reproduce:

Training log ```console $ python lookout/style/format/research/train.py ../js/freeCodeCamp model.asdf /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release. from numpy.core.umath_tests import inner1d 464it [00:03, 149.05it/s] INFO:12d7:FormatAnalyzer:train someurl somecommit {} INFO:12d7:FormatAnalyzer:training on 198 javascript files DEBUG:FeaturesExtractor:Features shape: (48488, 4185) DEBUG:FeaturesExtractor:Features shape after selection: (48488, 500) DEBUG:FormatAnalyzer:training the rules model DEBUG:FormatAnalyzer:patched joblib /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:pruned 2100/3052 branches w/ reduced error pruning DEBUG:TrainableRules:merged 15/3396 attributes DEBUG:Rules:compiling 476 rules DEBUG:Rules:predicting 16164 samples using 476 rules DEBUG:TrainableRules:pruned 1806/2802 branches w/ reduced error pruning DEBUG:TrainableRules:merged 3/3603 attributes DEBUG:Rules:compiling 498 rules DEBUG:Rules:predicting 16162 samples using 498 rules DEBUG:TrainableRules:pruned 1996/3062 branches w/ reduced error pruning DEBUG:TrainableRules:merged 5/3951 attributes DEBUG:Rules:compiling 533 rules DEBUG:Rules:predicting 16162 samples using 533 rules /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': 10, 'max_features': None, 'min_samples_leaf': 19, 'min_samples_split': 18, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': 10, 'max_features': None, 'min_samples_leaf': 19, 'min_samples_split': 18, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': 10, 'max_features': None, 'min_samples_leaf': 19, 'min_samples_split': 18, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:pruned 116/192 branches w/ reduced error pruning DEBUG:TrainableRules:merged 1/259 attributes DEBUG:Rules:compiling 38 rules DEBUG:Rules:predicting 16164 samples using 38 rules DEBUG:TrainableRules:pruned 106/196 branches w/ reduced error pruning DEBUG:TrainableRules:merged 2/319 attributes DEBUG:Rules:compiling 45 rules DEBUG:Rules:predicting 16162 samples using 45 rules DEBUG:TrainableRules:pruned 108/200 branches w/ reduced error pruning DEBUG:TrainableRules:merged 5/324 attributes DEBUG:Rules:compiling 46 rules DEBUG:Rules:predicting 16162 samples using 46 rules /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': None, 'min_samples_leaf': 9, 'min_samples_split': 5, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': None, 'min_samples_leaf': 9, 'min_samples_split': 5, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': None, 'min_samples_leaf': 9, 'min_samples_split': 5, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:pruned 1186/1950 branches w/ reduced error pruning DEBUG:TrainableRules:merged 21/2609 attributes DEBUG:Rules:compiling 382 rules DEBUG:Rules:predicting 16162 samples using 382 rules DEBUG:TrainableRules:pruned 1290/2058 branches w/ reduced error pruning DEBUG:TrainableRules:merged 14/2607 attributes DEBUG:Rules:compiling 384 rules DEBUG:Rules:predicting 16164 samples using 384 rules DEBUG:TrainableRules:pruned 1246/1942 branches w/ reduced error pruning DEBUG:TrainableRules:merged 10/2329 attributes DEBUG:Rules:compiling 348 rules DEBUG:Rules:predicting 16162 samples using 348 rules /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': None, 'max_features': 'auto', 'min_samples_leaf': 16, 'min_samples_split': 11, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': None, 'max_features': 'auto', 'min_samples_leaf': 16, 'min_samples_split': 11, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': None, 'max_features': 'auto', 'min_samples_leaf': 16, 'min_samples_split': 11, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:pruned 664/1042 branches w/ reduced error pruning DEBUG:TrainableRules:merged 43/2495 attributes DEBUG:Rules:compiling 189 rules DEBUG:Rules:predicting 16164 samples using 189 rules DEBUG:TrainableRules:pruned 604/952 branches w/ reduced error pruning DEBUG:TrainableRules:merged 20/2406 attributes DEBUG:Rules:compiling 174 rules DEBUG:Rules:predicting 16162 samples using 174 rules DEBUG:TrainableRules:pruned 616/972 branches w/ reduced error pruning DEBUG:TrainableRules:merged 22/2437 attributes DEBUG:Rules:compiling 178 rules DEBUG:Rules:predicting 16162 samples using 178 rules /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': 5, 'max_features': 'auto', 'min_samples_leaf': 15, 'min_samples_split': 18, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': 5, 'max_features': 'auto', 'min_samples_leaf': 15, 'min_samples_split': 18, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': 5, 'max_features': 'auto', 'min_samples_leaf': 15, 'min_samples_split': 18, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:pruned 10/46 branches w/ reduced error pruning DEBUG:TrainableRules:merged 0/81 attributes DEBUG:Rules:compiling 18 rules DEBUG:Rules:predicting 16164 samples using 18 rules DEBUG:TrainableRules:pruned 12/40 branches w/ reduced error pruning DEBUG:TrainableRules:merged 0/59 attributes DEBUG:Rules:compiling 14 rules DEBUG:Rules:predicting 16162 samples using 14 rules DEBUG:TrainableRules:pruned 12/44 branches w/ reduced error pruning DEBUG:TrainableRules:merged 1/69 attributes DEBUG:Rules:compiling 16 rules DEBUG:Rules:predicting 16162 samples using 16 rules /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/base.py:115: DeprecationWarning: Estimator TrainableRules modifies parameters in __init__. This behavior is deprecated as of 0.18 and support for this behavior will be removed in 0.20. % type(estimator).__name__, DeprecationWarning) DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:pruned 2230/3204 branches w/ reduced error pruning DEBUG:TrainableRules:merged 27/3602 attributes DEBUG:Rules:compiling 487 rules DEBUG:FormatAnalyzer:score of the best estimator found: 0.900285 DEBUG:FormatAnalyzer:params of the best estimator found: {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14} DEBUG:FormatAnalyzer:training the model with complete data DEBUG:TrainableRules:fitting rules with params {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': TopDownGreedyBudget(absolute=False, value=0.5), 'uncertain_attributes': True} DEBUG:TrainableRules:pruned 2230/3204 branches w/ reduced error pruning DEBUG:TrainableRules:merged 27/3602 attributes DEBUG:Rules:compiling 487 rules DEBUG:FormatAnalyzer:Feature importances from sklearn.ensemble.RandomForestClassifier: left.2.diff_line 7.61725E-02 right.0.reserved.} 6.39678E-02 left.1.diff_col 3.78563E-02 left.0.length 3.68292E-02 left.0.internal_type.StringLiteral 3.68263E-02 left.1.diff_line 3.23583E-02 left.1.diff_offset 2.98796E-02 left.2.diff_offset 2.60910E-02 left.3.diff_line 2.35867E-02 node.0.start_col 2.31033E-02 left.1.reserved.' 2.28244E-02 left.1.reserved.; 1.79331E-02 left.0.reserved.; 1.61012E-02 left.0.label.<+space> 1.48565E-02 left.0.label. 1.43611E-02 left.0.internal_type.Identifier 1.40519E-02 left.0.roles.STRING 1.38824E-02 parents.0.roles.BLOCK 1.34483E-02 left.1.reserved.) 1.32779E-02 left.0.roles.EXPRESSION 1.31219E-02 left.2.reserved.{ 1.28709E-02 right.0.length 1.25768E-02 left.0.roles.IDENTIFIER 1.21829E-02 left.3.reserved.{ 1.18790E-02 left.1.label. 1.17047E-02 right.0.roles.STRING 1.16986E-02 left.4.diff_offset 1.10960E-02 left.0.reserved.= 9.84598E-03 parents.0.roles.DECLARATION 9.49386E-03 left.2.internal_type.Identifier 9.31795E-03 right.0.reserved.{ 9.23273E-03 left.0.label. 8.66536E-03 left.3.diff_col 8.61067E-03 left.3.reserved.; 8.43150E-03 left.0.roles.ARGUMENT 8.34395E-03 right.0.roles.LITERAL 8.31108E-03 left.2.diff_col 8.13256E-03 left.4.diff_line 8.03358E-03 left.3.diff_offset 7.76777E-03 right.0.internal_type.StringLiteral 7.63599E-03 left.0.label.<-space> 7.05778E-03 right.0.reserved.) 6.07661E-03 left.2.roles.LITERAL 6.03593E-03 parents.0.internal_type.ObjectExpression 5.95800E-03 left.1.roles.KEY 5.85473E-03 left.2.label. 5.75616E-03 parents.0.roles.CALL 5.71661E-03 left.0.reserved.{ 5.51083E-03 left.0.diff_line 5.48936E-03 left.1.label. 5.43135E-03 left.0.roles.CALL 5.30395E-03 right.0.roles.PATHNAME 5.00894E-03 left.1.roles.MAP 4.45547E-03 left.0.reserved.( 4.43506E-03 left.3.length 4.26555E-03 parents.0.roles.EXPRESSION 4.09946E-03 parents.0.roles.LIST 3.92440E-03 left.1.reserved.: 3.84452E-03 left.0.reserved., 3.83825E-03 left.1.internal_type.Identifier 3.67932E-03 right.0.reserved.; 3.53566E-03 right.0.internal_type.Identifier 3.45025E-03 left.4.internal_type.StringLiteral 3.41769E-03 left.4.diff_col 3.35879E-03 parents.0.internal_type.BlockStatement 3.34522E-03 left.0.reserved.: 3.13126E-03 left.3.label. 2.81728E-03 left.3.label.<-space> 2.80460E-03 parents.1.internal_type.VariableDeclaration 2.61965E-03 left.0.roles.LITERAL 2.59287E-03 right.1.length 2.54853E-03 left.2.roles.EXPRESSION 2.46834E-03 parents.0.internal_type.Program 2.40228E-03 left.2.length 2.37126E-03 parents.0.roles.VARIABLE 2.35682E-03 left.1.roles.FUNCTION 2.33662E-03 left.1.label." 2.33228E-03 left.0.internal_type.CommentLine 2.31298E-03 parents.1.roles.MODULE 2.21095E-03 right.0.roles.KEY 2.19754E-03 left.2.reserved.; 2.14535E-03 parents.0.roles.IDENTIFIER 2.12376E-03 parents.0.roles.BODY 2.06016E-03 left.0.roles.COMMENT 2.05708E-03 parents.0.internal_type.FunctionDeclaration 2.04514E-03 left.1.label.' 2.03759E-03 left.3.label. 2.00793E-03 right.1.reserved.: 2.00719E-03 left.2.roles.PATHNAME 2.00502E-03 left.1.length 1.98407E-03 left.2.reserved., 1.94818E-03 left.1.label.<-space> 1.94804E-03 left.4.label. 1.87288E-03 left.4.length 1.81247E-03 right.1.reserved.; 1.76406E-03 left.1.roles.EXPRESSION 1.71011E-03 right.0.roles.EXPRESSION 1.70972E-03 left.2.label.<+space> 1.68171E-03 left.2.reserved.( 1.66855E-03 left.4.roles.LITERAL 1.65935E-03 left.0.roles.PATHNAME 1.61832E-03 parents.1.roles.INITIALIZATION 1.60676E-03 parents.1.roles.BLOCK 1.51772E-03 parents.1.roles.DECLARATION 1.50198E-03 left.1.reserved.{ 1.46080E-03 left.2.roles.ARGUMENT 1.44793E-03 parents.1.roles.VARIABLE 1.44544E-03 right.0.roles.IDENTIFIER 1.43068E-03 left.2.internal_type.StringLiteral 1.39142E-03 parents.1.roles.INCOMPLETE 1.31484E-03 right.0.reserved.return 1.29613E-03 parents.0.internal_type.File 1.21547E-03 left.2.reserved.. 1.20278E-03 parents.0.roles.QUALIFIED 1.13938E-03 parents.1.roles.FILE 1.10199E-03 left.3.reserved., 1.09589E-03 parents.0.internal_type.ArrowFunctionExpression 1.08409E-03 right.4.roles.LITERAL 1.08386E-03 left.3.reserved.= 1.07183E-03 left.4.label.' 1.06512E-03 parents.0.roles.LITERAL 1.05222E-03 left.1.roles.IDENTIFIER 1.02757E-03 right.1.reserved., 1.02058E-03 parents.0.roles.MAP 9.96173E-04 left.2.label.<-space> 9.78987E-04 parents.0.roles.FUNCTION 9.76134E-04 right.2.roles.EXPRESSION 8.91020E-04 left.2.label. 8.37330E-04 left.3.internal_type.StringLiteral 7.93491E-04 left.4.reserved.import 7.79281E-04 right.0.roles.ARGUMENT 7.70978E-04 parents.0.internal_type.MemberExpression 7.16171E-04 left.3.roles.EXPRESSION 6.86120E-04 left.1.reserved.( 6.85491E-04 left.3.reserved.( 6.82632E-04 parents.1.roles.STATEMENT 6.70646E-04 left.3.roles.KEY 6.61935E-04 left.3.reserved.' 6.57351E-04 right.1.reserved.. 6.54802E-04 right.2.length 6.51400E-04 right.3.internal_type.CommentLine 6.18774E-04 left.3.roles.PATHNAME 6.06698E-04 left.4.roles.FUNCTION 5.92194E-04 left.0.roles.VALUE 5.72422E-04 left.4.reserved.' 5.72145E-04 right.2.reserved.( 5.63942E-04 left.1.roles.VALUE 5.63883E-04 left.4.internal_type.Identifier 5.45536E-04 node.0.start_line 5.26849E-04 left.2.roles.IDENTIFIER 4.77218E-04 right.3.length 4.45813E-04 parents.0.internal_type.CallExpression 4.42012E-04 left.4.reserved., 4.35872E-04 left.2.reserved.) 4.34486E-04 right.0.reserved.. 4.29920E-04 left.2.reserved.: 4.19348E-04 right.2.roles.IDENTIFIER 3.82028E-04 right.0.reserved.export 3.71101E-04 right.2.reserved.; 3.59629E-04 right.0.reserved.= 3.48344E-04 left.1.label.<+space> 3.44081E-04 left.0.reserved.) 3.39508E-04 left.4.roles.IDENTIFIER 3.35217E-04 left.1.roles.ARGUMENT 3.25395E-04 left.1.roles.CALL 3.23975E-04 parents.1.roles.EXPRESSION 3.16973E-04 right.2.internal_type.StringLiteral 3.15378E-04 right.1.internal_type.Identifier 3.09197E-04 parents.0.roles.ARGUMENT 3.04636E-04 parents.0.roles.BINARY 3.02407E-04 left.4.roles.MAP 2.78094E-04 left.3.label.<+space> 2.76873E-04 parents.0.roles.INITIALIZATION 2.66655E-04 right.4.length 2.57779E-04 parents.0.roles.IF 2.57120E-04 parents.1.roles.OPERATOR 2.57064E-04 left.0.diff_col 2.55883E-04 right.0.reserved.from 2.54065E-04 right.4.reserved., 2.53747E-04 right.1.reserved.= 2.49266E-04 left.3.reserved.import 2.36412E-04 left.2.reserved.> 2.31060E-04 left.3.roles.ARGUMENT 2.20821E-04 right.4.roles.IMPORT 2.19502E-04 left.4.label. 2.12271E-04 left.3.roles.IDENTIFIER 2.11849E-04 parents.0.roles.STATEMENT 2.11359E-04 parents.1.roles.CALLEE 2.09871E-04 right.1.roles.PATHNAME 2.08291E-04 parents.1.roles.FUNCTION 2.07099E-04 right.0.roles.BINARY 1.98176E-04 parents.0.roles.FILE 1.96460E-04 left.4.label.<+space> 1.95281E-04 parents.1.roles.ARITHMETIC 1.92593E-04 right.4.roles.ARGUMENT 1.90267E-04 right.0.roles.VALUE 1.86326E-04 left.0.roles.MAP 1.76275E-04 right.4.internal_type.StringLiteral 1.74931E-04 right.4.reserved.( 1.73297E-04 parents.0.roles.SCOPE 1.71006E-04 left.2.reserved.` 1.70785E-04 left.4.label." 1.68664E-04 left.3.internal_type.JSXIdentifier 1.65873E-04 left.4.roles.CALLEE 1.63658E-04 parents.0.internal_type.ObjectProperty 1.54159E-04 parents.0.internal_type.VariableDeclarator 1.53358E-04 left.2.reserved.' 1.49741E-04 left.3.roles.MAP 1.49230E-04 right.1.roles.EXPRESSION 1.47218E-04 right.4.roles.CALL 1.46006E-04 left.4.reserved.const 1.44834E-04 left.0.reserved.' 1.44299E-04 parents.1.internal_type.Program 1.43155E-04 left.4.roles.CALL 1.39604E-04 right.3.reserved.} 1.36730E-04 parents.1.roles.ASSIGNMENT 1.31756E-04 right.4.reserved.} 1.31536E-04 parents.1.roles.ARGUMENT 1.30621E-04 right.1.internal_type.CommentLine 1.28883E-04 left.3.roles.LITERAL 1.26570E-04 parents.0.roles.OPERATOR 1.23605E-04 parents.1.roles.IDENTIFIER 1.23520E-04 parents.1.internal_type.MemberExpression 1.18843E-04 parents.1.internal_type.BlockStatement 1.16954E-04 parents.0.roles.IMPORT 1.15914E-04 left.4.reserved." 1.14193E-04 right.1.roles.BINARY 1.09321E-04 parents.1.internal_type.ExpressionStatement 1.08596E-04 right.4.roles.STRING 1.07244E-04 right.4.roles.KEY 1.02212E-04 right.1.reserved.) 1.01387E-04 parents.0.roles.ADD 9.71690E-05 right.1.reserved.( 9.38921E-05 right.4.reserved.{ 9.16853E-05 right.1.reserved.] 8.86540E-05 right.3.internal_type.StringLiteral 7.97757E-05 left.4.roles.ARGUMENT 7.86280E-05 parents.1.internal_type.File 7.42822E-05 parents.1.roles.CALL 7.41317E-05 left.0.roles.RIGHT 7.28625E-05 parents.0.roles.MODULE 7.28192E-05 right.2.reserved., 6.99077E-05 left.1.reserved.= 6.92836E-05 parents.1.internal_type.CallExpression 6.82301E-05 right.0.roles.MAP 6.65284E-05 left.3.internal_type.Identifier 6.64545E-05 right.3.reserved.( 6.64169E-05 right.2.roles.STRING 6.30495E-05 left.2.reserved.export 6.09426E-05 right.0.roles.FUNCTION 6.07586E-05 left.1.roles.STRING 5.86167E-05 right.1.roles.MAP 5.50765E-05 parents.1.internal_type.ArrowFunctionExpression 5.41771E-05 right.0.reserved.... 5.40380E-05 left.0.reserved.import 5.35986E-05 left.0.reserved.> 5.28298E-05 right.2.internal_type.Identifier 5.24194E-05 left.3.reserved.. 5.23713E-05 parents.1.roles.QUALIFIED 4.94541E-05 left.3.roles.STRING 4.84868E-05 right.3.reserved.; 4.79995E-05 parents.0.internal_type.LogicalExpression 4.67749E-05 left.3.reserved.) 4.52827E-05 left.4.roles.STRING 4.50613E-05 parents.0.internal_type.ConditionalExpression 4.45148E-05 parents.1.internal_type.ReturnStatement 4.41913E-05 right.0.reserved.+ 3.78186E-05 left.2.roles.STRING 3.66410E-05 parents.0.internal_type.ArrayExpression 3.60036E-05 right.3.roles.FUNCTION 3.45195E-05 right.1.reserved.} 3.31362E-05 right.2.reserved.= 3.27174E-05 parents.0.roles.CALLEE 3.20298E-05 parents.1.internal_type.FunctionExpression 3.03459E-05 left.2.reserved.[ 2.59933E-05 left.4.reserved.) 2.57181E-05 left.1.roles.LITERAL 2.52950E-05 left.2.roles.CALL 2.49363E-05 left.4.reserved.: 2.36224E-05 right.0.roles.CALL 2.30735E-05 right.1.roles.VALUE 2.05961E-05 parents.1.internal_type.ObjectExpression 1.97548E-05 left.3.roles.BINARY 1.95247E-05 right.2.roles.KEY 1.79502E-05 right.0.reserved.const 1.74690E-05 right.1.reserved.> 1.64448E-05 right.4.reserved.function 1.63719E-05 right.4.roles.FUNCTION 1.52702E-05 right.2.roles.VALUE 1.49297E-05 left.0.roles.LEFT 1.46704E-05 left.3.reserved.: 1.41474E-05 left.4.label.<-space> 1.33249E-05 parents.0.roles.INCOMPLETE 1.26785E-05 parents.1.roles.BOOLEAN 1.26070E-05 right.4.roles.MAP 1.14213E-05 right.1.roles.IDENTIFIER 1.11269E-05 left.2.roles.MAP 1.07710E-05 INFO:12d7:FormatAnalyzer:trained {'__init__': True, 'created_at': datetime.datetime(2018, 10, 10, 19, 57, 22, 11786), 'dependencies': [], 'model': 'code-format', 'uuid': 'ec5f1f54-9d05-4d93-af5b-8e650ebecff2', 'version': ['1']} style.format.analyzer.FormatAnalyzer/['1'] someurl somecommit # javascript 487 rules, avg.len. 7.3 ```
Eval log ```console $ analyzer tool lookout.style.format eval -i '../js/freeCodeCamp/**/*' -m model.asdf /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release. from numpy.core.umath_tests import inner1d INFO:d85e:code-format:Reading model.asdf... DEBUG:Rules:compiling 487 rules Model parameters: {'feature_extractor': {'debug_parsing': False, 'insert_noops': False, 'left_features': ['length', 'diff_offset', 'diff_col', 'diff_line', 'internal_type', 'label', 'reserved', 'roles'], 'left_siblings_window': 5, 'no_labels_on_right': True, 'node_features': ['start_line', 'start_col'], 'parent_features': ['internal_type', 'roles'], 'parents_depth': 2, 'remove_constant_features': True, 'return_sibling_indices': False, 'right_features': ['length', 'internal_type', 'reserved', 'roles'], 'right_siblings_window': 5, 'select_features_number': 500, 'selected_features': array([ 0, 1, 2, 3, 32, 69, 125, 156, 158, 159, 160, 163, 166, 168, 171, 193, 202, 212, 214, 217, 218, 226, 232, 236, 253, 258, 259, 261, 265, 266, 274, 279, 280, 281, 294, 298, 304, 308, 317, 321, 325, 327, 334, 339, 340, 351, 358, 362, 374, 379, 380, 381, 394, 446, 464, 502, 533, 535, 536, 537, 540, 541, 543, 545, 546, 548, 595, 636, 638, 642, 643, 647, 651, 654, 656, 657, 658, 664, 665, 671, 673, 675, 679, 681, 682, 694, 698, 702, 707, 710, 716, 717, 735, 739, 747, 751, 756, 757, 758, 771, 823, 879, 910, 912, 913, 914, 917, 918, 920, 922, 925, 966, 980, 990, 1003, 1007, 1012, 1019, 1020, 1024, 1028, 1033, 1034, 1035, 1041, 1048, 1052, 1058, 1071, 1079, 1081, 1084, 1087, 1088, 1093, 1094, 1105, 1112, 1116, 1128, 1133, 1134, 1135, 1163, 1200, 1218, 1256, 1287, 1289, 1290, 1291, 1294, 1297, 1299, 1302, 1343, 1349, 1384, 1390, 1392, 1396, 1397, 1401, 1405, 1410, 1411, 1412, 1425, 1427, 1429, 1433, 1435, 1436, 1439, 1448, 1452, 1456, 1458, 1464, 1470, 1471, 1475, 1482, 1489, 1493, 1501, 1505, 1510, 1511, 1512, 1577, 1633, 1664, 1666, 1667, 1668, 1671, 1672, 1674, 1676, 1679, 1701, 1720, 1734, 1736, 1744, 1766, 1769, 1773, 1774, 1778, 1782, 1787, 1788, 1789, 1795, 1802, 1812, 1813, 1829, 1833, 1835, 1841, 1847, 1848, 1859, 1870, 1899, 1951, 1988, 2007, 2038, 2040, 2041, 2043, 2056, 2065, 2084, 2086, 2089, 2090, 2098, 2104, 2108, 2123, 2131, 2133, 2136, 2137, 2141, 2142, 2146, 2149, 2151, 2152, 2166, 2170, 2174, 2176, 2177, 2189, 2193, 2197, 2199, 2202, 2205, 2206, 2211, 2212, 2216, 2220, 2223, 2230, 2234, 2246, 2278, 2315, 2333, 2352, 2371, 2402, 2404, 2407, 2429, 2448, 2450, 2453, 2454, 2462, 2464, 2468, 2487, 2494, 2497, 2501, 2502, 2506, 2510, 2513, 2515, 2516, 2526, 2530, 2532, 2534, 2538, 2540, 2541, 2544, 2553, 2557, 2561, 2562, 2563, 2566, 2569, 2570, 2575, 2576, 2580, 2584, 2587, 2594, 2598, 2606, 2610, 2642, 2679, 2735, 2766, 2768, 2771, 2793, 2812, 2817, 2818, 2836, 2851, 2861, 2865, 2866, 2874, 2879, 2880, 2902, 2908, 2909, 2917, 2925, 2933, 2934, 2939, 2940, 2944, 2951, 2962, 2974, 3006, 3099, 3130, 3132, 3135, 3176, 3182, 3200, 3222, 3229, 3230, 3238, 3244, 3272, 3285, 3291, 3303, 3308, 3315, 3326, 3463, 3494, 3496, 3499, 3540, 3545, 3546, 3574, 3602, 3608, 3622, 3632, 3645, 3649, 3655, 3661, 3667, 3668, 3679, 3690, 3708, 3711, 3712, 3713, 3716, 3718, 3723, 3725, 3735, 3762, 3766, 3767, 3772, 3774, 3782, 3798, 3799, 3809, 3812, 3820, 3852, 3858, 3859, 3861, 3862, 3863, 3865, 3867, 3868, 3869, 3871, 3872, 3876, 3878, 3884, 3885, 3888, 3891, 3892, 3893, 3894, 3895, 3897, 3901, 3905, 3906, 3907, 3908, 3916, 3917, 3921, 3923, 3927, 3928, 3942, 3947, 3950, 3955, 3957, 3962, 3965, 3998, 4000, 4001, 4005, 4006, 4031, 4037, 4038, 4048, 4050, 4059, 4063, 4090, 4091, 4097, 4100, 4101, 4102, 4106, 4107, 4108, 4110, 4111, 4117, 4123, 4124, 4127, 4131, 4134, 4136, 4144, 4145, 4146, 4147, 4155, 4160, 4163, 4164, 4166, 4167, 4181, 4182])}, 'line_length_limit': 500, 'lower_bound_instances': 500, 'n_iter': 5, 'n_jobs': -1, 'trainable_rules': {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio':464it [00:03, 142.88it/s] 'top_down_greedy_budget': [False, 0.5], 'uncertain_attributes': True}} DEBUG:FeaturesExtractor:Features shape: (48488, 500) DEBUG:Rules:predicting 48488 samples using 487 rules Stats about rules: 487 rules, avg.len. 7.3 Number of files: 198 Classification report: precision recall f1-score support 0.91 0.92 0.92 17326 0.89 0.87 0.88 13416 <+space> 0.92 0.98 0.95 5931 <-space> 0.97 0.98 0.97 5931 ' 0.93 0.93 0.93 5668 " 1.00 0.09 0.17 216 avg / total 0.92 0.92 0.92 48488 Confusion matrix: [[15952 1258 54 0 62 0] [ 1352 11665 111 119 169 0] [ 23 18 5802 78 10 0] [ 36 69 6 5820 0 0] [ 73 25 321 1 5248 0] [ 2 8 6 0 180 20]] Files with most errors: ('../js/freeCodeCamp/common/models/user.js', 289) ('../js/freeCodeCamp/public/js/calculator.js', 285) ('../js/freeCodeCamp/common/app/Map/redux/utils.test.js', 169) ('../js/freeCodeCamp/server/utils/user-stats.test.js', 138) ('../js/freeCodeCamp/server/boot/challenge.js', 111) ('../js/freeCodeCamp/server/boot/certificate.js', 102) ('../js/freeCodeCamp/gulpfile.js', 97) ('../js/freeCodeCamp/server/boot/randomAPIs.js', 91) ('../js/freeCodeCamp/common/app/routes/Settings/redux/update-user-epic.js', 89) ('../js/freeCodeCamp/common/app/entities/index.js', 83) ('../js/freeCodeCamp/server/component-passport.js', 77) ('../js/freeCodeCamp/server/boot/authentication.js', 76) ('../js/freeCodeCamp/seed/test-challenges.js', 74) ('../js/freeCodeCamp/common/utils/ajax-stream.js', 73) ('../js/freeCodeCamp/server/boot/settings.js', 72) ('../js/freeCodeCamp/server/utils/map.js', 67) ('../js/freeCodeCamp/server/boot/news.js', 55) ('../js/freeCodeCamp/server/boot/user.js', 52) ('../js/freeCodeCamp/common/models/User-Identity.js', 50) ('../js/freeCodeCamp/server/boot/commit.js', 49) ('../js/freeCodeCamp/common/app/redux/index.js', 49) ('../js/freeCodeCamp/news/routes/Show/Show.js', 47) ('../js/freeCodeCamp/seed/index.js', 47) ('../js/freeCodeCamp/common/app/routes/Settings/redux/index.js', 47) ('../js/freeCodeCamp/news/components/BannerWide.js', 42) ('../js/freeCodeCamp/news/routes/Featured/Featured.js', 38) ('../js/freeCodeCamp/common/utils/polyvinyl.js', 38) ('../js/freeCodeCamp/server/boot/z-a-react.js', 35) ('../js/freeCodeCamp/server/middlewares/error-handlers.js', 34) ('../js/freeCodeCamp/server/utils/getDynamicPropsForUser.js', 32) ('../js/freeCodeCamp/common/models/promo.js', 31) ('../js/freeCodeCamp/server/boot/donate.js', 29) ('../js/freeCodeCamp/server/middlewares/csp.js', 28) ('../js/freeCodeCamp/common/app/Map/redux/index.js', 27) ('../js/freeCodeCamp/common/app/Map/redux/utils.js', 26) ('../js/freeCodeCamp/common/utils/map.js', 26) ('../js/freeCodeCamp/server/utils/commit.js', 25) ('../js/freeCodeCamp/server/rss/index.js', 25) ('../js/freeCodeCamp/server/services/mapUi.js', 24) ('../js/freeCodeCamp/common/app/utils/form.js', 24) ('../js/freeCodeCamp/server/utils/date-utils.test.js', 23) ('../js/freeCodeCamp/news/components/ArticleMeta.js', 23) ('../js/freeCodeCamp/client/epics/mouse-trap-epic.js', 23) ('../js/freeCodeCamp/server/boot/sitemap.js', 22) ('../js/freeCodeCamp/common/app/Router/handle-press.js', 22) ('../js/freeCodeCamp/common/utils/encode-decode.test.js', 22) ('../js/freeCodeCamp/server/services/challenge.js', 21) ('../js/freeCodeCamp/server/middlewares/add-return-to.js', 20) ('../js/freeCodeCamp/server/middlewares/validator.js', 20) ('../js/freeCodeCamp/server/boot/home.js', 20) ('../js/freeCodeCamp/news/components/Nav/LargeNav.js', 20) ('../js/freeCodeCamp/client/index.js', 20) ('../js/freeCodeCamp/common/resource/academicPolicy.js', 20) ('../js/freeCodeCamp/server/middlewares/jade-helpers.js', 19) ('../js/freeCodeCamp/news/components/Nav/components/NavLogo.js', 19) ('../js/freeCodeCamp/seed/createPathMigrationMap.js', 19) ('../js/freeCodeCamp/common/app/Toasts/redux/index.js', 19) ('../js/freeCodeCamp/webpack.config.js', 18) ('../js/freeCodeCamp/server/utils/user-stats.js', 18) ('../js/freeCodeCamp/common/models/User-Credential.js', 18) ('../js/freeCodeCamp/news/components/Nav/MediumNav.js', 17) ('../js/freeCodeCamp/common/app/redux/night-mode-epic.js', 17) ('../js/freeCodeCamp/common/app/routes/Settings/redux/certificate-epic.js', 17) ('../js/freeCodeCamp/server/services/user.js', 16) ('../js/freeCodeCamp/server/middlewares/jwt-authorization.js', 16) ('../js/freeCodeCamp/news/components/Nav/SmallNav.js', 16) ('../js/freeCodeCamp/common/app/Nav/redux/index.js', 16) ('../js/freeCodeCamp/server/middlewares/flash-cheaters.js', 15) ('../js/freeCodeCamp/server/utils/auth.js', 15) ('../js/freeCodeCamp/server/utils/publicUserProps.js', 15) ('../js/freeCodeCamp/server/server.js', 14) ('../js/freeCodeCamp/server/utils/about.js', 14) ('../js/freeCodeCamp/news/components/Nav/Nav.js', 14) ('../js/freeCodeCamp/client/utils/flash-to-toast.test.js', 14) ('../js/freeCodeCamp/server/middlewares/email-not-verified-notice.js', 13) ('../js/freeCodeCamp/server/utils/getFromDisk$.js', 13) ('../js/freeCodeCamp/common/app/Map/redux/fetch-map-ui-epic.js', 13) ('../js/freeCodeCamp/common/app/routes/Profile/redux/index.js', 13) ('../js/freeCodeCamp/common/app/Flash/redux/index.js', 13) ('../js/freeCodeCamp/server/utils/superBlockCertTypeMap.js', 12) ('../js/freeCodeCamp/server/boot/redirects.js', 12) ('../js/freeCodeCamp/server/boot/explorer.js', 12) ('../js/freeCodeCamp/news/routes/index.js', 12) ('../js/freeCodeCamp/common/app/routes/Settings/redux/danger-zone-epic.js', 12) ('../js/freeCodeCamp/common/app/routes/Settings/formHelpers/index.js', 12) ('../js/freeCodeCamp/common/app/Router/to-url.js', 12) ('../js/freeCodeCamp/common/utils/jsonp$.js', 12) ('../js/freeCodeCamp/server/rss/lybsyn.js', 11) ('../js/freeCodeCamp/news/components/Nav/components/NavLinks.js', 11) ('../js/freeCodeCamp/common/app/Flash/redux/utils.js', 11) ('../js/freeCodeCamp/server/utils/create-handled-error.js', 10) ('../js/freeCodeCamp/server/rss/medium.js', 10) ('../js/freeCodeCamp/server/middlewares/privacy-terms-notice.js', 9) ('../js/freeCodeCamp/config/secrets.js', 9) ('../js/freeCodeCamp/news/client.js', 9) ('../js/freeCodeCamp/seed/addAssertsToTapTest.js', 9) ('../js/freeCodeCamp/seed/schema/challengeSchema.js', 9) ('../js/freeCodeCamp/common/app/helperComponents/SlimWidthRow.js', 9) ('../js/freeCodeCamp/common/utils/index.js', 9) ('../js/freeCodeCamp/server/production-start.js', 8) ('../js/freeCodeCamp/server/models/about.js', 8) ('../js/freeCodeCamp/server/utils/url-utils.js', 8) ('../js/freeCodeCamp/config/ensure-env.js', 8) ('../js/freeCodeCamp/news/routes/Show/components/Author.js', 8) ('../js/freeCodeCamp/client/epics/analytics-epic.js', 8) ('../js/freeCodeCamp/common/app/redux/fetch-user-epic.js', 8) ('../js/freeCodeCamp/common/app/utils/shallow-equals.js', 8) ('../js/freeCodeCamp/common/app/utils/blockNameify.js', 8) ('../js/freeCodeCamp/server/boot/z-not-found.js', 7) ('../js/freeCodeCamp/news/utils/ajax.js', 7) ('../js/freeCodeCamp/common/models/challenge.js', 7) ('../js/freeCodeCamp/common/models/block.js', 7) ('../js/freeCodeCamp/common/app/routes/Settings/utils/buildUserProjectsMap.js', 7) ('../js/freeCodeCamp/common/utils/legacyProjectData.js', 7) ('../js/freeCodeCamp/server/datasources.development.js', 6) ('../js/freeCodeCamp/server/middlewares/error-reporter.js', 6) ('../js/freeCodeCamp/common/models/popularity.js', 6) ('../js/freeCodeCamp/common/app/epics.js', 6) ('../js/freeCodeCamp/common/app/analytics/index.js', 6) ('../js/freeCodeCamp/common/utils/services-creator.js', 6) ('../js/freeCodeCamp/common/utils/flash.js', 6) ('../js/freeCodeCamp/server/models/donation.js', 5) ('../js/freeCodeCamp/server/models/auth-token.js', 5) ('../js/freeCodeCamp/server/utils/middleware.js', 5) ('../js/freeCodeCamp/news/NewsApp.js', 5) ('../js/freeCodeCamp/common/app/provide-store.js', 5) ('../js/freeCodeCamp/common/app/routes/redux.js', 5) ('../js/freeCodeCamp/common/app/routes/Settings/redux/new-username-epic.js', 5) ('../js/freeCodeCamp/common/utils/themes.js', 5) ('../js/freeCodeCamp/server/middlewares/sessions.js', 4) ('../js/freeCodeCamp/server/utils/index.js', 4) ('../js/freeCodeCamp/server/utils/constants.js', 4) ('../js/freeCodeCamp/server/boot/t-wiki.js', 4) ('../js/freeCodeCamp/server/boot/a-services.js', 4) ('../js/freeCodeCamp/common/app/routes-map.js', 4) ('../js/freeCodeCamp/common/app/reducer.js', 4) ('../js/freeCodeCamp/common/app/utils/create-types.js', 4) ('../js/freeCodeCamp/common/utils/encode-decode.js', 4) ('../js/freeCodeCamp/pm2Start.js', 3) ('../js/freeCodeCamp/server/middlewares/constant-headers.js', 3) ('../js/freeCodeCamp/server/utils/lang-passthrough-urls.js', 3) ('../js/freeCodeCamp/server/utils/rx.js', 3) ('../js/freeCodeCamp/server/boot/a-extend-built-ins.js', 3) ('../js/freeCodeCamp/news/components/Nav/navPropTypes.js', 3) ('../js/freeCodeCamp/common/app/utils/get-words.js', 3) ('../js/freeCodeCamp/common/app/Router/redux/index.js', 3) ('../js/freeCodeCamp/common/utils/wait-for-epics.js', 3) ('../js/freeCodeCamp/server/datasources.production.js', 2) ('../js/freeCodeCamp/server/debug-entry.js', 2) ('../js/freeCodeCamp/server/passport-providers.js', 2) ('../js/freeCodeCamp/server/config.development.js', 2) ('../js/freeCodeCamp/server/config.local.js', 2) ('../js/freeCodeCamp/server/middlewares/csurf.js', 2) ('../js/freeCodeCamp/server/utils/date-utils.js', 2) ('../js/freeCodeCamp/server/utils/webpack-code-split-polyfill.js', 2) ('../js/freeCodeCamp/seed/mongoIds.js', 2) ('../js/freeCodeCamp/client/utils/send-page-analytics.js', 2) ('../js/freeCodeCamp/client/utils/flash-to-toast.js', 2) ('../js/freeCodeCamp/client/epics/title-epic.js', 2) ('../js/freeCodeCamp/client/epics/index.js', 2) ('../js/freeCodeCamp/client/epics/err-epic.js', 2) ('../js/freeCodeCamp/common/config.global.js', 2) ('../js/freeCodeCamp/common/models/article.js', 2) ('../js/freeCodeCamp/common/app/redux/utils.js', 2) ('../js/freeCodeCamp/common/app/routes/index.js', 2) ('../js/freeCodeCamp/common/app/utils/empty-protector.js', 2) ('../js/freeCodeCamp/common/app/Flash/redux/get-messages-epic.js', 2) ('../js/freeCodeCamp/server/middlewares/passport-login.js', 1) ('../js/freeCodeCamp/server/utils/bad-id-map.js', 1) ('../js/freeCodeCamp/news/routes/Editor/index.js', 1) ('../js/freeCodeCamp/news/routes/Latest/Latest.js', 1) ('../js/freeCodeCamp/news/routes/EditArticle/EditArticle.js', 1) ('../js/freeCodeCamp/seed/challengeTitles.js', 1) ('../js/freeCodeCamp/client/epics/hard-go-to-epic.js', 1) ('../js/freeCodeCamp/common/app/Nav/navPropTypes.js', 1) ('../js/freeCodeCamp/common/app/routes/Profile/index.js', 1) ('../js/freeCodeCamp/common/app/routes/Settings/index.js', 1) 379955553 function calls (379947506 primitive calls) in 135.559 seconds Ordered by: cumulative time, internal time List reduced from 1266 to 20 due to restriction <20> ncalls tottime percall cumtime percall filename:lineno(function) 1 0.030 0.030 135.623 135.623 quality_report.py:15(quality_report) 1 0.019 0.019 73.740 73.740 feature_extractor.py:192(extract_features) 198 1.464 0.007 71.011 0.359 feature_extractor.py:475(_inplace_write_vnode_features) 619961 2.677 0.000 68.549 0.000 feature_extractor.py:459(_inplace_write_features) 619961 8.538 0.000 65.762 0.000 feature_extractor.py:471() 1 0.470 0.470 58.384 58.384 rules.py:75(predict) 48488 34.479 0.001 57.691 0.001 rules.py:147(_compute_triggered) 24435597 7.411 0.000 49.661 0.000 feature_extractor.py:416(_get_features) 26929449 25.575 0.000 41.574 0.000 feature_extractor.py:423() 9694229 3.959 0.000 21.494 0.000 fromnumeric.py:1104(searchsorted) 9791205 3.298 0.000 17.776 0.000 fromnumeric.py:49(_wrapfunc) 9694229 12.946 0.000 12.946 0.000 {method 'searchsorted' of 'numpy.ndarray' objects} 86863896 5.358 0.000 5.617 0.000 features.py:210(__call__) 50861097 3.984 0.000 4.851 0.000 features.py:265(__call__) 24490156 3.947 0.000 3.947 0.000 {built-in method builtins.min} 23913298 3.825 0.000 3.825 0.000 {built-in method builtins.max} 59941250 3.590 0.000 3.635 0.000 features.py:247(__call__) 1 0.180 0.180 3.256 3.256 utils.py:17(prepare_files) 464 0.007 0.000 3.007 0.006 client.py:51(parse) 464 0.001 0.000 2.989 0.006 _channel.py:512(__call__) ```
Rule log ```console $ analyzer tool lookout.style.format rule -i '../js/freeCodeCamp/**/*' -m model.asdf /home/mog/.virtualenvs/style-analyzer/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release. from numpy.core.umath_tests import inner1d INFO:cf98:code-format:Reading model.asdf... DEBUG:Rules:compiling 487 rules Model parameters: {'feature_extractor': {'debug_parsing': False, 'insert_noops': False, 'left_features': ['length', 'diff_offset', 'diff_col', 'diff_line', 'internal_type', 'label', 'reserved', 'roles'], 'left_siblings_window': 5, 'no_labels_on_right': True, 'node_features': ['start_line', 'start_col'], 'parent_features': ['internal_type', 'roles'], 'parents_depth': 2, 'remove_constant_features': True, 'return_sibling_indices': False, 'right_features': ['length', 'internal_type', 'reserved', 'roles'], 'right_siblings_window': 5, 'select_features_number': 500, 'selected_features': array([ 0, 1, 2, 3, 32, 69, 125, 156, 158, 159, 160, 163, 166, 168, 171, 193, 202, 212, 214, 217, 218, 226, 232, 236, 253, 258, 259, 261, 265, 266, 274, 279, 280, 281, 294, 298, 304, 308, 317, 321, 325, 327, 334, 339, 340, 351, 358, 362, 374, 379, 380, 381, 394, 446, 464, 502, 533, 535, 536, 537, 540, 541, 543, 545, 546, 548, 595, 636, 638, 642, 643, 647, 651, 654, 656, 657, 658, 664, 665, 671, 673, 675, 679, 681, 682, 694, 698, 702, 707, 710, 716, 717, 735, 739, 747, 751, 756, 757, 758, 771, 823, 879, 910, 912, 913, 914, 917, 918, 920, 922, 925, 966, 980, 990, 1003, 1007, 1012, 1019, 1020, 1024, 1028, 1033, 1034, 1035, 1041, 1048, 1052, 1058, 1071, 1079, 1081, 1084, 1087, 1088, 1093, 1094, 1105, 1112, 1116, 1128, 1133, 1134, 1135, 1163, 1200, 1218, 1256, 1287, 1289, 1290, 1291, 1294, 1297, 1299, 1302, 1343, 1349, 1384, 1390, 1392, 1396, 1397, 1401, 1405, 1410, 1411, 1412, 1425, 1427, 1429, 1433, 1435, 1436, 1439, 1448, 1452, 1456, 1458, 1464, 1470, 1471, 1475, 1482, 1489, 1493, 1501, 1505, 1510, 1511, 1512, 1577, 1633, 1664, 1666, 1667, 1668, 1671, 1672, 1674, 1676, 1679, 1701, 1720, 1734, 1736, 1744, 1766, 1769, 1773, 1774, 1778, 1782, 1787, 1788, 1789, 1795, 1802, 1812, 1813, 1829, 1833, 1835, 1841, 1847, 1848, 1859, 1870, 1899, 1951, 1988, 2007, 2038, 2040, 2041, 2043, 2056, 2065, 2084, 2086, 2089, 2090, 2098, 2104, 2108, 2123, 2131, 2133, 2136, 2137, 2141, 2142, 2146, 2149, 2151, 2152, 2166, 2170, 2174, 2176, 2177, 2189, 2193, 2197, 2199, 2202, 2205, 2206, 2211, 2212, 2216, 2220, 2223, 2230, 2234, 2246, 2278, 2315, 2333, 2352, 2371, 2402, 2404, 2407, 2429, 2448, 2450, 2453, 2454, 2462, 2464, 2468, 2487, 2494, 2497, 2501, 2502, 2506, 2510, 2513, 2515, 2516, 2526, 2530, 2532, 2534, 2538, 2540, 2541, 2544, 2553, 2557, 2561, 2562, 2563, 2566, 2569, 2570, 2575, 2576, 2580, 2584, 2587, 2594, 2598, 2606, 2610, 2642, 2679, 2735, 2766, 2768, 2771, 2793, 2812, 2817, 2818, 2836, 2851, 2861, 2865, 2866, 2874, 2879, 2880, 2902, 2908, 2909, 2917, 2925, 2933, 2934, 2939, 2940, 2944, 2951, 2962, 2974, 3006, 3099, 3130, 3132, 3135, 3176, 3182, 3200, 3222, 3229, 3230, 3238, 3244, 3272, 3285, 3291, 3303, 3308, 3315, 3326, 3463, 3494, 3496, 3499, 3540, 3545, 3546, 3574, 3602, 3608, 3622, 3632, 3645, 3649, 3655, 3661, 3667, 3668, 3679, 3690, 3708, 3711, 3712, 3713, 3716, 3718, 3723, 3725, 3735, 3762, 3766, 3767, 3772, 3774, 3782, 3798, 3799, 3809, 3812, 3820, 3852, 3858, 3859, 3861, 3862, 3863, 3865, 3867, 3868, 3869, 3871, 3872, 3876, 3878, 3884, 3885, 3888, 3891, 3892, 3893, 3894, 3895, 3897, 3901, 3905, 3906, 3907, 3908, 3916, 3917, 3921, 3923, 3927, 3928, 3942, 3947, 3950, 3955, 3957, 3962, 3965, 3998, 4000, 4001, 4005, 4006, 4031, 4037, 4038, 4048, 4050, 4059, 4063, 4090, 4091, 4097, 4100, 4101, 4102, 4106, 4107, 4108, 4110, 4111, 4117, 4123, 4124, 4127, 4131, 4134, 4136, 4144, 4145, 4146, 4147, 4155, 4160, 4163, 4164, 4166, 4167, 4181, 4182])}, 'line_length_limit': 500, 'lower_bound_instances': 500, 'n_iter': 5, 'n_jobs': -1, 'trainable_rules': {'base_model_name': 'sklearn.ensemble.RandomForestClassifier', 'max_depth': 10, 'max_features': 'auto', 'min_samples_leaf': 7, 'min_samples_split': 14, 'n_estimators': 10, 'prune_attributes': False, 'prune_branches_algorithms': ['reduced-error'], 'prune_dataset_ratio': 0.2, 'random_state': 42, 'top_down_greedy_budget': [False, 0.5], 'uncertain_attributes': True}} Stats about rules: 487 rules, avg.len. 7.3 Rule 0: left.2.diff_line ≥ 1 ∧ left.4.diff_offset ≥ 4 ∧ right.0.reserved = } → y = ␣⁻ (0.95 confidence, 2220 support) Rule 1: left.2.diff_line ≥ 1 ∧ left.4.diff_offset ≥ 4 ∧ right.0.reserved = ) and not in {}} → y = ␣⁻ (0.86 confidence, 924 support) Rule 2: left.2.diff_line ≥ 1 ∧ left.3.reserved = ; ∧ left.4.diff_offset ≥ 4 ∧ right.0.reserved not in {), }} → y = ␣ (0.96 confidence, 821 support) Rule 3: left.2.diff_line ≥ 1 ∧ left.2.reserved = , ∧ left.3.diff_col ≥ 14 ∧ left.3.reserved not in {;} ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {), }} → y = ' (1.00 confidence, 106 support) Rule 4: left.1.label = <, n, e, w, l, i, n, e, > ∧ left.2.diff_line ≥ 1 ∧ left.2.reserved not in {,} ∧ left.3.diff_col ≥ 14 ∧ left.3.reserved not in {;} ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {), }} → y = ␣ (0.93 confidence, 263 support) Rule 5: left.1.label not in {} ∧ left.2.diff_line ≥ 1 ∧ left.2.reserved not in {,} ∧ left.3.diff_col ≥ 14 ∧ left.3.reserved not in {;} ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {), }} ∧ parents.1.internal_type = F, i, l, e → y = ⏎ (0.96 confidence, 42 support) Rule 6: left.1.label not in {} ∧ left.2.diff_line ≥ 1 ∧ left.2.reserved not in {,} ∧ left.3.diff_col ≥ 14 ∧ left.3.reserved not in {;} ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {), }} ∧ parents.1.internal_type not in {File} → y = ␣⁻ (0.52 confidence, 24 support) Rule 7: left.2.diff_line ≥ 1 ∧ left.3.diff_col ≤ 13 ∧ left.3.reserved not in {;} ∧ left.4.diff_col ≥ 1 ∧ left.4.diff_offset ≥ 6 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {), }} → y = ␣ (0.55 confidence, 28 support) Rule 8: left.2.diff_line ≥ 1 ∧ left.3.diff_col ≤ 13 ∧ left.3.reserved not in {;} ∧ left.4.diff_col = 0 ∧ left.4.diff_offset ≥ 6 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {), }} → y = ' (0.99 confidence, 49 support) Rule 9: left.2.diff_line ≥ 1 ∧ left.3.diff_col ≤ 13 ∧ left.3.reserved not in {;} ∧ left.4.diff_offset ≤ 6 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {), }} → y = ' (0.96 confidence, 102 support) Rule 10: left.0.length ≥ 2 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {;} ∧ left.4.diff_line ≥ 2 ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type not in {StringLiteral} ∧ right.0.reserved not in {), }} → y = ␣ (0.74 confidence, 507 support) Rule 11: left.0.length ≤ 1 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {;} ∧ left.4.diff_line ≥ 2 ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type not in {StringLiteral} ∧ right.0.reserved not in {), }} ∧ parents.0.roles in {FUNCTION} → y = ␣⁻ (0.50 confidence, 43 support) Rule 12: left.0.length ≤ 1 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {;} ∧ left.4.diff_line ≥ 2 ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type not in {StringLiteral} ∧ right.0.reserved not in {), }} ∧ parents.0.roles not in {FUNCTION} → y = ␣⁺ (0.40 confidence, 94 support) Rule 13: node.0.start_col ≥ 2 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {;} ∧ left.4.diff_line ≤ 1 ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type not in {StringLiteral} ∧ right.0.reserved not in {), }} → y = ␣⁺ (0.83 confidence, 4862 support) Rule 14: node.0.start_col ≤ 1 ∧ left.1.diff_offset ≥ 1 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {;} ∧ left.4.diff_line ≤ 1 ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type not in {StringLiteral} ∧ left.4.roles in {IDENTIFIER} ∧ right.0.reserved not in {), }} → y = ␣⁺ (0.65 confidence, 236 support) Rule 15: node.0.start_col ≤ 1 ∧ left.1.diff_offset ≥ 1 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {;} ∧ left.4.diff_line ≤ 1 ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type not in {StringLiteral} ∧ left.4.roles not in {IDENTIFIER} ∧ right.0.reserved not in {), }} → y = ⏎ (0.63 confidence, 1095 support) Rule 16: node.0.start_col ≤ 1 ∧ left.1.diff_offset = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {;} ∧ left.4.diff_line ≤ 1 ∧ left.4.diff_offset ≥ 4 ∧ left.4.internal_type not in {StringLiteral} ∧ right.0.reserved not in {), }} → y = ␣⁻ (0.99 confidence, 73 support) Rule 17: left.2.diff_line ≥ 1 ∧ left.4.diff_offset ≤ 3 → y = ␣⁻ (0.84 confidence, 1505 support) Rule 18: left.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ left.1.diff_col ≥ 2 ∧ left.2.diff_line = 0 → y = ' (0.96 confidence, 2214 support) Rule 19: left.0.internal_type not in {StringLiteral} ∧ left.1.diff_col ≥ 26 ∧ left.2.diff_line = 0 → y = ⏎ (0.97 confidence, 164 support) Rule 20: left.0.internal_type not in {StringLiteral} ∧ left.0.roles in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.2.diff_line = 0 → y = ␣ (0.77 confidence, 409 support) Rule 21: left.0.internal_type not in {StringLiteral} ∧ left.0.roles not in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.2.diff_line = 0 ∧ right.1.internal_type = C, o, m, m, e, n, t, L, i, n, e → y = ⏎ (0.97 confidence, 15 support) Rule 22: node.0.start_col ≥ 18 ∧ left.0.internal_type not in {StringLiteral} ∧ left.0.roles not in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≥ 15 ∧ right.1.internal_type not in {CommentLine} ∧ parents.0.internal_type = F, i, l, e → y = ⏎ (0.97 confidence, 45 support) Rule 23: node.0.start_col ≥ 18 ∧ left.0.internal_type not in {StringLiteral} ∧ left.0.roles not in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≤ 14 ∧ right.1.internal_type not in {CommentLine} ∧ parents.0.internal_type = F, i, l, e → y = ␣ (0.50 confidence, 13 support) Rule 24: node.0.start_col ≤ 17 ∧ left.0.internal_type not in {StringLiteral} ∧ left.0.roles not in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.2.diff_line = 0 ∧ left.2.reserved = e, x, p, o, r, t ∧ right.1.internal_type not in {CommentLine} ∧ parents.0.internal_type = F, i, l, e → y = ␣ (0.99 confidence, 63 support) Rule 25: node.0.start_col ≤ 17 ∧ left.0.internal_type not in {StringLiteral} ∧ left.0.roles not in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.1.length ≥ 2 ∧ left.2.diff_line = 0 ∧ left.2.reserved not in {export} ∧ right.1.internal_type not in {CommentLine} ∧ parents.0.internal_type = F, i, l, e → y = ⏎ (0.96 confidence, 14 support) Rule 26: node.0.start_col ≤ 17 ∧ left.0.internal_type not in {StringLiteral} ∧ left.0.roles not in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.1.length ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.reserved not in {export} ∧ right.1.internal_type not in {CommentLine} ∧ parents.0.internal_type = F, i, l, e → y = ␣ (0.94 confidence, 9 support) Rule 27: left.0.internal_type not in {StringLiteral} ∧ left.0.roles not in {VALUE} ∧ left.1.diff_col ≤ 25 ∧ left.2.diff_line = 0 ∧ right.1.internal_type not in {CommentLine} ∧ parents.0.internal_type not in {File} → y = ␣ (0.95 confidence, 4449 support) Rule 28: left.0.reserved = = ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 → y = ␣ (0.96 confidence, 1309 support) Rule 29: left.0.reserved = ; and not in {=} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 → y = ⏎ (1.00 confidence, 2946 support) Rule 30: left.0.reserved = : and not in {=, ;} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 → y = ␣ (0.98 confidence, 1287 support) Rule 31: left.0.reserved not in {=, :, ;} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ right.0.roles in {PATHNAME} → y = ' (1.00 confidence, 426 support) Rule 32: left.0.reserved not in {=, :, ;} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ right.0.roles not in {PATHNAME} ∧ parents.0.internal_type = A, r, r, o, w, F, u, n, c, t, i, o, n, E, x, p, r, e, s, s, i, o, n → y = ␣ (0.75 confidence, 1131 support) Rule 33: left.0.reserved = ( and not in {=, :, ;} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ right.0.roles not in {PATHNAME} ∧ parents.0.internal_type not in {ArrowFunctionExpression} → y = ' (0.52 confidence, 1047 support) Rule 34: left.0.reserved not in {=, (, :, ;} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ right.0.reserved = { ∧ right.0.roles not in {PATHNAME} ∧ parents.0.internal_type not in {ArrowFunctionExpression} → y = ␣ (0.93 confidence, 972 support) Rule 35: left.0.reserved not in {=, (, :, ;} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ right.0.reserved not in {{} ∧ right.0.roles not in {PATHNAME} ∧ parents.0.internal_type not in {ArrowFunctionExpression} → y = ⏎ (0.52 confidence, 9283 support) Rule 36: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≥ 2 ∧ left.2.reserved = { → y = ␣⁺ (1.00 confidence, 1139 support) Rule 37: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≥ 2 ∧ left.2.reserved not in {{} ∧ left.4.diff_line ≥ 2 → y = ␣ (0.95 confidence, 506 support) Rule 38: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≥ 2 ∧ left.2.reserved not in {{} ∧ left.4.diff_line ≤ 1 ∧ right.0.roles in {BINARY} → y = ' (0.73 confidence, 80 support) Rule 39: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≥ 2 ∧ left.2.reserved = ( and not in {{} ∧ left.4.diff_line ≤ 1 ∧ right.0.roles not in {BINARY} → y = ␣⁺ (1.00 confidence, 374 support) Rule 40: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≥ 2 ∧ left.2.reserved not in {{, (} ∧ left.4.diff_line ≤ 1 ∧ right.0.roles not in {BINARY} → y = ␣ (0.35 confidence, 1023 support) Rule 41: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ left.2.length ≥ 2 ∧ parents.1.roles in {INCOMPLETE} → y = ␣⁻ (0.61 confidence, 68 support) Rule 42: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ left.2.length ≤ 1 ∧ left.3.label = <, s, p, a, c, e, > ∧ parents.1.roles in {INCOMPLETE} → y = ␣⁺ (0.97 confidence, 160 support) Rule 43: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ left.1.reserved = { ∧ left.2.length ≤ 1 ∧ left.3.label not in {} ∧ parents.1.roles in {INCOMPLETE} → y = ␣⁺ (0.98 confidence, 144 support) Rule 44: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ left.1.reserved not in {{} ∧ left.2.length ≤ 1 ∧ left.3.label not in {} ∧ parents.1.roles in {INCOMPLETE} → y = ␣⁻ (0.68 confidence, 125 support) Rule 45: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ right.0.length ≥ 2 ∧ parents.0.roles in {BODY} ∧ parents.1.roles not in {INCOMPLETE} → y = ⏎ (0.71 confidence, 449 support) Rule 46: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ left.4.reserved = ' ∧ right.0.length ≥ 2 ∧ parents.0.roles not in {BODY} ∧ parents.1.roles not in {INCOMPLETE} → y = ⏎ (0.95 confidence, 222 support) Rule 47: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ left.4.reserved not in {'} ∧ right.0.length ≥ 2 ∧ parents.0.roles not in {BODY} ∧ parents.1.roles not in {INCOMPLETE} → y = ␣⁺ (0.51 confidence, 946 support) Rule 48: left.1.diff_line ≥ 1 ∧ left.1.diff_offset ≤ 1 ∧ right.0.length ≤ 1 ∧ parents.1.roles not in {INCOMPLETE} → y = ␣⁻ (0.97 confidence, 4187 support) Rule 49: left.0.roles in {LITERAL} ∧ left.1.diff_line = 0 ∧ left.3.diff_line ≥ 1 → y = ' (0.98 confidence, 430 support) Rule 50: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≥ 16 ∧ left.3.diff_line ≥ 1 ∧ left.4.diff_offset ≥ 30 → y = ⏎ (0.99 confidence, 308 support) Rule 51: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≥ 16 ∧ left.3.diff_line ≥ 1 ∧ left.4.diff_offset ≤ 29 ∧ right.2.reserved = ; → y = ␣ (0.97 confidence, 15 support) Rule 52: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≥ 16 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved = , ∧ left.4.diff_offset ≤ 29 ∧ right.2.reserved not in {;} → y = ⏎ (0.95 confidence, 47 support) Rule 53: left.0.roles in {COMMENT} and not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≥ 16 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved not in {,} ∧ left.4.diff_offset ≤ 29 ∧ right.2.reserved not in {;} → y = ⏎ (0.98 confidence, 33 support) Rule 54: left.0.roles not in {LITERAL, COMMENT} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≥ 16 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved not in {,} ∧ left.4.diff_offset ≤ 29 ∧ right.2.reserved not in {;} → y = ␣ (0.88 confidence, 29 support) Rule 55: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≤ 15 ∧ left.3.diff_line ≥ 1 ∧ left.4.length ≥ 9 ∧ right.0.internal_type = I, d, e, n, t, i, f, i, e, r → y = ␣ (0.95 confidence, 77 support) Rule 56: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≤ 15 ∧ left.2.diff_line ≥ 1 ∧ left.3.diff_line ≥ 1 ∧ left.4.length ≥ 9 ∧ right.0.internal_type not in {Identifier} → y = ⏎ (0.77 confidence, 62 support) Rule 57: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≤ 15 ∧ left.2.diff_line = 0 ∧ left.3.diff_line ≥ 1 ∧ left.4.length ≥ 9 ∧ right.0.internal_type not in {Identifier} → y = ␣ (0.78 confidence, 16 support) Rule 58: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.diff_offset ≤ 15 ∧ left.3.diff_line ≥ 1 ∧ left.4.length ≤ 8 → y = ␣ (0.91 confidence, 1918 support) Rule 59: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles in {KEY} ∧ left.3.diff_line ≥ 1 → y = ␣ (1.00 confidence, 608 support) Rule 60: left.0.reserved = ( ∧ left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles in {EXPRESSION} and not in {KEY} ∧ left.3.diff_line ≥ 1 → y = ' (0.82 confidence, 71 support) Rule 61: node.0.start_col ≥ 24 ∧ left.0.reserved not in {(} ∧ left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles in {EXPRESSION} and not in {KEY} ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≥ 22 → y = ⏎ (0.99 confidence, 49 support) Rule 62: node.0.start_col ≤ 23 ∧ left.0.reserved not in {(} ∧ left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles in {EXPRESSION} and not in {KEY} ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≥ 22 → y = ␣ (0.59 confidence, 35 support) Rule 63: left.0.reserved not in {(} ∧ left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles in {EXPRESSION} and not in {KEY} ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 21 → y = ⏎ (0.99 confidence, 232 support) Rule 64: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≥ 3 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved = , ∧ right.2.length ≥ 2 → y = ⏎ (0.78 confidence, 62 support) Rule 65: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≥ 3 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved = , ∧ right.2.length ≤ 2 → y = ␣⁺ (0.57 confidence, 22 support) Rule 66: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≥ 3 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved not in {,} → y = ␣⁺ (0.98 confidence, 1899 support) Rule 67: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.label = <, -, s, p, a, c, e, > ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_line ≥ 1 ∧ right.1.roles in {PATHNAME} → y = ␣ (0.98 confidence, 31 support) Rule 68: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.label = <, -, s, p, a, c, e, > ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_line ≥ 1 ∧ right.1.roles not in {PATHNAME} → y = ␣⁻ (0.67 confidence, 509 support) Rule 69: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.label not in {<-space>} ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_line ≥ 1 ∧ parents.0.internal_type = P, r, o, g, r, a, m → y = ␣ (0.75 confidence, 190 support) Rule 70: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.label not in {<-space>} ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_line ≥ 1 ∧ left.4.reserved = , ∧ parents.0.internal_type not in {Program} → y = ␣ (0.77 confidence, 24 support) Rule 71: left.0.roles not in {LITERAL} ∧ left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.label not in {<-space>} ∧ left.1.roles not in {KEY, EXPRESSION} ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_line ≥ 1 ∧ left.4.reserved not in {,} ∧ parents.0.internal_type not in {Program} → y = ' (0.73 confidence, 210 support) Rule 72: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.roles in {ARGUMENT} ∧ left.3.diff_line = 0 → y = ␣ (0.72 confidence, 391 support) Rule 73: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≥ 3 ∧ left.2.roles not in {ARGUMENT} ∧ left.3.diff_line = 0 → y = ' (1.00 confidence, 1815 support) Rule 74: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {ARGUMENT} ∧ left.3.diff_line = 0 ∧ parents.0.internal_type = B, l, o, c, k, S, t, a, t, e, m, e, n, t → y = ' (0.50 confidence, 41 support) Rule 75: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {ARGUMENT} ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≥ 4 ∧ right.2.reserved = ; ∧ parents.0.internal_type not in {BlockStatement} → y = ␣ (0.52 confidence, 24 support) Rule 76: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {ARGUMENT} ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≥ 4 ∧ right.2.reserved not in {;} ∧ parents.0.internal_type = O, b, j, e, c, t, P, r, o, p, e, r, t, y and not in {BlockStatement} → y = ␣ (0.97 confidence, 19 support) Rule 77: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {ARGUMENT} ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≥ 4 ∧ right.2.reserved not in {;} ∧ right.3.reserved = ; ∧ parents.0.internal_type not in {ObjectProperty, BlockStatement} → y = ␣ (0.47 confidence, 20 support) Rule 78: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {ARGUMENT} ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≥ 4 ∧ right.2.reserved not in {;} ∧ right.3.reserved not in {;} ∧ parents.0.internal_type not in {ObjectProperty, BlockStatement} → y = ⏎ (0.94 confidence, 952 support) Rule 79: left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {ARGUMENT} ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≤ 3 ∧ parents.0.internal_type not in {BlockStatement} → y = ' (0.88 confidence, 53 support) Rule 80: left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ right.0.length ≥ 19 ∧ parents.1.internal_type = V, a, r, i, a, b, l, e, D, e, c, l, a, r, a, t, i, o, n → y = ␣ (0.53 confidence, 44 support) Rule 81: left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ left.4.length ≥ 7 ∧ left.4.roles in {MAP} ∧ right.0.length ≤ 18 ∧ parents.1.internal_type = V, a, r, i, a, b, l, e, D, e, c, l, a, r, a, t, i, o, n → y = ␣ (0.98 confidence, 32 support) Rule 82: left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ left.4.length ≥ 7 ∧ left.4.roles not in {MAP} ∧ right.0.length ≤ 18 ∧ parents.1.internal_type = V, a, r, i, a, b, l, e, D, e, c, l, a, r, a, t, i, o, n → y = ⏎ (0.72 confidence, 66 support) Rule 83: left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ left.4.length ≤ 6 ∧ right.0.length ≤ 18 ∧ parents.1.internal_type = V, a, r, i, a, b, l, e, D, e, c, l, a, r, a, t, i, o, n → y = ␣ (0.96 confidence, 1706 support) Rule 84: left.0.length ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ right.1.reserved = . ∧ parents.0.roles in {IDENTIFIER} ∧ parents.1.internal_type not in {VariableDeclaration} → y = " (0.91 confidence, 16 support) Rule 85: left.0.length ≥ 2 ∧ left.0.roles in {MAP} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ right.1.reserved not in {.} ∧ parents.0.roles in {IDENTIFIER} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ␣ (0.75 confidence, 55 support) Rule 86: left.0.length ≥ 2 ∧ left.0.roles not in {MAP} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ right.1.reserved not in {.} ∧ parents.0.roles in {IDENTIFIER} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ⏎ (0.86 confidence, 39 support) Rule 87: left.0.length ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.2.reserved = ( ∧ left.3.diff_line = 0 ∧ parents.0.roles not in {IDENTIFIER} ∧ parents.1.internal_type not in {VariableDeclaration} ∧ parents.1.roles in {CALLEE} → y = " (0.97 confidence, 19 support) Rule 88: left.0.length ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.2.reserved not in {(} ∧ left.3.diff_line = 0 ∧ parents.0.roles not in {IDENTIFIER} ∧ parents.1.internal_type not in {VariableDeclaration} ∧ parents.1.roles in {CALLEE} → y = ␣ (0.85 confidence, 24 support) Rule 89: left.0.length ≥ 2 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ parents.0.roles not in {IDENTIFIER} ∧ parents.1.internal_type not in {VariableDeclaration} ∧ parents.1.roles not in {CALLEE} → y = ␣ (0.90 confidence, 3293 support) Rule 90: left.0.length ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ parents.0.roles in {BLOCK} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ⏎ (0.95 confidence, 2037 support) Rule 91: left.0.length ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ parents.0.roles in {QUALIFIED} and not in {BLOCK} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ⏎ (0.92 confidence, 497 support) Rule 92: left.0.length ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line = 0 ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {QUALIFIED, BLOCK} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ⏎ (0.89 confidence, 635 support) Rule 93: left.0.length ≤ 1 ∧ left.0.reserved = ) ∧ left.1.diff_line = 0 ∧ left.1.reserved = ) and not in {'} ∧ left.3.diff_line = 0 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles not in {QUALIFIED, BLOCK} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ␣ (0.75 confidence, 54 support) Rule 94: left.0.length ≤ 1 ∧ left.0.reserved not in {)} ∧ left.1.diff_line = 0 ∧ left.1.reserved = ) and not in {'} ∧ left.3.diff_line = 0 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles not in {QUALIFIED, BLOCK} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ⏎ (0.95 confidence, 839 support) Rule 95: left.0.length ≤ 1 ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {), '} ∧ left.3.diff_line = 0 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles not in {QUALIFIED, BLOCK} ∧ parents.1.internal_type not in {VariableDeclaration} → y = ␣ (0.51 confidence, 9819 support) Rule 96: left.0.length ≥ 1 ∧ left.3.reserved = { ∧ parents.0.internal_type = C, a, l, l, E, x, p, r, e, s, s, i, o, n → y = ␣⁺ (0.97 confidence, 180 support) Rule 97: left.0.length ≥ 1 ∧ left.1.roles in {VALUE} ∧ left.3.reserved = { ∧ parents.0.internal_type not in {CallExpression} → y = ␣ (0.99 confidence, 68 support) Rule 98: left.0.length ≥ 1 ∧ left.1.roles not in {VALUE} ∧ left.3.reserved = { ∧ parents.0.internal_type not in {CallExpression} ∧ parents.1.roles in {STATEMENT} → y = ␣⁺ (0.99 confidence, 499 support) Rule 99: left.0.length ≥ 1 ∧ left.1.roles not in {VALUE} ∧ left.2.label = <, s, p, a, c, e, > ∧ left.3.reserved = { ∧ parents.0.internal_type not in {CallExpression} ∧ parents.1.roles not in {STATEMENT} → y = ␣ (0.99 confidence, 171 support) Rule 100: left.0.label = <, +, s, p, a, c, e, > ∧ left.0.length ≥ 1 ∧ left.1.roles not in {VALUE} ∧ left.2.label not in {} ∧ left.3.reserved = { ∧ parents.0.internal_type not in {CallExpression} ∧ parents.1.roles not in {STATEMENT} → y = ␣⁺ (1.00 confidence, 515 support) Rule 101: left.0.label not in {<+space>} ∧ left.0.length ≥ 1 ∧ left.1.roles not in {VALUE} ∧ left.2.label not in {} ∧ left.3.reserved = { ∧ parents.0.internal_type not in {CallExpression} ∧ parents.1.roles not in {STATEMENT} → y = ␣ (0.72 confidence, 9 support) Rule 102: left.0.length ≥ 1 ∧ left.1.reserved = ; ∧ left.3.reserved not in {{} ∧ right.0.reserved = } → y = ␣⁻ (0.99 confidence, 924 support) Rule 103: left.0.length ≥ 1 ∧ left.1.reserved not in {;} ∧ left.3.reserved not in {{} ∧ left.4.diff_line ≥ 1 ∧ right.0.reserved = } → y = ␣⁻ (0.68 confidence, 834 support) Rule 104: left.0.length ≥ 1 ∧ left.1.reserved not in {;} ∧ left.3.reserved not in {{} ∧ left.4.diff_line = 0 ∧ right.0.reserved = } ∧ parents.0.roles in {DECLARATION} → y = ␣ (0.94 confidence, 443 support) Rule 105: left.0.length ≥ 1 ∧ left.1.reserved not in {;} ∧ left.2.label = <, s, p, a, c, e, > ∧ left.3.reserved not in {{} ∧ left.4.diff_line = 0 ∧ right.0.reserved = } ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (0.54 confidence, 266 support) Rule 106: left.0.length ≥ 1 ∧ left.1.reserved not in {;} ∧ left.2.label not in {} ∧ left.2.reserved = , ∧ left.3.reserved not in {{} ∧ left.4.diff_line = 0 ∧ right.0.reserved = } ∧ parents.0.roles not in {DECLARATION} → y = ␣ (0.98 confidence, 28 support) Rule 107: left.0.length ≥ 1 ∧ left.1.reserved not in {;} ∧ left.2.label not in {} ∧ left.2.reserved not in {,} ∧ left.3.reserved not in {{} ∧ left.4.diff_line = 0 ∧ right.0.reserved = } ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (0.87 confidence, 1285 support) Rule 108: left.0.length ≥ 2 ∧ left.2.diff_offset ≥ 14 ∧ left.2.length ≥ 5 ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} → y = ␣ (0.68 confidence, 361 support) Rule 109: left.0.length ≥ 2 ∧ left.1.diff_offset ≥ 11 ∧ left.2.diff_offset ≥ 14 ∧ left.2.length ≤ 4 ∧ left.2.reserved = ( ∧ left.3.reserved not in {{} ∧ left.3.roles in {EXPRESSION} ∧ right.0.reserved not in {}} → y = ' (0.97 confidence, 296 support) Rule 110: left.0.length ≥ 2 ∧ left.1.diff_offset ≥ 11 ∧ left.2.diff_offset ≥ 14 ∧ left.2.length ≤ 4 ∧ left.2.reserved not in {(} ∧ left.3.reserved not in {{} ∧ left.3.roles in {EXPRESSION} ∧ right.0.reserved not in {}} → y = ␣ (0.50 confidence, 11 support) Rule 111: left.0.length ≥ 2 ∧ left.1.diff_offset ≥ 11 ∧ left.1.reserved = ' ∧ left.2.diff_offset ≥ 14 ∧ left.2.length ≤ 4 ∧ left.3.reserved not in {{} ∧ left.3.roles not in {EXPRESSION} ∧ right.0.reserved not in {}} → y = ' (1.00 confidence, 636 support) Rule 112: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.length ≥ 2 ∧ left.1.diff_offset ≥ 11 ∧ left.1.reserved not in {'} ∧ left.2.diff_offset ≥ 14 ∧ left.2.length ≤ 4 ∧ left.3.reserved not in {{} ∧ left.3.roles not in {EXPRESSION} ∧ right.0.reserved not in {}} → y = ␣ (0.65 confidence, 143 support) Rule 113: left.0.internal_type not in {Identifier} ∧ left.0.length ≥ 2 ∧ left.1.diff_offset ≥ 11 ∧ left.1.reserved not in {'} ∧ left.2.diff_offset ≥ 14 ∧ left.2.length ≤ 4 ∧ left.3.reserved not in {{} ∧ left.3.roles not in {EXPRESSION} ∧ right.0.reserved not in {}} → y = ⏎ (0.90 confidence, 440 support) Rule 114: left.0.length ≥ 2 ∧ left.1.diff_offset ≤ 10 ∧ left.2.diff_offset ≥ 14 ∧ left.2.length ≤ 4 ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} → y = ␣ (0.85 confidence, 174 support) Rule 115: left.0.length ≥ 2 ∧ left.2.diff_offset ≤ 13 ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} ∧ parents.0.roles in {LIST} → y = ' (0.95 confidence, 401 support) Rule 116: left.0.length ≥ 2 ∧ left.1.diff_col ≥ 13 ∧ left.2.diff_offset ≤ 13 ∧ left.3.reserved not in {{} ∧ left.4.roles in {LITERAL} ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {LIST} → y = ␣ (0.88 confidence, 281 support) Rule 117: left.0.length ≥ 5 ∧ left.1.diff_col ≥ 13 ∧ left.2.diff_offset ≤ 13 ∧ left.3.reserved not in {{} ∧ left.4.roles not in {LITERAL} ∧ right.0.reserved not in {}} ∧ parents.0.roles in {EXPRESSION} and not in {LIST} → y = ␣⁺ (0.92 confidence, 350 support) Rule 118: left.0.length ≥ 5 ∧ left.1.diff_col ≥ 13 ∧ left.2.diff_offset ≤ 13 ∧ left.3.reserved not in {{} ∧ left.4.roles not in {LITERAL} ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {EXPRESSION, LIST} → y = ␣ (0.63 confidence, 282 support) Rule 119: left.0.length ≤ 4 ∧ left.1.diff_col ≥ 13 ∧ left.2.diff_offset ≤ 13 ∧ left.3.reserved not in {{} ∧ left.4.roles not in {LITERAL} ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {LIST} → y = ␣⁺ (0.93 confidence, 746 support) Rule 120: left.0.length ≥ 2 ∧ left.1.diff_col ≤ 12 ∧ left.2.diff_offset ≤ 13 ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {LIST} → y = ␣ (0.71 confidence, 6926 support) Rule 121: left.0.length ≤ 1 ∧ left.1.roles in {FUNCTION} ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} → y = ␣ (0.93 confidence, 768 support) Rule 122: left.0.length ≤ 1 ∧ left.0.reserved = = ∧ left.1.roles not in {FUNCTION} ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} → y = ␣ (0.95 confidence, 1239 support) Rule 123: left.0.length ≤ 1 ∧ left.0.reserved not in {=} ∧ left.1.diff_col ≥ 4 ∧ left.1.roles not in {FUNCTION} ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} → y = ␣⁺ (0.43 confidence, 2015 support) Rule 124: left.0.length ≤ 1 ∧ left.0.reserved not in {=} ∧ left.1.diff_col ≤ 3 ∧ left.1.roles in {MAP} and not in {FUNCTION} ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} → y = ␣ (0.73 confidence, 1372 support) Rule 125: left.0.length ≤ 1 ∧ left.0.reserved not in {=} ∧ left.1.diff_col ≤ 3 ∧ left.1.roles not in {FUNCTION, MAP} ∧ left.3.reserved not in {{} ∧ right.0.reserved not in {}} → y = ⏎ (0.52 confidence, 14378 support) Rule 126: left.0.length = 0 ∧ right.0.roles in {EXPRESSION} → y = ␣ (0.80 confidence, 105 support) Rule 127: left.0.label = <, -, s, p, a, c, e, > ∧ left.0.length = 0 ∧ right.0.roles not in {EXPRESSION} → y = ␣⁻ (1.00 confidence, 2581 support) Rule 128: left.0.label not in {<-space>} ∧ left.0.length = 0 ∧ right.0.roles not in {EXPRESSION} → y = ␣ (0.99 confidence, 63 support) Rule 129: left.1.reserved = ) ∧ parents.1.roles in {BLOCK} → y = ␣ (0.50 confidence, 67 support) Rule 130: left.1.reserved = ) ∧ parents.1.roles not in {BLOCK} → y = ⏎ (0.89 confidence, 2263 support) Rule 131: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.1.diff_col ≥ 5 ∧ left.1.reserved not in {)} ∧ right.0.reserved = } ∧ parents.0.roles in {BODY} → y = ␣ (0.53 confidence, 54 support) Rule 132: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.1.diff_col ≤ 4 ∧ left.1.reserved not in {)} ∧ right.0.reserved = } ∧ parents.0.roles in {BODY} → y = ⏎ (0.69 confidence, 18 support) Rule 133: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.1.reserved not in {)} ∧ left.3.diff_offset ≥ 13 ∧ left.4.reserved = i, m, p, o, r, t ∧ right.0.reserved = } ∧ parents.0.roles not in {BODY} → y = ␣ (0.98 confidence, 28 support) Rule 134: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.1.reserved not in {)} ∧ left.3.diff_offset ≥ 13 ∧ left.4.length ≥ 8 ∧ left.4.reserved not in {import} ∧ right.0.reserved = } ∧ parents.0.roles not in {BODY} → y = ⏎ (0.97 confidence, 75 support) Rule 135: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.1.reserved not in {)} ∧ left.3.diff_offset ≥ 13 ∧ left.4.length ≤ 7 ∧ left.4.reserved not in {import} ∧ right.0.reserved = } ∧ parents.0.roles not in {BODY} → y = ␣ (0.60 confidence, 103 support) Rule 136: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.1.reserved not in {)} ∧ left.3.diff_offset ≤ 12 ∧ right.0.reserved = } ∧ parents.0.roles not in {BODY} → y = ␣ (0.92 confidence, 456 support) Rule 137: left.0.internal_type not in {Identifier} ∧ left.1.reserved not in {)} ∧ left.3.diff_line ≥ 1 ∧ right.0.reserved = } → y = ␣⁻ (0.99 confidence, 3149 support) Rule 138: left.0.internal_type not in {Identifier} ∧ left.1.label = ' ∧ left.1.reserved not in {)} ∧ left.3.diff_line = 0 ∧ right.0.reserved = } → y = ' (0.77 confidence, 129 support) Rule 139: left.0.internal_type not in {Identifier} ∧ left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.3.diff_line = 0 ∧ left.3.label = <, s, p, a, c, e, > ∧ left.4.length ≥ 1 ∧ right.0.reserved = } ∧ right.1.reserved = ; ∧ parents.0.roles in {STATEMENT} → y = ␣ (0.59 confidence, 11 support) Rule 140: left.0.internal_type not in {Identifier} ∧ left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.3.diff_line = 0 ∧ left.3.label = <, s, p, a, c, e, > ∧ left.4.length ≥ 1 ∧ right.0.reserved = } ∧ right.1.reserved not in {;} ∧ parents.0.roles in {STATEMENT} → y = ⏎ (0.84 confidence, 53 support) Rule 141: left.0.internal_type not in {Identifier} ∧ left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.1.roles in {STRING} ∧ left.3.diff_line = 0 ∧ left.3.label = <, s, p, a, c, e, > ∧ left.4.length ≥ 1 ∧ right.0.reserved = } ∧ parents.0.roles not in {STATEMENT} → y = ⏎ (0.78 confidence, 56 support) Rule 142: left.0.internal_type not in {Identifier} ∧ left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.1.roles not in {STRING} ∧ left.3.diff_line = 0 ∧ left.3.label = <, s, p, a, c, e, > ∧ left.4.length ≥ 1 ∧ right.0.reserved = } ∧ parents.0.roles not in {STATEMENT} → y = ␣ (0.64 confidence, 52 support) Rule 143: left.0.internal_type not in {Identifier} ∧ left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.3.diff_line = 0 ∧ left.3.label not in {} ∧ left.4.length ≥ 1 ∧ right.0.reserved = } → y = ⏎ (0.88 confidence, 446 support) Rule 144: left.0.internal_type not in {Identifier} ∧ left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.3.diff_line = 0 ∧ left.4.length = 0 ∧ right.0.reserved = } → y = ⏎ (0.92 confidence, 124 support) Rule 145: left.1.reserved not in {)} ∧ left.2.diff_line ≥ 1 ∧ left.3.label = <, -, s, p, a, c, e, > ∧ right.0.reserved not in {}} → y = ⏎ (0.84 confidence, 407 support) Rule 146: left.1.reserved not in {)} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.3.label not in {<-space>} ∧ left.3.reserved = ; ∧ right.0.reserved not in {}} → y = ␣ (0.97 confidence, 816 support) Rule 147: left.0.roles in {IDENTIFIER} ∧ left.1.reserved not in {)} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.3.label not in {<-space>} ∧ left.3.reserved not in {;} ∧ right.0.reserved not in {}} ∧ right.2.reserved = , → y = ␣ (0.97 confidence, 17 support) Rule 148: left.0.roles in {IDENTIFIER} ∧ left.1.reserved not in {)} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.3.label not in {<-space>} ∧ left.3.reserved not in {;} ∧ right.0.reserved = ) and not in {}} ∧ right.2.reserved not in {,} → y = ⏎ (0.99 confidence, 96 support) Rule 149: left.0.roles in {IDENTIFIER} ∧ left.1.reserved not in {)} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.3.label not in {<-space>} ∧ left.3.reserved not in {;} ∧ right.0.reserved not in {), }} ∧ right.2.reserved not in {,} → y = ␣ (0.87 confidence, 79 support) Rule 150: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved = ; and not in {)} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.3.label not in {<-space>} ∧ left.3.reserved not in {;} ∧ right.0.reserved not in {}} → y = ⏎ (0.92 confidence, 624 support) Rule 151: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved not in {), ;} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.2.reserved = { ∧ left.3.label not in {<-space>} ∧ left.3.reserved not in {;} ∧ right.0.reserved not in {}} → y = ␣⁺ (1.00 confidence, 1580 support) Rule 152: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved not in {), ;} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.2.reserved not in {{} ∧ left.3.label = <, n, e, w, l, i, n, e, > and not in {<-space>} ∧ left.3.reserved not in {;} ∧ right.0.reserved not in {}} → y = ␣ (0.50 confidence, 425 support) Rule 153: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved not in {), ;} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≥ 2 ∧ left.2.reserved not in {{} ∧ left.3.label not in {, <-space>} ∧ left.3.reserved not in {;} ∧ right.0.reserved not in {}} → y = ␣⁺ (0.65 confidence, 4781 support) Rule 154: left.1.reserved not in {)} ∧ left.2.diff_line ≥ 1 ∧ left.2.diff_offset ≤ 1 ∧ left.3.label not in {<-space>} ∧ right.0.reserved not in {}} → y = ␣⁻ (1.00 confidence, 750 support) Rule 155: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved = : ∧ right.4.reserved = } → y = ␣ (0.50 confidence, 87 support) Rule 156: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.4.reserved = c, o, n, s, t ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved = : ∧ right.4.reserved not in {}} → y = ␣ (0.97 confidence, 19 support) Rule 157: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.4.reserved not in {const} ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved = : ∧ right.3.reserved = } ∧ right.4.reserved not in {}} ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n → y = ⏎ (0.87 confidence, 122 support) Rule 158: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.4.reserved not in {const} ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved = : ∧ right.3.reserved = } ∧ right.4.reserved not in {}} ∧ parents.0.internal_type not in {ObjectExpression} → y = ␣ (0.65 confidence, 94 support) Rule 159: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.4.reserved not in {const} ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved = : ∧ right.3.reserved not in {}} ∧ right.4.reserved not in {}} → y = ⏎ (0.88 confidence, 786 support) Rule 160: left.1.label = ' ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ right.3.length ≥ 2 ∧ parents.1.roles in {VARIABLE} → y = ␣ (0.63 confidence, 15 support) Rule 161: left.1.label = ' ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ right.3.length ≤ 1 ∧ parents.1.roles in {VARIABLE} → y = ⏎ (0.95 confidence, 115 support) Rule 162: left.1.label = ' ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ parents.0.roles in {LIST} ∧ parents.1.roles not in {VARIABLE} → y = ⏎ (0.85 confidence, 111 support) Rule 163: left.1.label = ' ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ parents.0.roles not in {LIST} ∧ parents.1.roles not in {VARIABLE} → y = ␣ (0.76 confidence, 127 support) Rule 164: left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ parents.0.roles in {EXPRESSION} → y = ␣ (0.69 confidence, 159 support) Rule 165: left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.2.internal_type not in {Identifier} ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ parents.0.roles in {EXPRESSION} → y = ' (0.74 confidence, 1259 support) Rule 166: left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.1.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ parents.0.roles not in {EXPRESSION} → y = ␣ (1.00 confidence, 255 support) Rule 167: left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.1.roles not in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ parents.0.roles in {DECLARATION} and not in {EXPRESSION} → y = ␣ (0.51 confidence, 905 support) Rule 168: left.1.label not in {'} ∧ left.1.reserved not in {)} ∧ left.1.roles not in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {STRING} ∧ right.1.reserved not in {:} ∧ parents.0.roles not in {DECLARATION, EXPRESSION} → y = ' (0.82 confidence, 415 support) Rule 169: node.0.start_col ≥ 41 ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {IDENTIFIER} and not in {STRING} ∧ right.1.reserved not in {:} → y = ␣ (0.60 confidence, 753 support) Rule 170: node.0.start_col ≥ 41 ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles in {EXPRESSION} and not in {IDENTIFIER, STRING} ∧ right.1.reserved not in {:} → y = ␣ (0.80 confidence, 124 support) Rule 171: node.0.start_col ≥ 41 ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {IDENTIFIER, EXPRESSION, STRING} ∧ right.1.reserved not in {:} → y = ␣ (0.88 confidence, 53 support) Rule 172: node.0.start_col ≥ 41 ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.2.internal_type not in {Identifier} ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {IDENTIFIER, EXPRESSION, STRING} ∧ right.1.reserved not in {:} → y = ⏎ (0.89 confidence, 830 support) Rule 173: node.0.start_col ≤ 40 ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} ∧ right.1.reserved not in {:} → y = ␣ (0.63 confidence, 7625 support) Rule 174: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles in {IDENTIFIER} → y = ⏎ (0.66 confidence, 510 support) Rule 175: left.0.reserved = ' ∧ left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles in {BLOCK} and not in {IDENTIFIER} → y = ⏎ (0.92 confidence, 46 support) Rule 176: left.0.reserved not in {'} ∧ left.1.reserved = ' and not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles in {BLOCK} and not in {IDENTIFIER} → y = ' (0.95 confidence, 209 support) Rule 177: left.0.reserved not in {'} ∧ left.1.reserved not in {), '} ∧ left.2.diff_line = 0 ∧ left.4.label = ' ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles in {BLOCK} and not in {IDENTIFIER} → y = ␣⁻ (0.73 confidence, 13 support) Rule 178: left.0.reserved not in {'} ∧ left.1.reserved not in {), '} ∧ left.2.diff_line = 0 ∧ left.4.label not in {'} ∧ right.0.length ≤ 1 ∧ right.0.reserved = ) and not in {}} ∧ parents.0.roles in {BLOCK} and not in {IDENTIFIER} → y = ⏎ (0.96 confidence, 100 support) Rule 179: left.0.reserved not in {'} ∧ left.1.reserved not in {), '} ∧ left.2.diff_line = 0 ∧ left.4.label not in {'} ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {), }} ∧ parents.0.roles in {BLOCK} and not in {IDENTIFIER} → y = ␣ (0.50 confidence, 65 support) Rule 180: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles in {VARIABLE} and not in {IDENTIFIER, BLOCK} → y = ␣ (0.98 confidence, 1142 support) Rule 181: left.1.reserved not in {)} ∧ left.1.roles in {ARGUMENT} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 19 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {VARIABLE, IDENTIFIER, BLOCK} → y = ␣ (0.81 confidence, 100 support) Rule 182: left.0.reserved = , ∧ left.1.reserved not in {)} ∧ left.1.roles not in {ARGUMENT} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 19 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {VARIABLE, IDENTIFIER, BLOCK} → y = ␣ (0.55 confidence, 79 support) Rule 183: left.0.reserved not in {,} ∧ left.1.reserved not in {)} ∧ left.1.roles not in {ARGUMENT} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 19 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {VARIABLE, IDENTIFIER, BLOCK} → y = ' (0.62 confidence, 1310 support) Rule 184: left.1.reserved not in {)} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≤ 18 ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {VARIABLE, IDENTIFIER, BLOCK} → y = ␣ (0.64 confidence, 4703 support) Rule 185: left.0.label = <, n, e, w, l, i, n, e, > ∧ right.0.reserved = } → y = ␣⁻ (0.99 confidence, 1459 support) Rule 186: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.2.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {}} → y = ␣⁻ (0.95 confidence, 105 support) Rule 187: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.2.internal_type not in {StringLiteral} ∧ right.0.reserved not in {}} ∧ parents.0.roles in {DECLARATION} → y = ␣⁺ (0.88 confidence, 296 support) Rule 188: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.length ≥ 2 ∧ left.2.internal_type not in {StringLiteral} ∧ right.0.reserved not in {}} ∧ parents.0.roles not in {DECLARATION} → y = ␣⁻ (0.97 confidence, 171 support) Rule 189: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.diff_col ≥ 2 ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.reserved = i, m, p, o, r, t ∧ right.0.reserved not in {}} ∧ parents.0.internal_type = P, r, o, g, r, a, m ∧ parents.0.roles not in {DECLARATION} → y = ␣⁺ (0.98 confidence, 30 support) Rule 190: left.0.diff_col ≥ 19 ∧ left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.diff_col ≥ 2 ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.reserved not in {import} ∧ right.0.reserved not in {}} ∧ parents.0.internal_type = P, r, o, g, r, a, m ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (0.93 confidence, 253 support) Rule 191: left.0.diff_col ≤ 18 ∧ left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.diff_col ≥ 2 ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.reserved not in {import} ∧ right.0.reserved not in {}} ∧ parents.0.internal_type = P, r, o, g, r, a, m ∧ parents.0.roles not in {DECLARATION} → y = ␣⁻ (0.60 confidence, 56 support) Rule 192: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.diff_col ≤ 1 ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ right.0.reserved not in {}} ∧ parents.0.internal_type = P, r, o, g, r, a, m ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (1.00 confidence, 206 support) Rule 193: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ right.0.reserved not in {}} ∧ right.1.reserved = ; ∧ parents.0.internal_type not in {Program} ∧ parents.0.roles not in {DECLARATION} → y = ␣⁻ (1.00 confidence, 153 support) Rule 194: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.2.reserved = ) ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved not in {;} ∧ parents.0.internal_type not in {Program} ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (0.75 confidence, 170 support) Rule 195: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.2.reserved not in {)} ∧ left.3.diff_col ≥ 3 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved not in {;} ∧ parents.0.internal_type not in {Program} ∧ parents.0.roles not in {DECLARATION} → y = ␣⁺ (0.41 confidence, 228 support) Rule 196: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.2.reserved not in {)} ∧ left.3.diff_col ≤ 3 ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.1.reserved not in {;} ∧ parents.0.internal_type not in {Program} ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (0.95 confidence, 231 support) Rule 197: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.1.length ≤ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ right.1.reserved not in {;} ∧ parents.0.internal_type not in {Program} ∧ parents.0.roles not in {DECLARATION} → y = ␣⁻ (0.75 confidence, 192 support) Rule 198: node.0.start_col ≥ 2 ∧ left.0.label not in {} ∧ left.1.diff_line ≥ 1 ∧ right.0.roles in {LITERAL} → y = ' (0.72 confidence, 559 support) Rule 199: node.0.start_col ≥ 2 ∧ left.0.label not in {} ∧ left.1.diff_line ≥ 1 ∧ left.2.reserved = ; ∧ right.0.roles not in {LITERAL} → y = ␣ (1.00 confidence, 333 support) Rule 200: node.0.start_col ≥ 2 ∧ left.0.label not in {} ∧ left.1.diff_line ≥ 1 ∧ left.2.reserved not in {;} ∧ left.4.label = ' ∧ right.0.roles not in {LITERAL} → y = ␣ (0.94 confidence, 155 support) Rule 201: node.0.start_col ≥ 2 ∧ left.0.label not in {} ∧ left.1.diff_line ≥ 1 ∧ left.2.reserved not in {;} ∧ left.4.diff_line ≥ 2 ∧ left.4.label not in {'} ∧ right.0.roles not in {LITERAL} → y = ␣ (0.82 confidence, 408 support) Rule 202: node.0.start_col ≥ 2 ∧ left.0.label not in {} ∧ left.1.diff_line ≥ 1 ∧ left.2.reserved not in {;} ∧ left.4.diff_line ≤ 1 ∧ left.4.label not in {'} ∧ right.0.roles not in {LITERAL} → y = ␣⁺ (1.00 confidence, 2098 support) Rule 203: node.0.start_col ≤ 1 ∧ left.0.label not in {} ∧ left.1.diff_line ≥ 1 → y = ␣⁻ (1.00 confidence, 2176 support) Rule 204: left.0.label not in {} ∧ left.0.roles in {CALL} ∧ left.1.diff_line = 0 → y = ' (0.82 confidence, 1033 support) Rule 205: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles in {PATHNAME} → y = ' (1.00 confidence, 382 support) Rule 206: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.1.reserved = ' ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} → y = ␣ (0.68 confidence, 30 support) Rule 207: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} → y = ' (0.68 confidence, 333 support) Rule 208: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.4.label not in {} ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles in {PATHNAME} → y = ␣ (0.90 confidence, 469 support) Rule 209: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.4.label not in {} ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} → y = ␣⁺ (0.64 confidence, 142 support) Rule 210: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.1.reserved = : ∧ left.2.diff_line = 0 ∧ left.4.label not in {} ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} → y = ' (1.00 confidence, 283 support) Rule 211: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {:} ∧ left.2.diff_line = 0 ∧ left.3.label = <, +, s, p, a, c, e, > ∧ left.4.label not in {} ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} ∧ right.4.roles in {LITERAL} → y = ␣ (0.78 confidence, 65 support) Rule 212: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {:} ∧ left.2.diff_line = 0 ∧ left.3.label not in {<+space>} ∧ left.4.label not in {} ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} ∧ right.4.roles in {LITERAL} → y = ⏎ (0.67 confidence, 418 support) Rule 213: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {:} ∧ left.2.diff_line = 0 ∧ left.3.diff_offset ≥ 6 ∧ left.4.label not in {} ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} ∧ right.4.roles not in {LITERAL} → y = ␣ (0.42 confidence, 1033 support) Rule 214: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {:} ∧ left.2.diff_line = 0 ∧ left.3.diff_offset ≤ 5 ∧ left.4.label not in {} ∧ right.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.roles not in {PATHNAME} ∧ right.4.roles not in {LITERAL} → y = ' (0.71 confidence, 635 support) Rule 215: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved = { ∧ right.0.internal_type not in {StringLiteral} → y = ␣⁺ (1.00 confidence, 1120 support) Rule 216: left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.2.diff_line = 0 ∧ left.3.reserved = { ∧ right.0.internal_type not in {StringLiteral} → y = ␣ (0.99 confidence, 256 support) Rule 217: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles in {SCOPE} → y = ⏎ (0.98 confidence, 21 support) Rule 218: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.diff_line = 0 ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles in {SCOPE} → y = ␣ (0.61 confidence, 55 support) Rule 219: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ right.1.length ≥ 2 ∧ parents.0.roles in {IDENTIFIER} and not in {SCOPE} → y = ⏎ (0.98 confidence, 28 support) Rule 220: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ right.1.length ≤ 2 ∧ parents.0.roles in {IDENTIFIER} and not in {SCOPE} → y = ␣ (0.67 confidence, 38 support) Rule 221: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {} ∧ left.0.roles in {MAP} and not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ left.4.roles in {MAP} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles not in {IDENTIFIER, SCOPE} → y = ⏎ (0.91 confidence, 28 support) Rule 222: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {} ∧ left.0.roles not in {CALL, MAP} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ left.4.roles in {MAP} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles not in {IDENTIFIER, SCOPE} → y = ␣ (0.80 confidence, 22 support) Rule 223: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ left.4.roles not in {MAP} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles not in {IDENTIFIER, SCOPE} → y = ␣ (0.94 confidence, 2651 support) Rule 224: left.0.internal_type not in {Identifier} ∧ left.0.label not in {} ∧ left.0.roles not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles in {DECLARATION} → y = ␣ (0.76 confidence, 4233 support) Rule 225: left.0.internal_type not in {Identifier} ∧ left.0.label not in {} ∧ left.0.roles in {EXPRESSION} and not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ left.4.roles in {LITERAL} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles not in {DECLARATION} → y = ␣ (0.95 confidence, 11 support) Rule 226: left.0.internal_type not in {Identifier} ∧ left.0.label not in {} ∧ left.0.roles in {EXPRESSION} and not in {CALL} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ left.4.roles not in {LITERAL} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.roles not in {DECLARATION} → y = ' (0.90 confidence, 1573 support) Rule 227: left.0.internal_type not in {Identifier} ∧ left.0.label not in {} ∧ left.0.roles not in {CALL, EXPRESSION} ∧ left.1.diff_line = 0 ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (0.94 confidence, 878 support) Rule 228: left.0.internal_type not in {Identifier} ∧ left.0.label not in {} ∧ left.0.roles not in {CALL, EXPRESSION} ∧ left.1.diff_line = 0 ∧ left.1.reserved = ) ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles not in {DECLARATION} → y = ⏎ (0.96 confidence, 1894 support) Rule 229: left.0.internal_type not in {Identifier} ∧ left.0.label not in {} ∧ left.0.roles not in {CALL, EXPRESSION} ∧ left.1.diff_line = 0 ∧ left.1.reserved not in {)} ∧ left.3.reserved not in {{} ∧ right.0.internal_type not in {StringLiteral} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles not in {DECLARATION} → y = ␣ (0.48 confidence, 11880 support) Rule 230: node.0.start_col ≥ 22 ∧ left.0.roles in {IDENTIFIER} ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.diff_offset ≥ 23 ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.3.length ≥ 1 → y = ␣ (0.78 confidence, 29 support) Rule 231: node.0.start_col ≥ 22 ∧ left.0.roles in {IDENTIFIER} ∧ left.2.internal_type not in {Identifier} ∧ left.4.diff_offset ≥ 23 ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.3.length ≥ 1 → y = ⏎ (0.94 confidence, 27 support) Rule 232: node.0.start_col ≥ 22 ∧ left.0.roles in {IDENTIFIER} ∧ left.4.diff_offset ≤ 22 ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.3.length ≥ 1 → y = ␣ (0.82 confidence, 341 support) Rule 233: node.0.start_col ≤ 21 ∧ left.0.roles in {IDENTIFIER} ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.3.length ≥ 1 ∧ parents.0.roles in {STATEMENT} → y = ⏎ (0.98 confidence, 27 support) Rule 234: node.0.start_col ≤ 21 ∧ left.0.roles in {IDENTIFIER} ∧ left.1.diff_offset ≥ 8 ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.3.length ≥ 1 ∧ parents.0.roles not in {STATEMENT} → y = ⏎ (0.94 confidence, 26 support) Rule 235: node.0.start_col ≤ 21 ∧ left.0.roles in {IDENTIFIER} ∧ left.1.diff_offset ≤ 7 ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.1.roles in {EXPRESSION} ∧ right.3.length ≥ 1 ∧ parents.0.roles not in {STATEMENT} → y = ␣ (0.97 confidence, 18 support) Rule 236: node.0.start_col ≤ 21 ∧ left.0.roles in {IDENTIFIER} ∧ left.1.diff_offset ≤ 7 ∧ left.3.diff_offset ≥ 11 ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.1.roles not in {EXPRESSION} ∧ right.3.length ≥ 1 ∧ parents.0.roles not in {STATEMENT} → y = ⏎ (0.97 confidence, 18 support) Rule 237: node.0.start_col ≤ 21 ∧ left.0.roles in {IDENTIFIER} ∧ left.1.diff_offset ≤ 7 ∧ left.3.diff_offset ≤ 10 ∧ left.4.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.1.roles not in {EXPRESSION} ∧ right.3.length ≥ 1 ∧ parents.0.roles not in {STATEMENT} → y = ␣ (0.50 confidence, 21 support) Rule 238: left.0.roles in {IDENTIFIER} ∧ left.4.internal_type not in {Identifier} ∧ right.3.length ≥ 1 → y = ␣ (0.93 confidence, 2522 support) Rule 239: left.0.roles in {IDENTIFIER} ∧ right.3.length = 0 → y = ⏎ (0.80 confidence, 37 support) Rule 240: left.0.length ≥ 1 ∧ left.0.roles not in {IDENTIFIER} ∧ left.3.diff_col ≥ 14 ∧ right.0.reserved = } → y = ␣⁻ (0.83 confidence, 980 support) Rule 241: left.0.length ≥ 1 ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.diff_line ≥ 1 ∧ left.3.diff_col ≤ 13 ∧ left.3.diff_offset ≥ 4 ∧ right.0.reserved = } → y = ␣⁻ (1.00 confidence, 292 support) Rule 242: left.0.length ≥ 1 ∧ left.0.roles in {STRING} and not in {IDENTIFIER} ∧ left.1.diff_line = 0 ∧ left.3.diff_col ≤ 13 ∧ left.3.diff_offset ≥ 4 ∧ right.0.reserved = } → y = ' (0.82 confidence, 57 support) Rule 243: left.0.length ≥ 1 ∧ left.0.roles not in {IDENTIFIER, STRING} ∧ left.1.diff_line = 0 ∧ left.3.diff_col ≤ 13 ∧ left.3.diff_offset ≥ 4 ∧ right.0.reserved = } ∧ parents.0.roles in {DECLARATION} → y = ␣ (0.53 confidence, 54 support) Rule 244: left.0.length ≥ 1 ∧ left.0.roles not in {IDENTIFIER, STRING} ∧ left.1.diff_line = 0 ∧ left.2.reserved = : ∧ left.3.diff_col ≤ 13 ∧ left.3.diff_offset ≥ 4 ∧ right.0.reserved = } ∧ parents.0.roles in {CALL} and not in {DECLARATION} → y = ␣ (0.48 confidence, 26 support) Rule 245: left.0.length ≥ 1 ∧ left.0.roles not in {IDENTIFIER, STRING} ∧ left.1.diff_line = 0 ∧ left.2.reserved not in {:} ∧ left.3.diff_col ≤ 13 ∧ left.3.diff_offset ≥ 4 ∧ right.0.reserved = } ∧ parents.0.roles in {CALL} and not in {DECLARATION} → y = ⏎ (0.85 confidence, 158 support) Rule 246: left.0.length ≥ 1 ∧ left.0.roles not in {IDENTIFIER, STRING} ∧ left.1.diff_line = 0 ∧ left.3.diff_col ≤ 13 ∧ left.3.diff_offset ≥ 4 ∧ right.0.reserved = } ∧ parents.0.roles not in {DECLARATION, CALL} → y = ⏎ (0.94 confidence, 690 support) Rule 247: left.0.length ≥ 1 ∧ left.0.roles not in {IDENTIFIER} ∧ left.3.diff_col ≤ 13 ∧ left.3.diff_offset ≤ 3 ∧ right.0.reserved = } → y = ␣⁻ (0.49 confidence, 855 support) Rule 248: left.0.length = 0 ∧ left.0.roles not in {IDENTIFIER} ∧ right.0.reserved = } → y = ␣⁻ (1.00 confidence, 1731 support) Rule 249: left.0.roles not in {IDENTIFIER} ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.1.reserved = ; → y = ' (1.00 confidence, 383 support) Rule 250: left.0.roles not in {IDENTIFIER} ∧ left.2.roles in {EXPRESSION} ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.1.reserved not in {;} → y = ␣ (0.80 confidence, 47 support) Rule 251: left.0.roles not in {IDENTIFIER} ∧ left.2.diff_line ≥ 1 ∧ left.2.roles not in {EXPRESSION} ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.1.reserved not in {;} → y = ␣⁺ (0.82 confidence, 68 support) Rule 252: left.0.roles not in {IDENTIFIER} ∧ left.1.roles in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.roles not in {EXPRESSION} ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.1.reserved not in {;} → y = ␣ (0.98 confidence, 29 support) Rule 253: left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.roles not in {EXPRESSION} ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.1.reserved not in {;} ∧ right.4.reserved = ( → y = " (0.50 confidence, 11 support) Rule 254: left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.roles not in {EXPRESSION} ∧ left.4.diff_col ≥ 18 ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.1.reserved not in {;} ∧ right.4.reserved not in {(} → y = ␣ (0.43 confidence, 22 support) Rule 255: left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.roles not in {EXPRESSION} ∧ left.4.diff_col ≤ 17 ∧ left.4.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.1.reserved not in {;} ∧ right.4.reserved not in {(} → y = ' (0.90 confidence, 191 support) Rule 256: left.0.reserved = , ∧ left.0.roles not in {IDENTIFIER} ∧ left.2.roles in {LITERAL} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.2.roles in {EXPRESSION} → y = ⏎ (0.95 confidence, 246 support) Rule 257: left.0.reserved = , ∧ left.0.roles not in {IDENTIFIER} ∧ left.2.roles not in {LITERAL} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.2.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.2.roles in {EXPRESSION} → y = ⏎ (0.93 confidence, 51 support) Rule 258: left.0.reserved = , ∧ left.0.roles not in {IDENTIFIER} ∧ left.2.roles not in {LITERAL} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.2.internal_type not in {StringLiteral} ∧ right.2.roles in {EXPRESSION} → y = ␣ (0.71 confidence, 80 support) Rule 259: left.0.reserved = , ∧ left.0.roles not in {IDENTIFIER} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} ∧ right.2.roles not in {EXPRESSION} → y = ␣ (0.75 confidence, 294 support) Rule 260: left.0.reserved not in {,} ∧ left.0.roles not in {IDENTIFIER} ∧ left.3.label = <, s, p, a, c, e, > ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {PATHNAME, LITERAL} → y = ␣ (0.99 confidence, 401 support) Rule 261: left.0.reserved not in {,} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.length ≥ 3 ∧ left.3.label not in {} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {PATHNAME, LITERAL} → y = ' (0.99 confidence, 48 support) Rule 262: left.0.reserved not in {,} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.length ≤ 2 ∧ left.3.label not in {} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {PATHNAME, LITERAL} → y = ␣ (0.98 confidence, 33 support) Rule 263: left.0.reserved not in {,} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.roles in {MAP} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} and not in {PATHNAME} → y = ␣ (1.00 confidence, 431 support) Rule 264: left.0.reserved = ( and not in {,} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {MAP} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} and not in {PATHNAME} → y = ' (0.77 confidence, 584 support) Rule 265: left.0.label = <, +, s, p, a, c, e, > ∧ left.0.reserved not in {,, (} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {MAP} ∧ left.2.label = <, n, e, w, l, i, n, e, > ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} and not in {PATHNAME} → y = ␣⁺ (0.92 confidence, 109 support) Rule 266: left.0.label not in {<+space>} ∧ left.0.reserved not in {,, (} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {MAP} ∧ left.2.label = <, n, e, w, l, i, n, e, > ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} and not in {PATHNAME} → y = ␣ (0.60 confidence, 26 support) Rule 267: left.0.reserved not in {,, (} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {MAP} ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.2.label not in {} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} and not in {PATHNAME} → y = ␣ (0.55 confidence, 699 support) Rule 268: left.0.reserved not in {,, (} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.roles not in {MAP} ∧ left.2.internal_type not in {Identifier} ∧ left.2.label not in {} ∧ left.4.label not in {} ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} and not in {PATHNAME} → y = ' (0.66 confidence, 1285 support) Rule 269: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved = ' ∧ right.0.reserved not in {}} ∧ right.0.roles in {KEY} and not in {LITERAL} → y = ⏎ (0.97 confidence, 162 support) Rule 270: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved = ' ∧ left.2.roles in {LITERAL} ∧ right.0.reserved not in {}} ∧ right.0.roles in {EXPRESSION} and not in {KEY, LITERAL} → y = ␣ (0.61 confidence, 208 support) Rule 271: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved = ' ∧ left.2.roles in {LITERAL} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {KEY, LITERAL, EXPRESSION} ∧ parents.1.roles in {STATEMENT} → y = ␣ (0.66 confidence, 119 support) Rule 272: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved = ' ∧ left.2.roles in {LITERAL} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {KEY, LITERAL, EXPRESSION} ∧ parents.1.roles not in {STATEMENT} → y = ⏎ (0.81 confidence, 603 support) Rule 273: left.0.roles not in {IDENTIFIER} ∧ left.1.reserved = ' ∧ left.2.roles not in {LITERAL} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {KEY, LITERAL} → y = ' (1.00 confidence, 2090 support) Rule 274: left.0.roles not in {IDENTIFIER} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.reserved not in {'} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.1.roles in {VARIABLE} → y = ␣ (0.90 confidence, 1026 support) Rule 275: left.0.roles not in {IDENTIFIER} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.reserved not in {'} ∧ left.2.roles in {EXPRESSION} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.1.roles not in {VARIABLE} → y = ␣ (0.91 confidence, 840 support) Rule 276: node.0.start_col ≥ 10 ∧ left.0.reserved = { ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.reserved not in {'} ∧ left.2.roles not in {EXPRESSION} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.1.roles not in {VARIABLE} → y = ⏎ (0.85 confidence, 1378 support) Rule 277: node.0.start_col ≤ 9 ∧ left.0.reserved = { ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.reserved not in {'} ∧ left.2.roles not in {EXPRESSION} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.1.roles not in {VARIABLE} → y = ␣ (0.69 confidence, 254 support) Rule 278: left.0.reserved not in {{} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.reserved not in {'} ∧ left.2.roles not in {EXPRESSION} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.1.roles not in {VARIABLE} → y = ␣ (0.79 confidence, 791 support) Rule 279: left.0.roles not in {IDENTIFIER} ∧ left.1.label not in {} ∧ left.1.reserved not in {'} ∧ left.2.diff_offset ≥ 12 ∧ left.2.label = <, +, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.0.roles in {EXPRESSION} ∧ parents.1.roles in {EXPRESSION} → y = ⏎ (0.79 confidence, 40 support) Rule 280: left.0.roles not in {IDENTIFIER} ∧ left.1.label not in {} ∧ left.1.reserved not in {'} ∧ left.2.diff_offset ≥ 12 ∧ left.2.label = <, +, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.0.roles not in {EXPRESSION} ∧ parents.1.roles in {EXPRESSION} → y = ␣ (0.98 confidence, 21 support) Rule 281: left.0.roles not in {IDENTIFIER} ∧ left.1.label not in {} ∧ left.1.reserved not in {'} ∧ left.2.diff_offset ≥ 12 ∧ left.2.label = <, +, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ parents.1.roles not in {EXPRESSION} → y = ⏎ (0.98 confidence, 86 support) Rule 282: left.0.roles not in {IDENTIFIER} ∧ left.1.label not in {} ∧ left.1.reserved not in {'} ∧ left.2.diff_offset ≤ 11 ∧ left.2.label = <, +, s, p, a, c, e, > ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} → y = ␣ (0.84 confidence, 1002 support) Rule 283: left.0.reserved = ; ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.label not in {} ∧ left.1.reserved not in {'} ∧ left.2.label not in {<+space>} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} → y = ⏎ (1.00 confidence, 1540 support) Rule 284: left.0.reserved not in {;} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.label not in {} ∧ left.1.reserved = ; and not in {'} ∧ left.2.label not in {<+space>} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} → y = ⏎ (0.92 confidence, 742 support) Rule 285: left.0.reserved not in {;} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.diff_offset ≥ 1 ∧ left.1.label not in {} ∧ left.1.reserved not in {', ;} ∧ left.2.label not in {<+space>} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} → y = ␣ (0.39 confidence, 14017 support) Rule 286: left.0.reserved not in {;} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.diff_offset = 0 ∧ left.1.label not in {} ∧ left.1.reserved not in {', ;} ∧ left.2.label not in {<+space>} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ right.4.roles in {IMPORT} → y = ␣ (0.98 confidence, 25 support) Rule 287: left.0.reserved not in {;} ∧ left.0.roles not in {IDENTIFIER} ∧ left.1.diff_offset = 0 ∧ left.1.label not in {} ∧ left.1.reserved not in {', ;} ∧ left.2.label not in {<+space>} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} ∧ right.4.roles not in {IMPORT} → y = ␣⁻ (0.86 confidence, 899 support) Rule 288: left.0.label = <, +, s, p, a, c, e, > → y = ␣⁺ (0.94 confidence, 2592 support) Rule 289: left.0.label not in {<+space>} ∧ left.4.reserved = i, m, p, o, r, t ∧ right.0.roles in {STRING} → y = ␣ (1.00 confidence, 152 support) Rule 290: left.0.label not in {<+space>} ∧ left.0.length ≥ 3 ∧ left.0.roles in {COMMENT} ∧ left.4.diff_col ≥ 1 ∧ left.4.diff_offset ≥ 11 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} → y = ⏎ (0.98 confidence, 23 support) Rule 291: left.0.label not in {<+space>} ∧ left.0.length ≥ 3 ∧ left.0.roles not in {COMMENT} ∧ left.1.label = <, n, e, w, l, i, n, e, > ∧ left.4.diff_col ≥ 1 ∧ left.4.diff_offset ≥ 11 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} → y = ␣⁺ (0.61 confidence, 89 support) Rule 292: left.0.label not in {<+space>} ∧ left.0.length ≥ 3 ∧ left.0.roles not in {COMMENT} ∧ left.1.label not in {} ∧ left.4.diff_col ≥ 1 ∧ left.4.diff_offset ≥ 11 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} → y = ␣ (0.99 confidence, 34 support) Rule 293: left.0.label not in {<+space>} ∧ left.0.length ≥ 3 ∧ left.4.diff_col = 0 ∧ left.4.diff_offset ≥ 11 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} → y = ' (0.84 confidence, 103 support) Rule 294: left.0.label not in {<+space>} ∧ left.0.length ≥ 3 ∧ left.4.diff_offset ≤ 10 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} → y = ␣ (0.80 confidence, 417 support) Rule 295: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.1.reserved = ' ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ right.2.length ≥ 2 → y = ⏎ (0.92 confidence, 222 support) Rule 296: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.1.reserved = ' ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ right.2.length ≤ 1 → y = ␣ (0.76 confidence, 164 support) Rule 297: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved = , ∧ left.1.reserved not in {'} ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.1.internal_type = E, x, p, r, e, s, s, i, o, n, S, t, a, t, e, m, e, n, t → y = ⏎ (0.81 confidence, 60 support) Rule 298: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved = , ∧ left.1.reserved not in {'} ∧ left.2.diff_col ≥ 11 ∧ left.3.diff_offset ≥ 10 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.1.internal_type not in {ExpressionStatement} → y = ⏎ (0.82 confidence, 19 support) Rule 299: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved = , ∧ left.1.reserved not in {'} ∧ left.2.diff_col ≤ 11 ∧ left.3.diff_offset ≥ 10 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.1.internal_type not in {ExpressionStatement} → y = ␣ (0.66 confidence, 25 support) Rule 300: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved = , ∧ left.1.reserved not in {'} ∧ left.3.diff_offset ≤ 9 ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.1.internal_type not in {ExpressionStatement} → y = ␣ (0.82 confidence, 71 support) Rule 301: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved not in {,} ∧ left.1.reserved = : and not in {'} ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.0.roles in {MAP} → y = ' (1.00 confidence, 287 support) Rule 302: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved not in {,} ∧ left.1.reserved not in {:, '} ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.0.roles in {MAP} → y = ␣ (0.83 confidence, 373 support) Rule 303: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved not in {,} ∧ left.1.reserved not in {'} ∧ left.3.roles in {LITERAL} ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.0.roles not in {MAP} ∧ parents.1.roles in {ARITHMETIC} → y = ⏎ (0.98 confidence, 30 support) Rule 304: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved not in {,} ∧ left.1.reserved not in {'} ∧ left.3.roles not in {LITERAL} ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.0.roles not in {MAP} ∧ parents.1.roles in {ARITHMETIC} → y = ␣ (0.52 confidence, 41 support) Rule 305: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved not in {,} ∧ left.1.reserved not in {'} ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.0.roles not in {MAP} ∧ parents.1.roles not in {ARITHMETIC} → y = ␣ (0.61 confidence, 129 support) Rule 306: left.0.label not in {<+space>} ∧ left.0.length ≤ 2 ∧ left.0.reserved not in {,} ∧ left.1.reserved not in {'} ∧ left.2.internal_type not in {Identifier} ∧ left.4.reserved not in {import} ∧ right.0.roles in {STRING} ∧ parents.0.roles not in {MAP} ∧ parents.1.roles not in {ARITHMETIC} → y = ' (0.83 confidence, 1812 support) Rule 307: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {<+space>} ∧ left.2.diff_line ≥ 1 ∧ right.0.roles not in {STRING} ∧ right.1.length ≥ 5 → y = ␣ (0.99 confidence, 60 support) Rule 308: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {<+space>} ∧ left.2.diff_line ≥ 1 ∧ right.0.reserved = ) ∧ right.0.roles not in {STRING} ∧ right.1.length ≤ 4 → y = ⏎ (1.00 confidence, 102 support) Rule 309: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {<+space>} ∧ left.2.diff_line ≥ 1 ∧ right.0.reserved not in {)} ∧ right.0.roles not in {STRING} ∧ right.1.length ≤ 4 ∧ parents.0.roles in {BINARY} → y = ␣ (0.97 confidence, 19 support) Rule 310: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {<+space>} ∧ left.2.diff_line ≥ 1 ∧ right.0.reserved not in {)} ∧ right.0.roles not in {STRING} ∧ right.1.length ≤ 4 ∧ parents.0.roles in {EXPRESSION} and not in {BINARY} → y = ␣ (0.55 confidence, 30 support) Rule 311: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {<+space>} ∧ left.2.diff_line ≥ 1 ∧ right.0.reserved not in {)} ∧ right.0.roles not in {STRING} ∧ right.1.length ≤ 4 ∧ parents.0.roles not in {BINARY, EXPRESSION} → y = ⏎ (0.92 confidence, 80 support) Rule 312: left.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.0.label not in {<+space>} ∧ left.2.diff_line = 0 ∧ right.0.roles not in {STRING} → y = ␣ (0.93 confidence, 2712 support) Rule 313: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.3.label = <, -, s, p, a, c, e, > ∧ right.0.reserved = } ∧ right.0.roles not in {STRING} → y = ⏎ (0.70 confidence, 513 support) Rule 314: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.diff_col ≥ 3 ∧ left.3.label not in {<-space>} ∧ right.0.reserved = } ∧ right.0.roles not in {STRING} → y = ␣⁻ (0.93 confidence, 3037 support) Rule 315: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.diff_col ≤ 2 ∧ left.3.label not in {<-space>} ∧ right.0.reserved = } ∧ right.0.roles not in {STRING} ∧ parents.1.internal_type = P, r, o, g, r, a, m → y = ␣⁻ (0.82 confidence, 36 support) Rule 316: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.diff_col ≤ 2 ∧ left.3.label not in {<-space>} ∧ left.3.roles in {EXPRESSION} ∧ right.0.reserved = } ∧ right.0.roles not in {STRING} ∧ parents.1.internal_type not in {Program} → y = ⏎ (0.94 confidence, 216 support) Rule 317: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.diff_col ≤ 2 ∧ left.2.diff_col ≥ 1 ∧ left.3.label not in {<-space>} ∧ left.3.roles not in {EXPRESSION} ∧ right.0.reserved = } ∧ right.0.roles not in {STRING} ∧ parents.0.roles in {VARIABLE} ∧ parents.1.internal_type not in {Program} → y = ␣ (0.48 confidence, 32 support) Rule 318: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.diff_col ≤ 2 ∧ left.2.diff_col ≥ 1 ∧ left.3.label not in {<-space>} ∧ left.3.roles not in {EXPRESSION} ∧ right.0.reserved = } ∧ right.0.roles not in {STRING} ∧ parents.0.roles not in {VARIABLE} ∧ parents.1.internal_type not in {Program} → y = ⏎ (0.79 confidence, 950 support) Rule 319: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.diff_col ≤ 2 ∧ left.2.diff_col = 0 ∧ left.3.label not in {<-space>} ∧ left.3.roles not in {EXPRESSION} ∧ right.0.reserved = } ∧ right.0.roles not in {STRING} ∧ parents.1.internal_type not in {Program} → y = ␣⁻ (1.00 confidence, 127 support) Rule 320: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved = . ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} ∧ parents.1.roles in {FUNCTION} → y = ⏎ (0.97 confidence, 58 support) Rule 321: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved = . ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} ∧ parents.1.roles in {IDENTIFIER} and not in {FUNCTION} → y = ⏎ (0.89 confidence, 23 support) Rule 322: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved = . ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} ∧ parents.0.roles in {BINARY} ∧ parents.1.roles not in {IDENTIFIER, FUNCTION} → y = ␣ (0.63 confidence, 58 support) Rule 323: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved = . ∧ right.0.length ≥ 2 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} ∧ parents.0.roles not in {BINARY} ∧ parents.1.roles not in {IDENTIFIER, FUNCTION} → y = ⏎ (0.94 confidence, 236 support) Rule 324: left.0.diff_line ≥ 1 ∧ left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved = . ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} → y = ␣⁻ (0.99 confidence, 38 support) Rule 325: left.0.diff_line = 0 ∧ left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved = . ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} ∧ parents.0.roles in {IF} → y = ␣ (0.95 confidence, 55 support) Rule 326: left.0.diff_line = 0 ∧ left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved = . ∧ right.0.length ≤ 1 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} ∧ parents.0.roles not in {IF} → y = ⏎ (0.82 confidence, 114 support) Rule 327: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.2.diff_offset ≥ 3 ∧ left.2.reserved not in {.} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} → y = ␣ (0.48 confidence, 12067 support) Rule 328: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label = <, n, e, w, l, i, n, e, > ∧ left.2.diff_offset ≤ 2 ∧ right.0.reserved = ] and not in {}} ∧ right.0.roles not in {STRING} → y = ␣⁻ (1.00 confidence, 130 support) Rule 329: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label = <, n, e, w, l, i, n, e, > ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles in {EXPRESSION} ∧ right.0.reserved not in {}, ]} ∧ right.0.roles not in {STRING} → y = ␣⁻ (1.00 confidence, 162 support) Rule 330: left.0.internal_type not in {Identifier} ∧ left.0.label = <, -, s, p, a, c, e, > and not in {<+space>} ∧ left.1.label = <, n, e, w, l, i, n, e, > ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {EXPRESSION} ∧ right.0.reserved not in {}, ]} ∧ right.0.roles not in {STRING} → y = ␣⁻ (1.00 confidence, 391 support) Rule 331: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>, <-space>} ∧ left.1.label = <, n, e, w, l, i, n, e, > ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {EXPRESSION} ∧ right.0.reserved not in {}, ]} ∧ right.0.roles not in {STRING} ∧ parents.0.roles in {BODY} → y = ␣⁻ (0.68 confidence, 30 support) Rule 332: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>, <-space>} ∧ left.1.label = <, n, e, w, l, i, n, e, > ∧ left.2.diff_offset ≤ 2 ∧ left.2.roles not in {EXPRESSION} ∧ right.0.reserved not in {}, ]} ∧ right.0.roles not in {STRING} ∧ parents.0.roles not in {BODY} → y = ␣⁺ (0.37 confidence, 34 support) Rule 333: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label not in {} ∧ left.2.diff_col ≥ 3 ∧ left.2.diff_offset ≤ 2 ∧ left.2.reserved = ) ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} → y = ⏎ (0.77 confidence, 197 support) Rule 334: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label not in {} ∧ left.2.diff_col ≥ 3 ∧ left.2.diff_offset ≤ 2 ∧ left.2.reserved not in {)} ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} → y = ␣⁺ (0.34 confidence, 1094 support) Rule 335: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label = <, s, p, a, c, e, > and not in {} ∧ left.2.diff_col ≤ 2 ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_col ≥ 5 ∧ right.0.reserved not in {}} ∧ right.0.roles not in {STRING} → y = ␣ (0.90 confidence, 1938 support) Rule 336: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label not in {, } ∧ left.2.diff_col ≤ 2 ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_col ≥ 5 ∧ right.0.reserved = { and not in {}} ∧ right.0.roles not in {STRING} → y = ␣ (0.93 confidence, 195 support) Rule 337: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label not in {, } ∧ left.2.diff_col ≤ 2 ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_col ≥ 5 ∧ right.0.reserved not in {{, }} ∧ right.0.roles not in {STRING} → y = ⏎ (0.79 confidence, 2237 support) Rule 338: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label not in {} ∧ left.2.diff_col ≤ 2 ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_col ≤ 4 ∧ right.0.reserved = { and not in {}} ∧ right.0.roles not in {STRING} → y = ␣ (0.92 confidence, 439 support) Rule 339: left.0.internal_type not in {Identifier} ∧ left.0.label not in {<+space>} ∧ left.1.label not in {} ∧ left.2.diff_col ≤ 2 ∧ left.2.diff_offset ≤ 2 ∧ left.3.diff_col ≤ 4 ∧ right.0.reserved not in {{, }} ∧ right.0.roles not in {STRING} → y = ⏎ (0.68 confidence, 4737 support) Rule 340: left.1.diff_offset ≥ 1 ∧ left.1.reserved = ; ∧ left.2.diff_line ≥ 1 → y = ␣⁻ (0.61 confidence, 1686 support) Rule 341: left.0.internal_type = C, o, m, m, e, n, t, L, i, n, e ∧ left.1.diff_offset ≥ 5 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 → y = ⏎ (1.00 confidence, 220 support) Rule 342: left.0.internal_type not in {CommentLine} ∧ left.1.diff_offset ≥ 5 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.3.label = <, s, p, a, c, e, > → y = ␣⁺ (0.95 confidence, 496 support) Rule 343: left.0.internal_type not in {CommentLine} ∧ left.1.diff_offset ≥ 5 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.3.label not in {} ∧ parents.0.roles in {CALL} → y = ␣⁺ (0.89 confidence, 344 support) Rule 344: left.0.internal_type not in {CommentLine} ∧ left.1.diff_offset ≥ 5 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.3.label not in {} ∧ parents.0.roles not in {CALL} → y = ␣ (0.86 confidence, 1825 support) Rule 345: left.1.diff_offset ≤ 4 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l → y = ␣⁻ (1.00 confidence, 161 support) Rule 346: node.0.start_col ≥ 2 ∧ left.1.diff_offset ≤ 4 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.diff_line ≥ 2 ∧ parents.0.roles in {BODY} → y = ␣ (0.87 confidence, 65 support) Rule 347: node.0.start_col ≥ 2 ∧ left.1.diff_offset ≤ 4 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.diff_line ≥ 2 ∧ parents.0.roles not in {BODY} → y = ␣ (0.46 confidence, 25 support) Rule 348: node.0.start_col ≥ 2 ∧ left.1.diff_offset ≤ 1 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.diff_line ≥ 2 ∧ parents.0.roles not in {BODY} → y = ␣⁺ (0.49 confidence, 38 support) Rule 349: node.0.start_col ≥ 2 ∧ left.1.diff_offset ≤ 4 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.diff_line ≤ 1 ∧ left.4.diff_col ≥ 1 → y = ␣⁺ (0.89 confidence, 3629 support) Rule 350: node.0.start_col ≥ 2 ∧ left.1.diff_offset ≤ 4 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.diff_line ≤ 1 ∧ left.4.diff_col = 0 ∧ right.1.reserved = , → y = ' (0.96 confidence, 208 support) Rule 351: node.0.start_col ≥ 2 ∧ left.1.diff_offset ≤ 4 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type not in {StringLiteral} ∧ left.3.diff_line ≤ 1 ∧ left.4.diff_col = 0 ∧ right.1.reserved not in {,} → y = ␣⁺ (0.67 confidence, 230 support) Rule 352: node.0.start_col ≤ 1 ∧ left.1.diff_offset ≤ 4 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≥ 1 ∧ left.2.internal_type not in {StringLiteral} → y = ␣⁻ (0.54 confidence, 1872 support) Rule 353: left.1.diff_offset = 0 ∧ left.2.diff_line ≥ 1 → y = ␣⁻ (1.00 confidence, 2396 support) Rule 354: left.2.diff_line = 0 ∧ left.4.reserved = ' ∧ right.0.reserved = { ∧ parents.0.roles in {CALL} → y = ⏎ (0.92 confidence, 19 support) Rule 355: left.2.diff_line = 0 ∧ left.3.reserved = ' ∧ left.4.reserved not in {'} ∧ right.0.reserved = { ∧ right.1.roles in {MAP} ∧ parents.0.roles in {CALL} → y = ␣ (0.87 confidence, 49 support) Rule 356: left.2.diff_line = 0 ∧ left.3.reserved not in {'} ∧ left.4.reserved not in {'} ∧ right.0.reserved = { ∧ right.1.roles in {MAP} ∧ right.3.length ≥ 5 ∧ parents.0.roles in {CALL} → y = ␣ (0.85 confidence, 24 support) Rule 357: left.2.diff_line = 0 ∧ left.3.reserved not in {'} ∧ left.4.reserved not in {'} ∧ right.0.reserved = { ∧ right.1.roles in {VALUE, MAP} ∧ right.3.length ≤ 4 ∧ parents.0.roles in {CALL} → y = ␣ (0.72 confidence, 9 support) Rule 358: left.2.diff_line = 0 ∧ left.3.reserved not in {'} ∧ left.4.reserved not in {'} ∧ right.0.reserved = { ∧ right.1.roles in {MAP} and not in {VALUE} ∧ right.3.length ≤ 4 ∧ parents.0.roles in {CALL} → y = ⏎ (0.76 confidence, 23 support) Rule 359: left.2.diff_line = 0 ∧ left.4.reserved not in {'} ∧ right.0.reserved = { ∧ right.1.roles not in {MAP} ∧ parents.0.roles in {CALL} → y = ␣ (0.99 confidence, 285 support) Rule 360: left.2.diff_line = 0 ∧ right.0.reserved = { ∧ parents.0.roles not in {CALL} → y = ␣ (0.98 confidence, 1158 support) Rule 361: left.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ left.2.diff_line = 0 ∧ right.0.reserved not in {{} → y = ' (0.95 confidence, 2319 support) Rule 362: left.0.internal_type not in {StringLiteral} ∧ left.1.diff_col ≥ 2 ∧ left.2.diff_line = 0 ∧ right.0.reserved not in {{} → y = ␣ (0.89 confidence, 5082 support) Rule 363: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved = ( ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ right.0.reserved not in {{} → y = ' (0.52 confidence, 1078 support) Rule 364: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.3.diff_offset ≥ 9 ∧ right.0.reserved not in {{} ∧ parents.0.roles in {MAP} ∧ parents.1.roles in {INITIALIZATION} → y = ␣ (0.86 confidence, 826 support) Rule 365: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.3.diff_offset ≥ 9 ∧ right.0.reserved not in {{} ∧ parents.0.internal_type = A, r, r, a, y, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {MAP} ∧ parents.1.roles in {INITIALIZATION} → y = ⏎ (0.83 confidence, 32 support) Rule 366: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.3.diff_offset ≥ 9 ∧ right.0.reserved not in {{} ∧ parents.0.internal_type not in {ArrayExpression} ∧ parents.0.roles not in {MAP} ∧ parents.1.roles in {INITIALIZATION} → y = ␣ (0.52 confidence, 76 support) Rule 367: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.3.diff_offset ≤ 8 ∧ right.0.reserved not in {{} ∧ parents.1.roles in {INITIALIZATION} → y = ␣ (0.44 confidence, 1004 support) Rule 368: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.reserved = , ∧ right.0.reserved not in {{} ∧ parents.0.internal_type = B, l, o, c, k, S, t, a, t, e, m, e, n, t ∧ parents.1.roles not in {INITIALIZATION} → y = ⏎ (0.99 confidence, 94 support) Rule 369: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved = ; and not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.reserved = , ∧ right.0.reserved not in {{} ∧ parents.0.internal_type not in {BlockStatement} ∧ parents.1.roles not in {INITIALIZATION} → y = ⏎ (0.99 confidence, 40 support) Rule 370: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(, ;} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.reserved = , ∧ right.0.reserved not in {{} ∧ parents.0.internal_type not in {BlockStatement} ∧ parents.1.roles not in {INITIALIZATION} → y = ␣ (0.62 confidence, 115 support) Rule 371: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved = = and not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.reserved not in {,} ∧ right.0.reserved not in {{} ∧ parents.1.roles not in {INITIALIZATION} → y = ␣ (0.99 confidence, 1002 support) Rule 372: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {=, (} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.reserved not in {,} ∧ right.0.reserved not in {{} ∧ parents.1.roles in {MODULE} and not in {INITIALIZATION} → y = ␣ (0.93 confidence, 157 support) Rule 373: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {=, (} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.4.reserved not in {,} ∧ right.0.reserved not in {{} ∧ parents.1.roles not in {INITIALIZATION, MODULE} → y = ⏎ (0.62 confidence, 973 support) Rule 374: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type not in {Identifier} ∧ right.0.reserved not in {{} ∧ parents.0.roles in {CALL, BODY} ∧ parents.1.roles not in {INITIALIZATION} → y = ␣ (0.76 confidence, 69 support) Rule 375: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type not in {Identifier} ∧ right.0.reserved not in {{} ∧ parents.0.roles in {BODY} and not in {CALL} ∧ parents.1.roles not in {INITIALIZATION} → y = ⏎ (0.89 confidence, 1890 support) Rule 376: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.2.diff_line = 0 ∧ left.2.internal_type not in {Identifier} ∧ left.2.label = <, s, p, a, c, e, > ∧ right.0.reserved not in {{} ∧ parents.0.roles not in {BODY} ∧ parents.1.roles not in {INITIALIZATION} → y = ␣ (0.41 confidence, 1950 support) Rule 377: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.1.reserved = ( ∧ left.2.diff_line = 0 ∧ left.2.internal_type not in {Identifier} ∧ left.2.label not in {} ∧ right.0.reserved not in {{} ∧ parents.0.roles not in {BODY} ∧ parents.1.roles not in {INITIALIZATION} → y = ␣ (0.97 confidence, 175 support) Rule 378: left.0.internal_type not in {StringLiteral} ∧ left.0.reserved not in {(} ∧ left.1.diff_col ≤ 1 ∧ left.1.reserved not in {(} ∧ left.2.diff_line = 0 ∧ left.2.internal_type not in {Identifier} ∧ left.2.label not in {} ∧ right.0.reserved not in {{} ∧ parents.0.roles not in {BODY} ∧ parents.1.roles not in {INITIALIZATION} → y = ⏎ (0.64 confidence, 7146 support) Rule 379: left.1.diff_line ≥ 1 ∧ left.2.diff_line ≥ 2 ∧ left.3.diff_offset ≥ 3 → y = ␣ (0.80 confidence, 485 support) Rule 380: left.1.diff_line ≥ 1 ∧ left.2.diff_line ≤ 1 ∧ left.3.diff_offset ≥ 3 ∧ right.0.reserved = } → y = ␣⁻ (0.99 confidence, 1760 support) Rule 381: left.1.diff_line ≥ 1 ∧ left.2.diff_line ≤ 1 ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {}} ∧ right.0.roles in {LITERAL} → y = ' (0.99 confidence, 272 support) Rule 382: left.1.diff_line ≥ 1 ∧ left.2.diff_line ≤ 1 ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ right.0.reserved not in {}} ∧ right.0.roles not in {LITERAL} → y = ␣ (0.75 confidence, 293 support) Rule 383: left.1.diff_line ≥ 1 ∧ left.2.diff_line ≤ 1 ∧ left.2.reserved = { ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type not in {StringLiteral} ∧ right.0.reserved not in {}} → y = ␣⁺ (1.00 confidence, 1458 support) Rule 384: left.1.diff_line ≥ 1 ∧ left.1.reserved = ; ∧ left.2.diff_line ≤ 1 ∧ left.2.reserved not in {{} ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type not in {StringLiteral} ∧ right.0.reserved not in {}} → y = ⏎ (0.92 confidence, 663 support) Rule 385: node.0.start_col ≥ 2 ∧ left.1.diff_line ≥ 1 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≤ 1 ∧ left.2.reserved not in {{} ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type not in {StringLiteral} ∧ left.4.length ≥ 1 ∧ right.0.reserved not in {}} → y = ␣⁺ (0.73 confidence, 1161 support) Rule 386: node.0.start_col ≤ 1 ∧ left.1.diff_line ≥ 1 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≤ 1 ∧ left.2.reserved not in {{} ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type not in {StringLiteral} ∧ left.4.length ≥ 1 ∧ right.0.reserved not in {}} → y = ␣⁻ (0.59 confidence, 1105 support) Rule 387: left.1.diff_line ≥ 1 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≤ 1 ∧ left.2.reserved not in {{} ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type not in {StringLiteral} ∧ left.4.length = 0 ∧ right.0.reserved not in {}} ∧ right.1.reserved = ( → y = ⏎ (0.92 confidence, 44 support) Rule 388: left.1.diff_line ≥ 1 ∧ left.1.reserved not in {;} ∧ left.2.diff_line ≤ 1 ∧ left.2.reserved not in {{} ∧ left.3.diff_offset ≥ 3 ∧ left.4.internal_type not in {StringLiteral} ∧ left.4.length = 0 ∧ right.0.reserved not in {}} ∧ right.1.reserved not in {(} → y = ␣⁻ (0.46 confidence, 285 support) Rule 389: left.1.diff_line ≥ 1 ∧ left.2.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 2 → y = ␣⁻ (0.92 confidence, 1929 support) Rule 390: left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved = ( → y = ␣⁺ (0.99 confidence, 400 support) Rule 391: left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {(} ∧ right.3.internal_type = C, o, m, m, e, n, t, L, i, n, e → y = ⏎ (0.96 confidence, 127 support) Rule 392: left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {(} ∧ right.0.length ≥ 2 ∧ right.1.length ≥ 2 ∧ right.3.internal_type not in {CommentLine} → y = ␣⁺ (0.74 confidence, 515 support) Rule 393: left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {(} ∧ right.0.length ≥ 2 ∧ right.1.length ≤ 1 ∧ right.3.internal_type not in {CommentLine} ∧ parents.0.roles in {FUNCTION} → y = ␣ (0.61 confidence, 840 support) Rule 394: left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.reserved not in {(} ∧ right.0.length ≥ 2 ∧ right.1.length ≤ 1 ∧ right.3.internal_type not in {CommentLine} ∧ parents.0.roles not in {FUNCTION} → y = ␣⁺ (0.76 confidence, 834 support) Rule 395: left.1.diff_col ≥ 2 ∧ left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.diff_offset ≥ 3 ∧ left.3.reserved not in {(} ∧ right.0.length ≤ 1 ∧ right.3.internal_type not in {CommentLine} → y = ␣ (0.61 confidence, 556 support) Rule 396: left.1.diff_col ≤ 1 ∧ left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.diff_offset ≥ 3 ∧ left.3.reserved not in {(} ∧ right.0.length ≤ 1 ∧ right.3.internal_type not in {CommentLine} → y = ␣⁺ (0.91 confidence, 259 support) Rule 397: left.1.diff_line = 0 ∧ left.2.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 2 ∧ left.3.reserved not in {(} ∧ right.0.length ≤ 1 ∧ right.3.internal_type not in {CommentLine} → y = ␣⁻ (1.00 confidence, 179 support) Rule 398: left.0.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ right.0.reserved = = → y = ␣ (1.00 confidence, 1249 support) Rule 399: left.0.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 18 ∧ right.0.reserved not in {=} ∧ parents.1.roles in {FILE} → y = ⏎ (0.79 confidence, 17 support) Rule 400: left.0.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 18 ∧ right.0.reserved = ) and not in {=} ∧ parents.1.roles not in {FILE} → y = ⏎ (0.97 confidence, 19 support) Rule 401: left.0.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 18 ∧ right.0.reserved not in {=, )} ∧ parents.1.internal_type = A, r, r, o, w, F, u, n, c, t, i, o, n, E, x, p, r, e, s, s, i, o, n ∧ parents.1.roles in {FUNCTION} and not in {FILE} → y = ⏎ (0.88 confidence, 13 support) Rule 402: left.0.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 18 ∧ right.0.reserved not in {=, )} ∧ parents.1.internal_type not in {ArrowFunctionExpression} ∧ parents.1.roles in {FUNCTION} and not in {FILE} → y = ␣ (0.53 confidence, 16 support) Rule 403: left.0.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≥ 18 ∧ right.0.reserved not in {=, )} ∧ parents.1.roles not in {FILE, FUNCTION} → y = ␣ (0.89 confidence, 256 support) Rule 404: left.0.roles in {IDENTIFIER} ∧ left.2.diff_line = 0 ∧ left.4.diff_offset ≤ 17 ∧ right.0.reserved not in {=} → y = ␣ (0.92 confidence, 1086 support) Rule 405: left.0.roles in {ARGUMENT} and not in {IDENTIFIER} ∧ left.2.diff_line = 0 → y = ' (0.93 confidence, 934 support) Rule 406: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.roles in {KEY} ∧ left.2.diff_line = 0 → y = ␣ (1.00 confidence, 1030 support) Rule 407: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.diff_col ≥ 2 ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ right.0.reserved = ; ∧ parents.0.roles in {BLOCK} → y = ' (0.94 confidence, 25 support) Rule 408: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.diff_col ≥ 2 ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.4.label = <, n, e, w, l, i, n, e, > ∧ right.0.reserved not in {;} ∧ parents.0.roles in {BLOCK} → y = ␣ (0.94 confidence, 59 support) Rule 409: left.0.roles in {MAP} and not in {IDENTIFIER, ARGUMENT} ∧ left.1.diff_col ≥ 2 ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.4.label not in {} ∧ right.0.reserved not in {;} ∧ parents.0.roles in {BLOCK} → y = ' (0.66 confidence, 60 support) Rule 410: left.0.roles not in {IDENTIFIER, ARGUMENT, MAP} ∧ left.1.diff_col ≥ 7 ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.4.label not in {} ∧ right.0.reserved not in {;} ∧ parents.0.roles in {BLOCK} → y = ' (0.98 confidence, 30 support) Rule 411: left.0.roles not in {IDENTIFIER, ARGUMENT, MAP} ∧ left.1.diff_col ≤ 6 ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.4.label not in {} ∧ right.0.reserved not in {;} ∧ parents.0.roles in {BLOCK} → y = ␣ (0.75 confidence, 10 support) Rule 412: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.diff_col ≤ 1 ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ parents.0.roles in {BLOCK} → y = ⏎ (0.92 confidence, 2153 support) Rule 413: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≥ 3 ∧ parents.0.internal_type = L, o, g, i, c, a, l, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.78 confidence, 220 support) Rule 414: left.0.roles in {LITERAL} and not in {IDENTIFIER, ARGUMENT} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≥ 3 ∧ left.3.length ≥ 8 ∧ parents.0.internal_type not in {LogicalExpression} ∧ parents.0.roles not in {BLOCK} → y = ⏎ (0.96 confidence, 42 support) Rule 415: left.0.roles not in {LITERAL, IDENTIFIER, ARGUMENT} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≥ 3 ∧ left.3.length ≥ 8 ∧ parents.0.internal_type not in {LogicalExpression} ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.98 confidence, 25 support) Rule 416: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≥ 3 ∧ left.3.length ≤ 7 ∧ parents.0.internal_type not in {LogicalExpression} ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.98 confidence, 1140 support) Rule 417: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.label not in {} ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≥ 3 ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.37 confidence, 7196 support) Rule 418: left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.reserved = : ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≤ 2 ∧ parents.0.roles not in {BLOCK} → y = ' (1.00 confidence, 283 support) Rule 419: left.0.label = <, s, p, a, c, e, > ∧ left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.reserved not in {:} ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≤ 2 ∧ parents.0.roles not in {BLOCK} → y = ' (0.95 confidence, 315 support) Rule 420: left.0.label not in {} ∧ left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.reserved not in {:} ∧ left.1.roles not in {KEY} ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≤ 2 ∧ left.2.internal_type = I, d, e, n, t, i, f, i, e, r ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.78 confidence, 2417 support) Rule 421: left.0.label not in {} ∧ left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.reserved not in {:} ∧ left.1.roles not in {KEY} ∧ left.2.diff_col ≥ 1 ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≤ 2 ∧ left.2.internal_type not in {Identifier} ∧ parents.0.roles not in {BLOCK} → y = ⏎ (0.61 confidence, 6694 support) Rule 422: left.0.label not in {} ∧ left.0.roles not in {IDENTIFIER, ARGUMENT} ∧ left.1.reserved not in {:} ∧ left.1.roles not in {KEY} ∧ left.2.diff_col = 0 ∧ left.2.diff_line = 0 ∧ left.2.diff_offset ≤ 2 ∧ left.2.internal_type not in {Identifier} ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.58 confidence, 336 support) Rule 423: left.0.length ≥ 1 ∧ left.3.diff_line ≥ 1 ∧ right.0.internal_type = I, d, e, n, t, i, f, i, e, r ∧ parents.0.roles in {CALL} → y = ␣⁺ (0.85 confidence, 1193 support) Rule 424: left.0.label = <, n, e, w, l, i, n, e, > ∧ left.0.length ≥ 1 ∧ left.3.diff_line ≥ 1 ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ␣⁻ (0.90 confidence, 426 support) Rule 425: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.1.diff_offset ≥ 10 ∧ left.2.length ≥ 2 ∧ left.3.diff_line ≥ 1 ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ' (0.96 confidence, 66 support) Rule 426: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.0.reserved = , ∧ left.1.diff_offset ≤ 9 ∧ left.2.length ≥ 2 ∧ left.3.diff_line ≥ 1 ∧ left.4.diff_col ≥ 39 ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ␣ (0.92 confidence, 18 support) Rule 427: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.0.reserved = , ∧ left.1.diff_offset ≤ 9 ∧ left.2.length ≥ 2 ∧ left.3.diff_line ≥ 1 ∧ left.4.diff_col ≤ 39 ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ⏎ (0.99 confidence, 35 support) Rule 428: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.0.reserved not in {,} ∧ left.1.diff_offset ≤ 9 ∧ left.2.length ≥ 2 ∧ left.3.diff_line ≥ 1 ∧ left.3.label = <, s, p, a, c, e, > ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ␣⁺ (0.97 confidence, 17 support) Rule 429: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.0.reserved = ) and not in {,} ∧ left.1.diff_offset ≤ 9 ∧ left.2.length ≥ 2 ∧ left.3.diff_line ≥ 1 ∧ left.3.label not in {} ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ␣ (0.95 confidence, 11 support) Rule 430: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.0.reserved not in {,, )} ∧ left.1.diff_offset ≤ 9 ∧ left.2.length ≥ 2 ∧ left.3.diff_line ≥ 1 ∧ left.3.label not in {} ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ' (0.89 confidence, 204 support) Rule 431: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.2.length ≤ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved = ' ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ' (0.91 confidence, 98 support) Rule 432: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.0.roles in {EXPRESSION} ∧ left.2.length ≤ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved not in {'} ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ␣ (0.55 confidence, 30 support) Rule 433: left.0.label not in {} ∧ left.0.length ≥ 1 ∧ left.0.roles not in {EXPRESSION} ∧ left.2.length ≤ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.reserved not in {'} ∧ right.0.internal_type not in {Identifier} ∧ parents.0.roles in {CALL} → y = ␣⁺ (0.91 confidence, 1182 support) Rule 434: left.0.length = 0 ∧ left.3.diff_line ≥ 1 ∧ parents.0.roles in {CALL} → y = ␣⁻ (1.00 confidence, 407 support) Rule 435: left.0.diff_line ≥ 1 ∧ left.3.diff_line ≥ 1 ∧ left.4.length ≥ 4 ∧ parents.0.roles not in {CALL} → y = ␣⁻ (0.73 confidence, 618 support) Rule 436: left.0.diff_line ≥ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≥ 7 ∧ left.4.length ≤ 3 ∧ parents.0.roles not in {CALL} → y = ␣⁻ (0.85 confidence, 601 support) Rule 437: left.0.diff_line ≥ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 6 ∧ left.4.length ≤ 3 ∧ right.1.reserved = ; ∧ parents.0.roles not in {CALL} → y = ␣⁻ (0.99 confidence, 162 support) Rule 438: left.0.diff_line ≥ 1 ∧ left.3.diff_col ≥ 2 ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 6 ∧ left.4.length ≤ 3 ∧ right.1.reserved not in {;} ∧ parents.0.roles not in {CALL} → y = ␣⁻ (0.46 confidence, 1041 support) Rule 439: node.0.start_line ≥ 10 ∧ left.0.diff_line ≥ 1 ∧ left.3.diff_col ≤ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 6 ∧ left.4.diff_line ≥ 2 ∧ left.4.length ≤ 3 ∧ right.1.reserved not in {;} ∧ parents.0.roles not in {CALL} → y = ␣⁺ (0.52 confidence, 20 support) Rule 440: node.0.start_line ≥ 10 ∧ left.0.diff_line ≥ 1 ∧ left.3.diff_col ≤ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 6 ∧ left.4.diff_line ≤ 1 ∧ left.4.length ≤ 3 ∧ right.1.reserved not in {;} ∧ parents.0.roles not in {CALL} → y = ⏎ (0.95 confidence, 179 support) Rule 441: node.0.start_line ≥ 10 ∧ left.0.diff_line ≥ 1 ∧ left.3.diff_col = 0 ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 6 ∧ left.4.length ≤ 3 ∧ right.1.reserved not in {;} ∧ parents.0.roles not in {CALL} → y = ⏎ (0.60 confidence, 554 support) Rule 442: node.0.start_line ≤ 9 ∧ left.0.diff_line ≥ 1 ∧ left.3.diff_col ≤ 1 ∧ left.3.diff_line ≥ 1 ∧ left.3.diff_offset ≤ 6 ∧ left.4.length ≤ 3 ∧ right.1.reserved not in {;} ∧ parents.0.roles not in {CALL} → y = ␣⁺ (0.80 confidence, 38 support) Rule 443: left.0.diff_line = 0 ∧ left.1.reserved = ' ∧ left.3.diff_line ≥ 1 ∧ parents.0.roles not in {CALL} → y = ' (1.00 confidence, 295 support) Rule 444: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line ≥ 1 ∧ right.0.reserved = r, e, t, u, r, n ∧ parents.0.roles not in {CALL} → y = ␣⁺ (0.92 confidence, 388 support) Rule 445: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line ≥ 1 ∧ left.3.length ≥ 2 ∧ left.4.diff_offset ≥ 8 ∧ right.0.reserved = } and not in {return} ∧ parents.0.roles not in {CALL} → y = ␣⁻ (0.99 confidence, 253 support) Rule 446: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line ≥ 1 ∧ left.3.length ≥ 2 ∧ left.4.diff_offset ≥ 8 ∧ right.0.reserved not in {return, }} ∧ parents.0.roles in {BLOCK} and not in {CALL} → y = ␣⁻ (0.92 confidence, 137 support) Rule 447: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line ≥ 1 ∧ left.3.length ≥ 2 ∧ left.4.diff_offset ≥ 8 ∧ right.0.reserved not in {return, }} ∧ parents.0.roles not in {CALL, BLOCK} → y = ␣ (0.30 confidence, 537 support) Rule 448: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.3.diff_line ≥ 1 ∧ left.3.length ≤ 1 ∧ left.4.diff_offset ≥ 8 ∧ right.0.reserved not in {return} ∧ parents.0.roles not in {CALL} → y = ␣ (0.67 confidence, 4709 support) Rule 449: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.2.reserved = , ∧ left.3.diff_line ≥ 1 ∧ left.4.diff_offset ≤ 7 ∧ right.0.reserved not in {return} ∧ parents.0.roles not in {CALL} → y = ' (0.96 confidence, 155 support) Rule 450: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.2.reserved not in {,} ∧ left.3.diff_line ≥ 1 ∧ left.4.diff_offset ≤ 7 ∧ right.0.reserved = f, r, o, m and not in {return} ∧ parents.0.roles not in {CALL} → y = ␣ (0.99 confidence, 39 support) Rule 451: left.0.diff_line = 0 ∧ left.1.reserved not in {'} ∧ left.2.reserved not in {,} ∧ left.3.diff_line ≥ 1 ∧ left.4.diff_offset ≤ 7 ∧ right.0.reserved not in {from, return} ∧ parents.0.roles not in {CALL} → y = ␣⁻ (0.50 confidence, 3033 support) Rule 452: left.0.label = <, s, p, a, c, e, > ∧ left.3.diff_line = 0 → y = ' (0.98 confidence, 1141 support) Rule 453: left.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ left.0.label not in {} ∧ left.3.diff_line = 0 ∧ parents.0.roles in {ADD} ∧ parents.1.roles in {MAP} → y = ' (0.94 confidence, 9 support) Rule 454: left.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ left.0.label not in {} ∧ left.0.length ≥ 3 ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≥ 4 ∧ parents.0.roles in {ADD} ∧ parents.1.roles not in {MAP} → y = ' (0.84 confidence, 22 support) Rule 455: left.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ left.0.label not in {} ∧ left.0.length ≤ 2 ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≥ 4 ∧ parents.0.roles in {ADD} ∧ parents.1.roles not in {MAP} → y = ␣ (0.71 confidence, 12 support) Rule 456: left.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ left.0.label not in {} ∧ left.3.diff_line = 0 ∧ left.3.diff_offset ≤ 3 ∧ parents.0.roles in {ADD} ∧ parents.1.roles not in {MAP} → y = ' (0.95 confidence, 11 support) Rule 457: left.0.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ left.0.label not in {} ∧ left.3.diff_line = 0 ∧ parents.0.roles not in {ADD} → y = ' (0.96 confidence, 1914 support) Rule 458: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.roles in {EXPRESSION} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ parents.0.roles in {BLOCK} → y = ⏎ (0.53 confidence, 72 support) Rule 459: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.length ≥ 2 ∧ left.0.roles not in {EXPRESSION} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ parents.0.roles in {BLOCK} → y = ␣ (0.95 confidence, 65 support) Rule 460: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.length ≤ 1 ∧ left.0.roles not in {EXPRESSION} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ parents.0.roles in {BLOCK} → y = ⏎ (0.96 confidence, 1242 support) Rule 461: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ left.3.label = <, s, p, a, c, e, > ∧ right.1.reserved = ] ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {BLOCK} → y = ⏎ (0.96 confidence, 12 support) Rule 462: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.2.roles in {CALL} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ left.3.label = <, s, p, a, c, e, > ∧ right.1.reserved not in {]} ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {BLOCK} → y = ⏎ (0.96 confidence, 14 support) Rule 463: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.2.roles not in {CALL} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ left.3.label = <, s, p, a, c, e, > ∧ right.1.reserved not in {]} ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.48 confidence, 32 support) Rule 464: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ left.3.label not in {} ∧ left.3.reserved = ' ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {BLOCK} → y = ⏎ (0.97 confidence, 194 support) Rule 465: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ left.3.label not in {} ∧ left.3.reserved = { and not in {'} ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.98 confidence, 25 support) Rule 466: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ left.3.label not in {} ∧ left.3.reserved not in {{, '} ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles not in {BLOCK} → y = ⏎ (0.93 confidence, 479 support) Rule 467: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≥ 5 ∧ left.3.diff_line = 0 ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles not in {BLOCK} → y = ␣ (0.69 confidence, 11119 support) Rule 468: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.roles in {VALUE} ∧ parents.0.roles in {EXPRESSION} → y = ␣ (0.87 confidence, 93 support) Rule 469: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.roles not in {VALUE} ∧ parents.0.internal_type = O, b, j, e, c, t, E, x, p, r, e, s, s, i, o, n ∧ parents.0.roles in {EXPRESSION} → y = ⏎ (0.97 confidence, 124 support) Rule 470: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.roles not in {VALUE} ∧ right.4.internal_type = S, t, r, i, n, g, L, i, t, e, r, a, l ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles in {EXPRESSION} → y = ⏎ (0.85 confidence, 119 support) Rule 471: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.1.label = <, s, p, a, c, e, > ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.roles not in {VALUE} ∧ right.4.internal_type not in {StringLiteral} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles in {EXPRESSION} → y = ⏎ (0.69 confidence, 610 support) Rule 472: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.1.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≥ 2 ∧ right.0.roles not in {VALUE} ∧ right.4.internal_type not in {StringLiteral} ∧ parents.0.internal_type not in {ObjectExpression} ∧ parents.0.roles in {EXPRESSION} → y = ␣ (0.62 confidence, 562 support) Rule 473: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≤ 1 ∧ right.0.roles in {IDENTIFIER} ∧ right.4.roles in {LITERAL} ∧ parents.0.roles in {ARGUMENT, EXPRESSION} → y = ⏎ (0.98 confidence, 33 support) Rule 474: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≤ 1 ∧ right.0.roles not in {IDENTIFIER} ∧ right.4.roles in {LITERAL} ∧ parents.0.roles in {ARGUMENT, EXPRESSION} → y = ␣ (0.97 confidence, 15 support) Rule 475: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≤ 1 ∧ right.4.roles not in {LITERAL} ∧ parents.0.roles in {ARGUMENT, EXPRESSION} → y = ␣ (0.97 confidence, 441 support) Rule 476: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ right.0.length ≤ 1 ∧ parents.0.roles in {EXPRESSION} and not in {ARGUMENT} → y = ␣ (0.58 confidence, 650 support) Rule 477: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.1.internal_type = I, d, e, n, t, i, f, i, e, r ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col ≥ 1 ∧ parents.0.roles not in {EXPRESSION} → y = ␣ (0.83 confidence, 51 support) Rule 478: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.1.internal_type not in {Identifier} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col ≥ 1 ∧ right.0.reserved = = ∧ parents.0.roles not in {EXPRESSION} → y = ␣ (0.99 confidence, 37 support) Rule 479: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.1.internal_type not in {Identifier} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col ≥ 1 ∧ right.0.reserved not in {=} ∧ right.1.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.1.roles in {BINARY} ∧ parents.0.roles not in {EXPRESSION} → y = ␣ (0.53 confidence, 16 support) Rule 480: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.1.internal_type not in {Identifier} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col ≥ 1 ∧ right.0.reserved not in {=} ∧ right.1.internal_type = I, d, e, n, t, i, f, i, e, r ∧ right.1.roles not in {BINARY} ∧ parents.0.roles not in {EXPRESSION} → y = ⏎ (0.95 confidence, 786 support) Rule 481: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.1.internal_type not in {Identifier} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col ≥ 1 ∧ right.0.reserved not in {=} ∧ right.1.internal_type not in {Identifier} ∧ parents.0.roles not in {EXPRESSION} → y = ⏎ (0.80 confidence, 2072 support) Rule 482: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.reserved = ; ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col = 0 ∧ parents.0.roles not in {EXPRESSION} → y = ⏎ (0.97 confidence, 16 support) Rule 483: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.reserved not in {;} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col = 0 ∧ right.4.reserved = ( ∧ parents.0.roles not in {EXPRESSION} → y = ␣⁻ (0.85 confidence, 23 support) Rule 484: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.reserved not in {;} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col = 0 ∧ right.1.reserved = f, r, o, m ∧ right.4.reserved not in {(} ∧ parents.0.roles not in {EXPRESSION} → y = ␣ (0.99 confidence, 56 support) Rule 485: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.reserved not in {;} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col = 0 ∧ right.1.reserved not in {from} ∧ right.4.reserved not in {(} ∧ parents.0.roles in {FUNCTION} and not in {EXPRESSION} → y = ␣⁻ (0.88 confidence, 13 support) 464it [00:03, 147.68it/s] DEBUG:FeaturesExtractor:Features shape: (48488, 500) DEBUG:Rules:predicting 48488 samples using 487 rules 100%|██████████| 48488/48488 [00:00<00:00, 1242939.03it/s] Rule 486: left.0.internal_type not in {StringLiteral} ∧ left.0.label not in {} ∧ left.0.reserved not in {;} ∧ left.3.diff_col ≤ 4 ∧ left.3.diff_line = 0 ∧ left.4.diff_col = 0 ∧ right.1.reserved not in {from} ∧ right.4.reserved not in {(} ∧ parents.0.roles not in {FUNCTION, EXPRESSION} → y = ␣ (0.89 confidence, 264 support) Min/max support: 9/14378, min/max conf: 0.2970205/0.9998063 Number of files: 198 Overall statistics: Legend: predictions/ground truth #rule | |||<+space> |<-space> |<+tab>|<-tab>|' |" ||n_mistakes|support Rule number 0: |0/0 |0/0 |0/21 |0/0 |21/0 |0/0 |0/0 |0/0 |0/0 |0/0 |21 |21 Rule number 3: |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |0/0 |129/128 |0/0 |0/0 |1 |129 Rule number 4: |6/0 |0/0 |0/2 |0/0 |0/4 |0/0 |0/0 |0/0 |0/0 |0/0 |6 |6 Rule number 5: |0/0 |0/0 |41/41 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |41 Rule number 9: |0/0 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |2/0 |0/0 |0/0 |2 |2 Rule number 13: |0/1 |0/0 |0/14 |17/0 |0/0 |0/0 |0/0 |0/2 |0/0 |0/0 |17 |17 Rule number 14: |0/0 |0/0 |0/0 |4/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |4 Rule number 18: |0/12 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |70/0 |0/56 |0/0 |70 |70 Rule number 19: |0/0 |0/0 |3/3 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |3 Rule number 21: |0/0 |0/0 |4/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |4 Rule number 22: |0/0 |0/0 |22/22 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |22 Rule number 24: |74/74 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |74 Rule number 25: |0/0 |0/0 |17/17 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |17 Rule number 26: |4/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |4 Rule number 27: |2375/2180|0/0 |0/195 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |195 |2375 Rule number 28: |98/52 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/45 |0/0 |0/0 |46 |98 Rule number 29: |0/23 |0/0 |3688/3665|0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |23 |3688 Rule number 30: |225/190 |0/0 |0/35 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |35 |225 Rule number 31: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |523/523 |0/0 |0/0 |0 |523 Rule number 34: |75/53 |0/0 |0/22 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |22 |75 Rule number 37: |228/204 |0/0 |0/2 |0/16 |0/0 |0/0 |0/0 |0/6 |0/0 |0/0 |24 |228 Rule number 39: |0/0 |0/0 |0/0 |463/463 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |463 Rule number 42: |0/0 |0/0 |0/0 |1/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |1 Rule number 43: |0/0 |0/0 |0/6 |167/161 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |6 |167 Rule number 46: |0/0 |0/0 |238/229 |0/3 |0/6 |0/0 |0/0 |0/0 |0/0 |0/0 |9 |238 Rule number 48: |0/0 |0/0 |0/49 |0/41 |464/374 |0/0 |0/0 |0/0 |0/0 |0/0 |90 |464 Rule number 49: |0/0 |0/0 |0/9 |0/0 |0/0 |0/0 |0/0 |11/0 |0/2 |0/0 |11 |11 Rule number 50: |0/4 |0/0 |173/169 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |173 Rule number 51: |11/11 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |11 Rule number 52: |0/0 |0/0 |1/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |1 Rule number 53: |0/0 |0/0 |16/16 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |16 Rule number 55: |24/23 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |24 Rule number 58: |503/485 |0/0 |0/18 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |18 |503 Rule number 59: |584/582 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |584 Rule number 61: |0/0 |0/0 |69/69 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |69 Rule number 63: |0/2 |0/0 |286/283 |0/0 |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |3 |286 Rule number 66: |0/12 |0/0 |0/22 |482/438 |0/0 |0/0 |0/0 |0/10 |0/0 |0/0 |44 |482 Rule number 69: |5/5 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |5 Rule number 71: |0/0 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |2/0 |0/0 |0/0 |2 |2 Rule number 72: |6/5 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |6 Rule number 73: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |119/119 |0/0 |0/0 |0 |119 Rule number 78: |0/22 |0/0 |94/72 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |22 |94 Rule number 79: |0/1 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |3/0 |0/0 |0/0 |3 |3 Rule number 81: |34/34 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |34 Rule number 83: |277/226 |0/0 |0/50 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |51 |277 Rule number 87: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |20/20|0/0 |0 |20 Rule number 89: |10/1 |0/0 |0/9 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |9 |10 Rule number 90: |0/10 |0/0 |180/166 |0/1 |0/0 |0/0 |0/0 |0/3 |0/0 |0/0 |14 |180 Rule number 91: |0/23 |0/0 |464/432 |0/0 |0/0 |0/0 |0/0 |0/9 |0/0 |0/0 |32 |464 Rule number 94: |0/7 |0/0 |36/26 |0/0 |0/0 |0/0 |0/0 |0/3 |0/0 |0/0 |10 |36 Rule number 98: |0/0 |0/0 |0/0 |14/12 |0/0 |0/0 |0/0 |0/2 |0/0 |0/0 |2 |14 Rule number 100: |0/0 |0/0 |0/0 |639/639 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |639 Rule number 102: |0/0 |0/0 |0/10 |0/0 |1094/1084|0/0 |0/0 |0/0 |0/0 |0/0 |10 |1094 Rule number 104: |130/125 |0/0 |0/5 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |5 |130 Rule number 106: |34/34 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |34 Rule number 107: |0/15 |0/0 |36/20 |0/0 |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |16 |36 Rule number 115: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |6/6 |0/0 |0/0 |0 |6 Rule number 116: |1/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |1 |1 Rule number 117: |0/0 |0/0 |0/0 |15/8 |0/0 |0/0 |0/0 |0/7 |0/0 |0/0 |7 |15 Rule number 119: |0/0 |0/0 |0/0 |55/22 |0/0 |0/0 |0/0 |0/33 |0/0 |0/0 |33 |55 Rule number 121: |513/482 |0/0 |0/30 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |31 |513 Rule number 124: |62/47 |0/0 |0/15 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |15 |62 Rule number 127: |0/0 |0/0 |0/0 |0/0 |3159/3159|0/0 |0/0 |0/0 |0/0 |0/0 |0 |3159 Rule number 128: |73/72 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |73 Rule number 133: |38/38 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |38 Rule number 134: |0/7 |0/0 |44/37 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |7 |44 Rule number 137: |0/0 |0/0 |0/10 |0/0 |11/0 |0/0 |0/0 |0/1 |0/0 |0/0 |11 |11 Rule number 143: |0/0 |0/0 |55/55 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |55 Rule number 144: |0/0 |0/0 |12/12 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |12 Rule number 146: |970/957 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |0/11 |0/0 |0/0 |13 |970 Rule number 147: |5/5 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |5 Rule number 151: |0/0 |0/0 |0/0 |1867/1867|0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |1867 Rule number 153: |0/0 |0/0 |0/4 |29/25 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |29 Rule number 159: |0/58 |0/0 |286/228 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |58 |286 Rule number 161: |0/2 |0/0 |3/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |3 Rule number 162: |0/4 |0/0 |8/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |8 Rule number 163: |110/102 |0/0 |0/8 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |8 |110 Rule number 165: |0/4 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |6/0 |0/0 |0/0 |6 |6 Rule number 166: |325/322 |0/0 |0/3 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |3 |325 Rule number 170: |61/39 |0/0 |0/22 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |22 |61 Rule number 171: |1/0 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |1 Rule number 172: |0/49 |0/0 |302/253 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |49 |302 Rule number 176: |0/0 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |1/0 |0/0 |0/0 |1 |1 Rule number 178: |0/1 |0/0 |106/97 |0/0 |0/0 |0/0 |0/0 |0/0 |0/8 |0/0 |9 |106 Rule number 180: |133/126 |0/0 |0/7 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |7 |133 Rule number 181: |28/15 |0/0 |0/13 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |13 |28 Rule number 184: |10/10 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |10 Rule number 185: |0/0 |0/0 |0/0 |0/0 |12/12 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |12 Rule number 186: |0/0 |0/0 |0/2 |0/0 |4/2 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |4 Rule number 187: |0/0 |0/0 |0/6 |175/163 |0/5 |0/0 |0/0 |0/1 |0/0 |0/0 |12 |175 Rule number 188: |0/0 |0/0 |0/8 |0/0 |14/6 |0/0 |0/0 |0/0 |0/0 |0/0 |8 |14 Rule number 189: |0/0 |0/0 |0/0 |42/42 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |42 Rule number 190: |0/0 |0/0 |77/73 |0/2 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |77 Rule number 192: |0/0 |0/0 |249/248 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |249 Rule number 193: |0/0 |0/0 |0/0 |0/0 |160/160 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |160 Rule number 196: |0/0 |0/0 |305/287 |0/9 |0/5 |0/0 |0/0 |0/4 |0/0 |0/0 |18 |305 Rule number 199: |458/455 |0/0 |0/1 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |3 |458 Rule number 200: |2/0 |0/0 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |2 Rule number 202: |0/8 |0/0 |0/0 |489/481 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |8 |489 Rule number 210: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |5/5 |0/0 |0/0 |0 |5 Rule number 215: |0/4 |0/0 |0/0 |810/806 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |810 Rule number 216: |159/158 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |159 Rule number 217: |0/0 |0/0 |21/21 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |21 Rule number 219: |0/0 |0/0 |34/34 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |34 Rule number 223: |128/107 |0/0 |0/21 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |21 |128 Rule number 224: |310/264 |0/0 |0/46 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |46 |310 Rule number 225: |1/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |1 Rule number 226: |0/19 |0/0 |0/5 |0/0 |0/0 |0/0 |0/0 |24/0 |0/0 |0/0 |24 |24 Rule number 227: |0/41 |0/0 |590/549 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |41 |590 Rule number 228: |0/25 |0/0 |358/333 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |25 |358 Rule number 233: |0/0 |0/0 |30/30 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |30 Rule number 234: |0/0 |0/0 |3/3 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |3 Rule number 235: |9/9 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |9 Rule number 236: |0/1 |0/0 |11/10 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |11 Rule number 238: |2/0 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |2 Rule number 241: |0/0 |0/0 |0/1 |0/0 |371/370 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |371 Rule number 246: |0/17 |0/0 |109/92 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |17 |109 Rule number 249: |0/2 |0/0 |0/0 |0/4 |0/0 |0/0 |0/0 |35/28 |0/1 |0/0 |7 |35 Rule number 250: |13/12 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |13 Rule number 255: |0/15 |0/0 |0/5 |0/0 |0/0 |0/0 |0/0 |189/169 |0/0 |0/0 |20 |189 Rule number 256: |0/16 |0/0 |276/260 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |16 |276 Rule number 257: |0/2 |0/0 |8/6 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |8 Rule number 258: |35/34 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |35 Rule number 259: |43/42 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |43 Rule number 260: |308/306 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |2 |308 Rule number 262: |45/45 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |45 Rule number 263: |60/60 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |60 Rule number 264: |0/0 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |4/3 |0/0 |0/0 |1 |4 Rule number 269: |0/5 |0/0 |205/200 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |5 |205 Rule number 272: |0/9 |0/0 |44/35 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |9 |44 Rule number 273: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2704/2704|0/0 |0/0 |0 |2704 Rule number 274: |100/26 |0/0 |0/74 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |74 |100 Rule number 275: |170/150 |0/0 |0/20 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |20 |170 Rule number 276: |0/121 |0/0 |771/650 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |121 |771 Rule number 278: |90/56 |0/0 |0/34 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |34 |90 Rule number 279: |0/0 |0/0 |29/29 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |29 Rule number 280: |1/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/1 |0/0 |1 |1 Rule number 281: |0/2 |0/0 |121/119 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |121 Rule number 282: |63/5 |0/0 |0/58 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |58 |63 Rule number 283: |0/0 |0/0 |2/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |2 Rule number 284: |0/0 |0/0 |269/216 |0/0 |0/53 |0/0 |0/0 |0/0 |0/0 |0/0 |53 |269 Rule number 288: |0/0 |0/0 |0/0 |276/104 |0/0 |0/0 |0/0 |0/167 |0/5 |0/0 |172 |276 Rule number 289: |170/170 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |170 Rule number 290: |0/0 |0/0 |7/7 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |7 Rule number 292: |48/48 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |48 Rule number 296: |20/6 |0/0 |0/14 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |14 |20 Rule number 297: |0/19 |0/0 |28/9 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |19 |28 Rule number 298: |0/7 |0/0 |9/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |7 |9 Rule number 300: |82/78 |0/0 |0/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |82 Rule number 301: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |354/354 |0/0 |0/0 |0 |354 Rule number 302: |30/5 |0/0 |0/18 |0/0 |0/0 |0/0 |0/0 |0/7 |0/0 |0/0 |25 |30 Rule number 303: |0/0 |0/0 |35/35 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |35 Rule number 306: |0/9 |0/0 |0/127 |0/1 |0/0 |0/0 |0/0 |662/456 |0/69 |0/0 |206 |662 Rule number 307: |78/78 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |78 Rule number 308: |0/0 |0/0 |127/127 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |127 Rule number 309: |24/24 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |24 Rule number 312: |56/41 |0/0 |0/15 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |15 |56 Rule number 316: |0/6 |0/0 |14/8 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |6 |14 Rule number 319: |0/0 |0/0 |0/0 |0/0 |3/3 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |3 Rule number 320: |0/1 |0/0 |11/10 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |11 Rule number 321: |0/2 |0/0 |19/17 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |19 Rule number 323: |0/32 |0/0 |203/171 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |32 |203 Rule number 324: |0/0 |0/0 |0/0 |0/0 |39/39 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |39 Rule number 325: |9/4 |0/0 |0/5 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |5 |9 Rule number 326: |0/25 |0/0 |104/76 |0/0 |0/0 |0/0 |0/0 |0/3 |0/0 |0/0 |28 |104 Rule number 333: |0/0 |0/0 |3/1 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |3 Rule number 335: |430/283 |0/0 |0/147 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |147 |430 Rule number 337: |0/356 |0/0 |708/352 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |356 |708 Rule number 339: |0/162 |0/0 |302/140 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |162 |302 Rule number 341: |0/0 |0/0 |256/256 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |256 Rule number 342: |0/0 |0/0 |0/0 |54/20 |0/0 |0/0 |0/0 |0/33 |0/1 |0/0 |34 |54 Rule number 344: |5/1 |0/0 |0/0 |0/2 |0/0 |0/0 |0/0 |0/2 |0/0 |0/0 |4 |5 Rule number 345: |0/0 |0/0 |0/0 |0/0 |182/182 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |182 Rule number 349: |0/19 |0/0 |0/41 |65/4 |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |61 |65 Rule number 350: |0/0 |0/0 |0/0 |0/3 |0/0 |0/0 |0/0 |37/34 |0/0 |0/0 |3 |37 Rule number 353: |0/0 |0/0 |0/0 |0/0 |29/29 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |29 Rule number 356: |4/0 |0/0 |0/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |4 Rule number 357: |1/0 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |1 Rule number 358: |0/0 |0/0 |4/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |4 Rule number 359: |375/371 |0/0 |0/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |375 Rule number 360: |1194/1146|0/0 |0/48 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |48 |1194 Rule number 364: |2/1 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |2 Rule number 365: |0/3 |0/0 |4/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |3 |4 Rule number 368: |0/1 |0/0 |3/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |3 Rule number 371: |1272/1257|0/0 |0/15 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |15 |1272 Rule number 372: |213/200 |0/0 |0/13 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |13 |213 Rule number 374: |36/35 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |36 Rule number 375: |0/27 |0/0 |58/31 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |27 |58 Rule number 377: |197/191 |0/0 |0/6 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |6 |197 Rule number 378: |0/3 |0/0 |4/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |3 |4 Rule number 379: |33/0 |0/0 |0/2 |0/0 |0/31 |0/0 |0/0 |0/0 |0/0 |0/0 |33 |33 Rule number 380: |0/0 |0/0 |0/1 |0/0 |351/350 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |351 Rule number 381: |0/0 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |191/189 |0/1 |0/0 |2 |191 Rule number 382: |2/0 |0/0 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |2 Rule number 389: |0/0 |0/0 |0/5 |0/0 |5/0 |0/0 |0/0 |0/0 |0/0 |0/0 |5 |5 Rule number 390: |0/0 |0/0 |0/0 |481/476 |0/0 |0/0 |0/0 |0/5 |0/0 |0/0 |5 |481 Rule number 391: |0/0 |0/0 |4/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |4 Rule number 396: |0/0 |0/0 |0/1 |1/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |1 Rule number 398: |1596/1596|0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |1596 Rule number 400: |0/0 |0/0 |24/24 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |24 Rule number 406: |380/379 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |380 Rule number 412: |0/0 |0/0 |1/0 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |1 Rule number 414: |0/6 |0/0 |54/48 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |6 |54 Rule number 415: |26/26 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |26 Rule number 416: |775/744 |0/0 |0/31 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |31 |775 Rule number 418: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |3/3 |0/0 |0/0 |0 |3 Rule number 419: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |10/10 |0/0 |0/0 |0 |10 Rule number 420: |42/29 |0/0 |0/12 |0/0 |0/0 |0/0 |0/0 |0/0 |0/1 |0/0 |13 |42 Rule number 423: |0/7 |0/0 |0/10 |78/60 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |18 |78 Rule number 424: |0/0 |0/0 |0/3 |0/27 |31/1 |0/0 |0/0 |0/0 |0/0 |0/0 |30 |31 Rule number 426: |16/16 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |16 Rule number 429: |4/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |4 Rule number 430: |0/0 |0/0 |0/10 |0/0 |0/0 |0/0 |0/0 |63/50 |0/3 |0/0 |13 |63 Rule number 433: |0/3 |0/0 |0/6 |74/5 |0/0 |0/0 |0/0 |0/60 |0/0 |0/0 |69 |74 Rule number 435: |0/0 |0/0 |0/1 |0/9 |11/1 |0/0 |0/0 |0/0 |0/0 |0/0 |10 |11 Rule number 436: |0/0 |0/0 |0/6 |0/1 |7/0 |0/0 |0/0 |0/0 |0/0 |0/0 |7 |7 Rule number 437: |0/0 |0/0 |0/0 |0/0 |48/48 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |48 Rule number 440: |0/0 |0/0 |71/69 |0/2 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |71 Rule number 442: |0/0 |0/0 |0/0 |1/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |1 Rule number 443: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4/4 |0/0 |0/0 |0 |4 Rule number 444: |0/0 |0/0 |0/1 |1/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |1 Rule number 445: |0/0 |0/0 |0/2 |0/0 |2/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |2 Rule number 449: |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |0/0 |2/1 |0/0 |0/0 |1 |2 Rule number 450: |45/45 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |45 Rule number 452: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |483/456 |0/27 |0/0 |27 |483 Rule number 456: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1/0 |0/1 |0/0 |1 |1 Rule number 457: |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |26/6 |0/20 |0/0 |20 |26 Rule number 460: |0/60 |0/0 |506/446 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |60 |506 Rule number 461: |0/0 |0/0 |8/8 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |8 Rule number 462: |0/0 |0/0 |14/14 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |14 Rule number 464: |0/2 |0/0 |43/41 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |43 Rule number 466: |0/0 |0/0 |8/8 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |8 Rule number 467: |716/441 |0/0 |0/275 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |275 |716 Rule number 468: |45/38 |0/0 |0/7 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |7 |45 Rule number 469: |0/2 |0/0 |131/129 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |2 |131 Rule number 470: |0/11 |0/0 |50/38 |0/0 |0/0 |0/0 |0/0 |0/1 |0/0 |0/0 |12 |50 Rule number 471: |0/7 |0/0 |7/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |7 |7 Rule number 472: |1/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |1 Rule number 473: |0/1 |0/0 |29/28 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |29 Rule number 474: |12/12 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |12 Rule number 475: |267/252 |0/0 |0/15 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |15 |267 Rule number 477: |1/0 |0/0 |0/1 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |1 |1 Rule number 478: |40/40 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |40 Rule number 480: |0/20 |0/0 |335/315 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |20 |335 Rule number 481: |0/39 |0/0 |163/124 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |39 |163 Rule number 484: |74/74 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0 |74 Rule number 486: |87/83 |0/0 |0/4 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |0/0 |4 |87 380030830 function calls (380023183 primitive calls) in 137.001 seconds Ordered by: cumulative time, internal time List reduced from 1208 to 20 due to restriction <20> ncalls tottime percall cumtime percall filename:lineno(function) 1 0.041 0.041 137.072 137.072 rule_stat.py:50(print_rules_report) 1 0.020 0.020 77.066 77.066 feature_extractor.py:192(extract_features) 198 1.546 0.008 74.220 0.375 feature_extractor.py:475(_inplace_write_vnode_features) 619961 2.868 0.000 71.627 0.000 feature_extractor.py:459(_inplace_write_features) 619961 8.968 0.000 68.638 0.000 feature_extractor.py:471() 1 0.410 0.410 56.564 56.564 rules.py:75(predict) 48488 32.502 0.001 55.950 0.001 rules.py:147(_compute_triggered) 24435597 7.818 0.000 51.791 0.000 feature_extractor.py:416(_get_features) 26929449 26.479 0.000 43.277 0.000 feature_extractor.py:423() 9694226 3.902 0.000 21.927 0.000 fromnumeric.py:1104(searchsorted) 9791202 2.872 0.000 18.250 0.000 fromnumeric.py:49(_wrapfunc) 9694226 13.748 0.000 13.748 0.000 {method 'searchsorted' of 'numpy.ndarray' objects} 86863896 5.667 0.000 5.938 0.000 features.py:210(__call__) 50861097 4.152 0.000 5.050 0.000 features.py:265(__call__) 24491130 4.214 0.000 4.214 0.000 {built-in method builtins.min} 23917489 3.934 0.000 3.934 0.000 {built-in method builtins.max} 59941250 3.779 0.000 3.829 0.000 features.py:247(__call__) 1 0.176 0.176 3.149 3.149 utils.py:17(prepare_files) 464 0.006 0.000 2.908 0.006 client.py:51(parse) 464 0.001 0.000 2.890 0.006 _channel.py:512(__call__) ```

Though I can see that there is a bug in rule descriptions, will fix in same PR as the one addressing #221.

m09 commented 5 years ago

@EgorBu, do you still have this problem?

EgorBu commented 5 years ago

Yes, still have problems. I used bisect to find commit where things go wrong:

057d7973894e6147236d4633a1554f4bb02415be is the first bad commit
commit 057d7973894e6147236d4633a1554f4bb02415be
Author: Hugo Mougard <hugo@sourced.tech>
Date:   Wed Oct 3 01:43:51 2018 +0200

    Revamp feature names handling and related feature extraction mechanisms

    Signed-off-by: Hugo Mougard <hugo@sourced.tech>

:040000 040000 31d82cad4f4fae295c94c41f63a52f10444659d0 3b0c1b3c9888557b694e7a90afe0fffbba9098a6 M  lookout

I don't know what exactly wrong - I will continue investigation. Additional details - launching the same model on the same dataset twice gives different results:

Logs from 2 `eval` queries ```console egor@egor-sourced:~/workspace/style-analyzer$ python3 -m lookout.style.format eval -i "/home/egor/workspace/tmp/freeCodeCamp_no_min.js/**/*" -m /tmp/home/egor/workspace/tmp/freeCodeCamp/style.format.analyzer.FormatAnalyzer_1.asdf -n 10 /usr/local/lib/python3.5/dist-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release. from numpy.core.umath_tests import inner1d INFO:ac50:code-format:Reading /tmp/home/egor/workspace/tmp/freeCodeCamp/style.format.analyzer.FormatAnalyzer_1.asdf... DEBUG:Rules:compiling 58 rules Model parameters: {'n_iter': 5, 'line_length_limit': 500, 'feature_extractor': {'parent_features': ['internal_type', 'roles'], 'left_features': ['length', 'diff_offset', 'diff_col', 'diff_line', 'internal_type', 'label', 'reserved', 'roles'], 'debug_parsing': False, 'return_sibling_indices': False, 'insert_noops': False, 'select_features_number': 500, 'left_siblings_window': 5, 'parents_depth': 2, 'right_siblings_window': 5, 'node_features': ['start_line', 'start_col'], 'remove_constant_features': True, 'no_labels_on_right': True, 'right_features': ['length', 'internal_type', 'reserved', 'roles'], 'selected_features': array([ 0, 1, 2, 4, 7, 29, 38, 48, 50, 53, 54, 62, 72, 89, 94, 95, 97, 101, 102, 110, 113, 115, 116, 117, 128, 129, 131, 132, 133, 136, 139, 143, 145, 147, 153, 157, 166, 170, 174, 176, 182, 183, 188, 189, 200, 207, 211, 223, 255, 292, 348, 379, 381, 382, 384, 431, 472, 474, 478, 479, 483, 487, 490, 492, 493, 494, 500, 501, 504, 505, 506, 508, 509, 510, 513, 514, 516, 520, 522, 524, 528, 530, 531, 543, 547, 551, 556, 559, 565, 566, 584, 588, 600, 617, 669, 725, 756, 758, 761, 802, 816, 826, 843, 848, 855, 856, 860, 864, 869, 870, 871, 877, 881, 882, 883, 885, 886, 887, 890, 891, 893, 897, 901, 905, 907, 920, 928, 930, 933, 936, 937, 942, 943, 954, 961, 965, 977, 994, 1046, 1102, 1133, 1135, 1138, 1160, 1179, 1185, 1220, 1226, 1228, 1232, 1233, 1237, 1241, 1244, 1246, 1247, 1248, 1258, 1259, 1260, 1262, 1263, 1264, 1267, 1270, 1274, 1276, 1278, 1282, 1284, 1285, 1288, 1297, 1301, 1305, 1307, 1313, 1319, 1320, 1324, 1331, 1338, 1342, 1354, 1371, 1386, 1423, 1479, 1510, 1512, 1515, 1537, 1556, 1570, 1572, 1580, 1602, 1605, 1609, 1610, 1614, 1618, 1623, 1624, 1625, 1631, 1635, 1636, 1637, 1639, 1640, 1641, 1644, 1645, 1651, 1661, 1662, 1678, 1682, 1684, 1690, 1696, 1697, 1708, 1719, 1800, 1856, 1888, 1889, 1891, 1904, 1913, 1927, 1932, 1934, 1937, 1938, 1946, 1956, 1971, 1979, 1981, 1985, 1989, 1990, 1994, 1997, 1999, 2000, 2002, 2011, 2015, 2017, 2019, 2023, 2025, 2026, 2038, 2042, 2046, 2048, 2051, 2054, 2055, 2060, 2061, 2065, 2069, 2072, 2079, 2083, 2095, 2112, 2164, 2201, 2220, 2252, 2255, 2277, 2296, 2298, 2301, 2302, 2310, 2312, 2316, 2335, 2342, 2345, 2349, 2350, 2354, 2358, 2361, 2363, 2364, 2374, 2375, 2379, 2381, 2383, 2387, 2389, 2390, 2393, 2402, 2406, 2410, 2411, 2412, 2415, 2418, 2419, 2424, 2425, 2429, 2433, 2436, 2443, 2447, 2459, 2491, 2528, 2565, 2584, 2616, 2619, 2641, 2660, 2665, 2666, 2674, 2684, 2699, 2709, 2713, 2714, 2722, 2727, 2728, 2739, 2751, 2757, 2758, 2766, 2770, 2774, 2782, 2783, 2788, 2789, 2793, 2800, 2811, 2823, 2855, 2892, 2948, 2980, 2983, 3024, 3030, 3048, 3077, 3078, 3086, 3092, 3103, 3121, 3134, 3140, 3152, 3157, 3164, 3171, 3175, 3219, 3312, 3347, 3388, 3393, 3450, 3471, 3481, 3494, 3498, 3504, 3510, 3516, 3517, 3521, 3528, 3539, 3676, 3707, 3708, 3710, 3711, 3712, 3714, 3716, 3717, 3718, 3720, 3721, 3725, 3727, 3733, 3734, 3737, 3740, 3741, 3742, 3743, 3744, 3746, 3750, 3754, 3755, 3756, 3757, 3765, 3766, 3770, 3772, 3776, 3777, 3791, 3796, 3799, 3800, 3801, 3804, 3806, 3811, 3823, 3850, 3854, 3855, 3860, 3862, 3886, 3887, 3897, 3900, 3908, 3940, 3946, 3947, 3949, 3950, 3951, 3955, 3956, 3957, 3959, 3960, 3964, 3966, 3972, 3973, 3976, 3980, 3981, 3983, 3985, 3989, 3993, 3994, 3995, 3996, 4004, 4009, 4012, 4013, 4015, 4016, 4022, 4029, 4030, 4031, 4035, 4038, 4043, 4045, 4050, 4086, 4088, 4089, 4093, 4094, 4125, 4126, 4136, 4138, 4147, 4151, 4165, 4178, 4179])}, 'n_jobs': -1, 'lower_bound_instances': 500, 'trainable_rules': {'min_samples_leaf': 19, 'prune_dataset_ratio': 0.2, 'prune_attributes': False, 'n_estimators': 10, 'top_down_greedy_budget': [False, 0.5], 'min_samples_split': 18, 'max_depth': 10, 'random_state': 4443it [00:04, 101.86it/s]learn.tree.DecisionTreeClassifier', 'prune_branches_algorithms': ['reduced-error'], 'uncertain_attributes': True}} DEBUG:FeaturesExtractor:Features shape: (48341, 500) DEBUG:Rules:predicting 48341 samples using 58 rules Stats about rules: 58 rules, avg.len. 7.4 Number of files: 177 Classification report: precision recall f1-score support 0.35 0.96 0.52 17300 0.02 0.00 0.00 13415 <+space> 0.00 0.00 0.00 5861 <-space> 0.00 0.00 0.00 5861 ' 0.00 0.00 0.00 5688 " 0.00 0.00 0.00 216 avg / total 0.13 0.34 0.19 48341 Confusion matrix: [[16665 17 0 618 0 0] [13241 2 0 172 0 0] [ 5861 0 0 0 0 0] [ 5775 86 0 0 0 0] [ 5424 0 0 264 0 0] [ 216 0 0 0 0 0]] Files with most errors: ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/models/user.js', 2607) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/utils/user-stats.test.js', 1256) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/gulpfile.js', 1179) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/challenge.js', 924) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/public/js/lib/loop-protect/loop-protect.js', 922) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/public/js/calculator.js', 866) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/certificate.js', 856) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/app/Map/redux/utils.test.js', 798) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/randomAPIs.js', 743) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/app/entities/index.js', 690) 332091919 function calls (332080621 primitive calls) in 111.319 seconds Ordered by: cumulative time, internal time List reduced from 1377 to 20 due to restriction <20> ncalls tottime percall cumtime percall filename:lineno(function) 1 0.056 0.056 111.411 111.411 quality_report.py:15(quality_report) 1 0.035 0.035 84.512 84.512 feature_extractor.py:192(extract_features) 177 2.158 0.012 80.893 0.457 feature_extractor.py:475(_inplace_write_vnode_features) 618080 3.540 0.000 77.389 0.000 feature_extractor.py:459(_inplace_write_features) 618080 10.085 0.000 73.743 0.000 feature_extractor.py:471() 24341810 8.627 0.000 56.524 0.000 feature_extractor.py:416(_get_features) 26398367 27.572 0.000 47.154 0.000 feature_extractor.py:423() 1 0.177 0.177 22.169 22.169 rules.py:75(predict) 48341 15.019 0.000 21.984 0.000 rules.py:147(_compute_triggered) 86600328 6.517 0.000 6.752 0.000 features.py:210(__call__) 50706771 5.340 0.000 6.735 0.000 features.py:265(__call__) 2558443 1.430 0.000 6.649 0.000 fromnumeric.py:1104(searchsorted) 2606784 1.033 0.000 5.308 0.000 fromnumeric.py:49(_wrapfunc) 1 0.208 0.208 4.365 4.365 utils.py:18(prepare_files) 59816750 4.308 0.000 4.351 0.000 features.py:247(__call__) 443 0.011 0.000 4.028 0.009 client.py:51(parse) 443 0.002 0.000 4.002 0.009 _channel.py:512(__call__) 443 0.003 0.000 3.998 0.009 _channel.py:496(_blocking) 2558443 3.872 0.000 3.872 0.000 {method 'searchsorted' of 'numpy.ndarray' objects} 24204691 3.869 0.000 3.869 0.000 {built-in method builtins.min} /usr/local/lib/python3.5/dist-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. 'precision', 'predicted', average, warn_for) egor@egor-sourced:~/workspace/style-analyzer$ python3 -m lookout.style.format eval -i "/home/egor/workspace/tmp/freeCodeCamp_no_min.js/**/*" -m /tmp/home/egor/workspace/tmp/freeCodeCamp/style.format.analyzer.FormatAnalyzer_1.asdf -n 10 /usr/local/lib/python3.5/dist-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release. from numpy.core.umath_tests import inner1d INFO:a557:code-format:Reading /tmp/home/egor/workspace/tmp/freeCodeCamp/style.format.analyzer.FormatAnalyzer_1.asdf... DEBUG:Rules:compiling 58 rules Model parameters: {'lower_bound_instances': 500, 'n_jobs': -1, 'feature_extractor': {'debug_parsing': False, 'no_labels_on_right': True, 'left_features': ['length', 'diff_offset', 'diff_col', 'diff_line', 'internal_type', 'label', 'reserved', 'roles'], 'select_features_number': 500, 'selected_features': array([ 0, 1, 2, 4, 7, 29, 38, 48, 50, 53, 54, 62, 72, 89, 94, 95, 97, 101, 102, 110, 113, 115, 116, 117, 128, 129, 131, 132, 133, 136, 139, 143, 145, 147, 153, 157, 166, 170, 174, 176, 182, 183, 188, 189, 200, 207, 211, 223, 255, 292, 348, 379, 381, 382, 384, 431, 472, 474, 478, 479, 483, 487, 490, 492, 493, 494, 500, 501, 504, 505, 506, 508, 509, 510, 513, 514, 516, 520, 522, 524, 528, 530, 531, 543, 547, 551, 556, 559, 565, 566, 584, 588, 600, 617, 669, 725, 756, 758, 761, 802, 816, 826, 843, 848, 855, 856, 860, 864, 869, 870, 871, 877, 881, 882, 883, 885, 886, 887, 890, 891, 893, 897, 901, 905, 907, 920, 928, 930, 933, 936, 937, 942, 943, 954, 961, 965, 977, 994, 1046, 1102, 1133, 1135, 1138, 1160, 1179, 1185, 1220, 1226, 1228, 1232, 1233, 1237, 1241, 1244, 1246, 1247, 1248, 1258, 1259, 1260, 1262, 1263, 1264, 1267, 1270, 1274, 1276, 1278, 1282, 1284, 1285, 1288, 1297, 1301, 1305, 1307, 1313, 1319, 1320, 1324, 1331, 1338, 1342, 1354, 1371, 1386, 1423, 1479, 1510, 1512, 1515, 1537, 1556, 1570, 1572, 1580, 1602, 1605, 1609, 1610, 1614, 1618, 1623, 1624, 1625, 1631, 1635, 1636, 1637, 1639, 1640, 1641, 1644, 1645, 1651, 1661, 1662, 1678, 1682, 1684, 1690, 1696, 1697, 1708, 1719, 1800, 1856, 1888, 1889, 1891, 1904, 1913, 1927, 1932, 1934, 1937, 1938, 1946, 1956, 1971, 1979, 1981, 1985, 1989, 1990, 1994, 1997, 1999, 2000, 2002, 2011, 2015, 2017, 2019, 2023, 2025, 2026, 2038, 2042, 2046, 2048, 2051, 2054, 2055, 2060, 2061, 2065, 2069, 2072, 2079, 2083, 2095, 2112, 2164, 2201, 2220, 2252, 2255, 2277, 2296, 2298, 2301, 2302, 2310, 2312, 2316, 2335, 2342, 2345, 2349, 2350, 2354, 2358, 2361, 2363, 2364, 2374, 2375, 2379, 2381, 2383, 2387, 2389, 2390, 2393, 2402, 2406, 2410, 2411, 2412, 2415, 2418, 2419, 2424, 2425, 2429, 2433, 2436, 2443, 2447, 2459, 2491, 2528, 2565, 2584, 2616, 2619, 2641, 2660, 2665, 2666, 2674, 2684, 2699, 2709, 2713, 2714, 2722, 2727, 2728, 2739, 2751, 2757, 2758, 2766, 2770, 2774, 2782, 2783, 2788, 2789, 2793, 2800, 2811, 2823, 2855, 2892, 2948, 2980, 2983, 3024, 3030, 3048, 3077, 3078, 3086, 3092, 3103, 3121, 3134, 3140, 3152, 3157, 3164, 3171, 3175, 3219, 3312, 3347, 3388, 3393, 3450, 3471, 3481, 3494, 3498, 3504, 3510, 3516, 3517, 3521, 3528, 3539, 3676, 3707, 3708, 3710, 3711, 3712, 3714, 3716, 3717, 3718, 3720, 3721, 3725, 3727, 3733, 3734, 3737, 3740, 3741, 3742, 3743, 3744, 3746, 3750, 3754, 3755, 3756, 3757, 3765, 3766, 3770, 3772, 3776, 3777, 3791, 3796, 3799, 3800, 3801, 3804, 3806, 3811, 3823, 3850, 3854, 3855, 3860, 3862, 3886, 3887, 3897, 3900, 3908, 3940, 3946, 3947, 3949, 3950, 3951, 3955, 3956, 3957, 3959, 3960, 3964, 3966, 3972, 3973, 3976, 3980, 3981, 3983, 3985, 3989, 3993, 3994, 3995, 3996, 4004, 4009, 4012, 4013, 4015, 4016, 4022, 4029, 4030, 4031, 4035, 4038, 4043, 4045, 4050, 4086, 4088, 4089, 4093, 4094, 4125, 4126, 4136, 4138, 4147, 4151, 4165, 4178, 4179]), 'remove_constant_features': True, 'parent_features': ['internal_type', 'roles'], 'insert_noops': False, 'right_siblings_window': 5, 'right_features': ['length', 'internal_type', 'reserved', 'roles'], 'left_siblings_window': 5, 'parents_depth': 2, 'return_sibling_indices': False, 'node_features': ['start_line', 'start_col']}, 'line_length_limit': 500, 'n_iter': 5, 'trainable_rules': {'prune_dataset_ratio': 0.2, 'min_samples_leaf': 19, 'top_down_greedy_budget': [False, 0.5], 'n_estimators': 10, 'uncertain_attributes': True, 'random_state': 42, 'prune_attributes': False, 'base_model_name': 'sklearn.tree.DecisionTreeClassifier', 'max_depth': 10, 'prune_branches_algorithms': ['reduced-error'], 'min_samples_split443it [00:04, 103.29it/s] DEBUG:FeaturesExtractor:Features shape: (48341, 500) DEBUG:Rules:predicting 48341 samples using 58 rules Stats about rules: 58 rules, avg.len. 7.4 Number of files: 177 Classification report: precision recall f1-score support 0.04 0.00 0.00 17300 0.00 0.00 0.00 13415 <+space> 0.13 0.99 0.22 5861 <-space> 0.00 0.00 0.00 5861 ' 0.00 0.00 0.00 5688 " 0.00 0.00 0.00 216 avg / total 0.03 0.12 0.03 48341 Confusion matrix: [[ 42 0 16636 618 0 4] [ 253 0 12990 172 0 0] [ 32 0 5829 0 0 0] [ 777 0 5084 0 0 0] [ 31 0 5393 264 0 0] [ 0 0 216 0 0 0]] Files with most errors: ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/models/user.js', 3437) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/public/js/lib/loop-protect/loop-protect.js', 1590) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/gulpfile.js', 1490) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/utils/user-stats.test.js', 1269) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/challenge.js', 1263) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/public/js/calculator.js', 1173) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/server/boot/certificate.js', 1102) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/app/Map/redux/utils.test.js', 1003) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/app/entities/index.js', 977) ('/home/egor/workspace/tmp/freeCodeCamp_no_min.js/common/utils/ajax-stream.js', 911) 332102714 function calls (332091416 primitive calls) in 109.520 seconds Ordered by: cumulative time, internal time List reduced from 1377 to 20 due to restriction <20> ncalls tottime percall cumtime percall filename:lineno(function) 1 0.058 0.058 109.611 109.611 quality_report.py:15(quality_report) 1 0.036 0.036 83.158 83.158 feature_extractor.py:192(extract_features) 177 2.105 0.012 79.584 0.450 feature_extractor.py:475(_inplace_write_vnode_features) 618080 3.466 0.000 76.108 0.000 feature_extractor.py:459(_inplace_write_features) 618080 10.159 0.000 72.541 0.000 feature_extractor.py:471() 24341810 8.601 0.000 55.285 0.000 feature_extractor.py:416(_get_features) 26398367 27.538 0.000 45.897 0.000 feature_extractor.py:423() 1 0.171 0.171 21.802 21.802 rules.py:75(predict) 48341 14.669 0.000 21.624 0.000 rules.py:147(_compute_triggered) 2558443 1.356 0.000 6.654 0.000 fromnumeric.py:1104(searchsorted) 86600328 6.174 0.000 6.476 0.000 features.py:210(__call__) 50706771 4.867 0.000 6.088 0.000 features.py:265(__call__) 2606784 1.080 0.000 5.386 0.000 fromnumeric.py:49(_wrapfunc) 1 0.214 0.214 4.304 4.304 utils.py:18(prepare_files) 59816750 4.012 0.000 4.054 0.000 features.py:247(__call__) 443 0.010 0.000 3.992 0.009 client.py:51(parse) 443 0.002 0.000 3.966 0.009 _channel.py:512(__call__) 443 0.003 0.000 3.963 0.009 _channel.py:496(_blocking) 2558443 3.900 0.000 3.900 0.000 {method 'searchsorted' of 'numpy.ndarray' objects} 24204691 3.864 0.000 3.864 0.000 {built-in method builtins.min} /usr/local/lib/python3.5/dist-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. 'precision', 'predicted', average, warn_for) ```

And it's super strange.

m09 commented 5 years ago

Can you also give your training code?

EgorBu commented 5 years ago

Analyzer: analyzer run lookout.style.format -c config.yml --log-level DEBUG with config:

server: 0.0.0.0:2000
db: sqlite:////tmp/lookout.sqlite
fs: /tmp

Training query

lookout-sdk_linux_amd64/lookout-sdk  push ipv4://localhost:2000 --git-dir /home/egor/workspace/tmp/freeCodeCamp/ --from HEAD^ --to  HEAD

I'm using the latest lookout sdk

m09 commented 5 years ago

Ok, just to be sure I also trained in this way (even though it shouldn't differ that much from the research script) but I still cannot reproduce :(

EgorBu commented 5 years ago

yes, it's super strange (especially part where 2 eval queries give different results - I don't understand how it could be randomized).

m09 commented 5 years ago

just to make sure: how do you pick up the model after training?

EgorBu commented 5 years ago

Quality report query:

python3 -m lookout.style.format eval -i "/home/egor/workspace/tmp/freeCodeCamp_no_min.js/**/*" -m /tmp/home/egor/workspace/tmp/freeCodeCamp/style.format.analyzer.FormatAnalyzer_1.asdf -n 10

and during bisect search I removed folder with model (rm -rf /tmp/home) after each experiment

vmarkovtsev commented 5 years ago

@EgorBu @m09 do not forget to sync your package versions from the requirements.

cat requirements.txt | cut -f1 -d= | grep -v '#' | xargs pip3 show | grep -A1 Name:
EgorBu commented 5 years ago
Name: sourced-ml
Version: 0.6.0
--
Name: xxhash
Version: 1.2.0
--
Name: stringcase
Version: 1.2.0
--
Name: SQLAlchemy
Version: 1.2.10
--
Name: SQLAlchemy-Utils
Version: 0.33.3
--
Name: Pympler
Version: 0.5
--
Name: cachetools
Version: 2.0.1
--
Name: ConfigArgParse
Version: 0.13.0
--
Name: humanfriendly
Version: 4.16.1
--
Name: psycopg2-binary
Version: 2.7.5
--
Name: scikit-learn
Version: 0.19.2
--
Name: tqdm
Version: 4.11.2
--
Name: scikit-optimize
Version: 0.5.2
--
Name: pandas
Version: 0.21.0
m09 commented 5 years ago

I have the same except for pandas but it should only be used by typos. Though I do have the latest packages we added to setup in there (gensim, google-compute-engine). Egor, do you still have the bad quality if you re-run

pip install -e .

?

m09 commented 5 years ago

Aaaaaaaah, I can reproduce with python 3.5, nice. I'll look into it now :)

EgorBu commented 5 years ago

yes, I'm using

egor@egor-sourced:~/workspace/style-analyzer$ python3 --version
Python 3.5.2

which version did you use before?

m09 commented 5 years ago

I usually use Python 3.6.4

EgorBu commented 5 years ago

interesting what could cause the difference in behaviour between versions

vmarkovtsev commented 5 years ago

I remember that @smacker told us that Apollo worked differently on different Python versions.

So eager to find out what's the problem. Also curious why the tests did not catch that. Given the fixed random seeds, all the tests should work the same.

m09 commented 5 years ago

It should be fixed by #240. With the PR back on forth of #204 I introduced an extra data-structure that should have been ordered and wasn't. Python 3.5 doesn't guarantee the order of keys during iteration but 3.6 does as @EgorBu found out.

m09 commented 5 years ago

@vmarkovtsev regarding tests not catching it, it should be because the order is consistent in a single python interpreter.

smacker commented 5 years ago

Oh. The mystery solved! Thanks!

P.S. I'm not sure if there is such bug in Apollo right now. We use a quite old version.