===== AST after reference-resolving ===== ArbitrarilyLargeNumbers(a): TreeList BinaryOperation Assignment Var a MathematicalConstant 1 BinaryOperation Assignment Var b MathematicalConstant 3.6 BinaryOperation Assignment Var c MathematicalConstant -3.6 BinaryOperation Assignment Var d MathematicalConstant -1000000000000000000000 BinaryOperation Assignment Var e MathematicalConstant 10000001/10000000 ReturnNode BinaryOperation Plus Var a BinaryOperation Plus Var b BinaryOperation Plus Var c BinaryOperation Plus Var d Var e WellKnownConstants(a): TreeList IfElseIfChain IsOneOf Var a WellKnownNode Undefined TreeList BinaryOperation Assignment Var b WellKnownNode Null ReturnNode WellKnownNode True TreeList BinaryOperation Assignment Var c WellKnownNode This ReturnNode WellKnownNode False TestReturnIfAbrupt(a): TreeList ReturnNode UnaryOperation ReturnIfAbrubt FunctionCall Func "WellKnownConstants" Var a Enumerators(): TreeList ReturnNode UnaryOperation ReturnIfAbrubt FunctionCall Func "WellKnownConstants" Enumerator enumerator Lists(a, b): TreeList BinaryOperation Assignment Var a List BinaryOperation Assignment Var a List Enumerator 1 BinaryOperation Assignment Var a List Enumerator 1 Enumerator 2 BinaryOperation Assignment Var a List Enumerator 1 Enumerator 2 BinaryOperation Plus MathematicalConstant 3 MathematicalConstant 4 ReturnNode Enumerator unused %get Temporal.PlainDateTime.prototype.inLeapYear%(): TreeList BinaryOperation Assignment Var dateTime WellKnownNode This UnaryOperation ReturnIfAbrubt FunctionCall UnresolvedReference RequireInternalSlot Var dateTime Slot A ReturnNode WellKnownNode Undefined Notes(): TreeList ReturnNode Enumerator unused