Commit 4115143
committed
[1.8>1.9] [MERGE #4629 @boingoing] OS#15334058: Fix
Merge pull request #4629 from boingoing:ClassExtendsNull
We were supporting some old version of the spec language around classes which extend from null. Instead of leaving `this` undeclared, we were constructing an object and assigning it the `this` binding. This meant we were not throwing ReferenceErrors on access to `this` when we should have been.
Also fixed the case where a super property reference failed to access `this` resulting in trying to load a property from null.
Fixes:
https://microsoft.visualstudio.com/OS/_workitems/edit/15334058class extends null and this access for super property referenceFile tree
4 files changed
+45
-76
lines changed- lib/Runtime
- ByteCode
- Language
- test
- Basics
- es6
4 files changed
+45
-76
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2134 | 2134 | | |
2135 | 2135 | | |
2136 | 2136 | | |
2137 | | - | |
| 2137 | + | |
2138 | 2138 | | |
2139 | 2139 | | |
2140 | | - | |
| 2140 | + | |
2141 | 2141 | | |
2142 | 2142 | | |
2143 | | - | |
| 2143 | + | |
| 2144 | + | |
| 2145 | + | |
| 2146 | + | |
2144 | 2147 | | |
2145 | 2148 | | |
2146 | 2149 | | |
2147 | | - | |
2148 | | - | |
2149 | | - | |
2150 | | - | |
2151 | | - | |
2152 | | - | |
2153 | | - | |
2154 | | - | |
2155 | | - | |
2156 | | - | |
2157 | | - | |
2158 | | - | |
2159 | | - | |
2160 | | - | |
2161 | | - | |
| 2150 | + | |
2162 | 2151 | | |
2163 | 2152 | | |
2164 | 2153 | | |
| |||
2207 | 2196 | | |
2208 | 2197 | | |
2209 | 2198 | | |
2210 | | - | |
| 2199 | + | |
2211 | 2200 | | |
2212 | 2201 | | |
2213 | | - | |
2214 | | - | |
| 2202 | + | |
| 2203 | + | |
2215 | 2204 | | |
2216 | 2205 | | |
2217 | 2206 | | |
| |||
2338 | 2327 | | |
2339 | 2328 | | |
2340 | 2329 | | |
2341 | | - | |
2342 | | - | |
2343 | | - | |
2344 | | - | |
2345 | | - | |
2346 | 2330 | | |
2347 | 2331 | | |
2348 | 2332 | | |
| |||
4916 | 4900 | | |
4917 | 4901 | | |
4918 | 4902 | | |
4919 | | - | |
| 4903 | + | |
4920 | 4904 | | |
4921 | | - | |
4922 | | - | |
4923 | | - | |
| 4905 | + | |
| 4906 | + | |
| 4907 | + | |
| 4908 | + | |
4924 | 4909 | | |
4925 | 4910 | | |
4926 | | - | |
4927 | 4911 | | |
4928 | 4912 | | |
4929 | 4913 | | |
| |||
6804 | 6788 | | |
6805 | 6789 | | |
6806 | 6790 | | |
| 6791 | + | |
| 6792 | + | |
| 6793 | + | |
| 6794 | + | |
| 6795 | + | |
6807 | 6796 | | |
6808 | 6797 | | |
6809 | 6798 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7087 | 7087 | | |
7088 | 7088 | | |
7089 | 7089 | | |
7090 | | - | |
7091 | | - | |
7092 | | - | |
7093 | | - | |
7094 | | - | |
7095 | 7090 | | |
7096 | 7091 | | |
7097 | 7092 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
516 | 516 | | |
517 | 517 | | |
518 | 518 | | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | | - | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | 519 | | |
545 | 520 | | |
546 | 521 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
| 111 | + | |
112 | 112 | | |
113 | | - | |
114 | 113 | | |
115 | | - | |
| 114 | + | |
116 | 115 | | |
117 | 116 | | |
118 | | - | |
119 | | - | |
120 | | - | |
| 117 | + | |
121 | 118 | | |
122 | 119 | | |
123 | 120 | | |
| |||
140 | 137 | | |
141 | 138 | | |
142 | 139 | | |
143 | | - | |
| 140 | + | |
144 | 141 | | |
145 | 142 | | |
146 | | - | |
| 143 | + | |
147 | 144 | | |
148 | 145 | | |
149 | 146 | | |
150 | 147 | | |
151 | | - | |
| 148 | + | |
152 | 149 | | |
153 | 150 | | |
154 | 151 | | |
155 | | - | |
| 152 | + | |
156 | 153 | | |
157 | 154 | | |
158 | | - | |
| 155 | + | |
159 | 156 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
164 | 174 | | |
165 | 175 | | |
166 | 176 | | |
| |||
0 commit comments