mirror of
https://github.com/facebookarchive/prepack.git
synced 2024-11-27 11:57:59 +03:00
Page:
PP0007
Pages
Compiler assumptions
Effects
Fuzzer
Home
Marking an object as simple
Optimized Functions
Optimized function
PP0002
PP0003
PP0004
PP0005
PP0006
PP0007
PP0008
PP0009
PP0010
PP0011
PP0012
PP0013
PP0014
PP0015
PP0016
PP0017
PP0018
PP0019
PP0020
PP0021
PP0022
PP0023
PP0024
PP0025
PP0026
PP0027
PP0028
PP0029
PP0030
PP0031
PP0032
PP0033
PP0034
PP0035
PP0036
PP0037
PP0038
PP0040
PP0041
PP0043
PP0045
PP1001
PP1002
PP1003
PP1004
PP1005
PP1006
PP1007
PP1008
PP1009
PP8000
PP9000
Partially unknown object
Prepack Concepts
Prepack diagnostics
React Compiler
Research papers citing Prepack
Suggested reading
Tips and tricks on how to debug things as a Prepack developer
Unknown Abstract function value
Unknown Abstract value
Well behaved property
1
PP0007
Herman Venter edited this page 2017-06-20 14:37:57 -07:00
Table of Contents
with object must be a known value
A with statement has an object expression that is an unknown value or a partially unknown object at Prepack time.
This makes it impossible for Prepack to know if a particular property name that is not present in the with object at Prepack time will actually be present at runtime. This can lead to Prepack generating code that will behave differently from the original at runtime. Moreover, even when Prepack can deal abstractly with the ambiguity, the resulting code will be very inefficient, which negates the value of using Prepack in the first place.
To fix this error, simply get rid of the with statement. This is always a good idea, so just do it.