v8/test/mjsunit/harmony
Sathya Gunasekaran 3825d79620 [class] Throw error on accessing invalid private fields
Report an error during scope analysis if we're unable to find a
variable proxy for the given private field. This can happen if we try
to access a private field that was not defined or if we're outside
the class scope.

This doesn't correctly throw an early error when pre parsing a top
level function because we don't track it's variables.

Bug: v8:5368
Change-Id: I0a1193fe0ae213c0732fae5d435e150852a8d87d
Reviewed-on: https://chromium-review.googlesource.com/892093
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51082}
2018-02-03 00:19:26 +00:00
..
bigint [bigint] Remove BigInt.parseInt 2018-01-26 02:51:58 +00:00
regress Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
array-concat-array-proto-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-array-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-generic-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-sort-comparefn.js [js] Remove CHECK_OBJECT_COERCIBLE for Array methods 2017-10-20 19:29:36 +00:00
async-for-of-non-iterable.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
async-from-sync-iterator.js [esnext] only load .next() once for JSAsyncFromSyncIterator 2018-02-02 16:57:12 +00:00
async-generators-basic.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
async-generators-resume-return.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
async-generators-return.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
async-generators-yield.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
atomics-value-check.js [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor 2017-04-11 00:09:37 +00:00
atomics.js [SAB] Validate index before value conversion using ToIndex 2017-04-12 19:08:40 +00:00
block-lazy-compile.js
dataview-accessors.js Reland of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #2 id:170001 of https://codereview.chromium.org/2113593002/ ) 2016-08-17 17:38:56 +00:00
default-parameter-do-expression.js Merge DeclarationScope::temps_ and Scope::ordered_variables_ into Scope::locals_ 2016-08-25 19:12:00 +00:00
do-expressions-arrow-param-scope.js Add test coverage for do-expressions in ReparentExpressionScope() 2017-08-03 16:07:41 +00:00
do-expressions-control.js [fullcodegen] Implement control flow across do-expressions. 2016-02-24 11:06:08 +00:00
do-expressions.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
for-await-of.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
function-sent.js Fix behavior of return on yield*. 2016-06-28 07:10:54 +00:00
function-tostring.js Implement new Function.prototype.toString --harmony-function-tostring 2017-02-16 20:19:24 +00:00
futex.js Fix Check failure on OOB access in Atomics.wait 2017-05-31 15:08:52 +00:00
generators-reduced.js This is a first step towards reducing the number of stores/loads when suspending/resuming a generator. 2017-06-02 11:55:48 +00:00
generators.js Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
harmony-string-pad-end.js [builtins] Port String.prototype.{padStart, padEnd} to CSA 2017-10-16 14:19:19 +00:00
harmony-string-pad-start.js [builtins] Port String.prototype.{padStart, padEnd} to CSA 2017-10-16 14:19:19 +00:00
import-from-compilation-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
import-from-evaluation-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
import-from-fetch-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
import-from-instantiation-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
intl-numberformat-formattoparts.js [intl] Implement Intl.NumberFormat.prototype.formatToParts 2017-06-30 20:14:18 +00:00
intl-pluralrules-select.js [intl] Implement Intl.PluralRules behind --harmony-plural-rules 2017-08-21 22:23:59 +00:00
module-parsing-eval.js Remove --harmony-modules flag and let embedder decide when modules are used 2016-03-15 00:45:00 +00:00
modules-import-1.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-2.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-3.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-4.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-5.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-6.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-7.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-8.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-9.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-10.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-11.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-12.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-13.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-14.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-15.js [modules] Include module specifier in instantiation error messages. 2017-12-08 09:11:58 +00:00
modules-import-16.js [modules] Fix dynamic import in eval 2017-08-14 23:21:49 +00:00
modules-import-large.js [modules] Turbofan inlining support for namespace accesses 2017-09-05 20:11:09 +00:00
modules-import-meta.js [modules] Fix lazy parsing of functions in modules. 2017-10-22 09:03:34 +00:00
modules-skip-1.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-2.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-3.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-4.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-5.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-6.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-7.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-8.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-9.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-10.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
modules-skip-11.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
modules-skip-12.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
modules-skip-empty.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-export-import-meta.js Reland "[modules] Implement import.meta proposal" 2017-10-11 15:37:10 +00:00
modules-skip-large1.js [modules] Turbofan inlining support for namespace accesses 2017-09-05 20:11:09 +00:00
modules-skip-large2.js [modules] Turbofan inlining support for namespace accesses 2017-09-05 20:11:09 +00:00
optional-catch-binding-breaks.js [ESNext] Implement optional catch binding 2018-01-08 18:09:34 +00:00
optional-catch-binding.js [ESNext] Implement optional catch binding 2018-01-08 18:09:34 +00:00
private-fields.js [class] Throw error on accessing invalid private fields 2018-02-03 00:19:26 +00:00
private-symbols.js [builtins] Port Proxy has trap to CSA 2017-08-16 13:05:45 +00:00
private.js [runtime] PreventExtensionsWithTransition: before adding the new 2017-06-22 12:19:26 +00:00
promise-prototype-finally.js [promise] Remove IsPromise brand check in PromiseFinally 2017-12-14 13:00:04 +00:00
public-instance-class-fields.js [class] Ban arguments in class field initializers 2018-01-04 23:11:25 +00:00
public-static-class-fields.js [class] Ban arguments in class field initializers 2018-01-04 23:11:25 +00:00
regexp-change-exec.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-dotall.js Ship RegExp dotAll mode / s flag 2017-07-28 08:17:38 +00:00
regexp-named-captures.js [regexp] Add 'groups' property to JSRegExpResult objects 2017-12-18 10:31:28 +00:00
regexp-property-binary.js [regexp] Support Regional_Indicator property class 2017-11-09 07:52:35 +00:00
regexp-property-char-class.js [regexp] Throw for patterns like /[\p{...}-\p{...}]/u. 2017-07-25 08:25:43 +00:00
regexp-property-disabled.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-enumerated.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-exact-match.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-general-category.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-invalid.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-lu-ui0.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui1.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui2.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui3.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui4.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui5.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui6.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui7.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui8.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui9.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-lu-ui.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-script-extensions.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-scripts.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-special.js [regexp] remove \p{Other_ID_Start} and \p{Other_ID_Continue} 2017-04-11 12:40:41 +00:00
regress-generators-resume.js This is a first step towards reducing the number of stores/loads when suspending/resuming a generator. 2017-06-02 11:55:48 +00:00
set-prototype-of.js Fix corner-case behavior of JSObject::SetPrototype. 2015-10-23 14:52:26 +00:00
sharedarraybuffer.js Remove SharedArrayBuffer.isView 2018-01-11 00:22:57 +00:00
symbol-async-iterator.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
to-length.js [runtime] Implement %_ToLength via ToLengthStub. 2015-10-19 08:35:18 +00:00
to-name.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-number.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-primitive.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-string.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
trailing-commas-length.js [cleanup] Remove on-by-default --harmony-trailing-commas flag 2017-06-13 00:09:23 +00:00