SYMBOL INDEX (595 symbols across 39 files) FILE: python_code/actual_dict_factory_test.py function table_size (line 7) | def table_size(d): class TestDictFactory (line 11) | class TestDictFactory(unittest.TestCase): method test_dict_factory (line 12) | def test_dict_factory(self): function main (line 24) | def main(): FILE: python_code/build_autogenerated_chapter1_hash.py function create_new (line 7) | def create_new(numbers): function create_new_broken (line 11) | def create_new_broken(numbers): function has_key (line 15) | def has_key(keys, key): function linear_search (line 19) | def linear_search(numbers, number): FILE: python_code/chapter1_linear_search_reimplementation_test.py function run (line 15) | def run(test_implementation, size): FILE: python_code/chapter4_probing_python_reimplementation_test.py function probe_all_js (line 9) | def probe_all_js(key, slots_count): function probe_all (line 27) | def probe_all(key, slots_count=8): function test (line 45) | def test(): FILE: python_code/common.py class EmptyValueClass (line 5) | class EmptyValueClass(object): method __str__ (line 6) | def __str__(self): method __repr__ (line 9) | def __repr__(self): class DummyValueClass (line 13) | class DummyValueClass(object): method __str__ (line 14) | def __str__(self): method __repr__ (line 17) | def __repr__(self): function get_object_field_or_null (line 25) | def get_object_field_or_null(obj, field_name): function get_object_field_or_none (line 32) | def get_object_field_or_none(obj, field_name): function generate_random_string (line 39) | def generate_random_string(str_len=5): function generate_random_unicode (line 47) | def generate_random_unicode(str_len): class IntKeyValueFactory (line 52) | class IntKeyValueFactory(object): method __init__ (line 53) | def __init__(self, n_inserts): method generate_key (line 58) | def generate_key(self): method generate_value (line 61) | def generate_value(self): class AllKeyValueFactory (line 66) | class AllKeyValueFactory(object): method __init__ (line 67) | def __init__(self, n_inserts, int_chance=0.1, long_chance=0.1, len0_ch... method _generate_obj (line 80) | def _generate_obj(self): method generate_key (line 100) | def generate_key(self): method generate_value (line 103) | def generate_value(self): FILE: python_code/dict32_reimplementation_test_v2.py function dict_factory (line 13) | def dict_factory(pairs=None): function verify_same (line 42) | def verify_same(d, dump_d_func, dreimpl, dump_dreimpl_func): function run (line 65) | def run(ref_impl_factory, ref_impl_dump, test_impl_factory, test_impl_du... function test_iteration (line 169) | def test_iteration(): FILE: python_code/dict_reimpl_common.py class Slot (line 4) | class Slot(object): method __init__ (line 5) | def __init__(self, hash_code=EMPTY, key=EMPTY, value=EMPTY): class BaseDictImpl (line 11) | class BaseDictImpl(object): method __init__ (line 12) | def __init__(self): method find_nearest_size (line 17) | def find_nearest_size(self, minused): FILE: python_code/dict_reimplementation.py class PyDictReimplementationBase (line 6) | class PyDictReimplementationBase(BaseDictImpl): method __init__ (line 10) | def __init__(self, pairs=None): method __setitem__ (line 18) | def __setitem__(self, key, value): method __delitem__ (line 46) | def __delitem__(self, key): method __getitem__ (line 53) | def __getitem__(self, key): method signed_to_unsigned (line 59) | def signed_to_unsigned(hash_code): method lookdict (line 62) | def lookdict(self, key): method resize (line 76) | def resize(self): class PyDictReimplementation32 (line 92) | class PyDictReimplementation32(PyDictReimplementationBase): method _next_size (line 93) | def _next_size(self): function dump_reimpl_dict (line 97) | def dump_reimpl_dict(d): FILE: python_code/dictinfo.py function dump_py_dict (line 4) | def dump_py_dict(d): FILE: python_code/dictinfo32.py class PyDictEntry (line 5) | class PyDictEntry(Structure): class PyDictObject (line 13) | class PyDictObject(Structure): function dictobject (line 24) | def dictobject(d): function dump_py_dict (line 34) | def dump_py_dict(d): FILE: python_code/dictinfo33.py class PyDictKeyEntry (line 5) | class PyDictKeyEntry(Structure): class PyDictKeysObject (line 13) | class PyDictKeysObject(Structure): class PyDictObject (line 23) | class PyDictObject(Structure): function dictobject (line 35) | def dictobject(d): function usable_fraction (line 45) | def usable_fraction(size): function dump_py_dict (line 49) | def dump_py_dict(d): FILE: python_code/hash_chapter1_impl.py function create_new (line 1) | def create_new(numbers): function create_new_broken (line 16) | def create_new_broken(numbers): function has_key (line 27) | def has_key(keys, key): function linear_search (line 37) | def linear_search(numbers, number): FILE: python_code/hash_chapter1_reimpl_js.py function run_op (line 4) | def run_op(keys, op, **kwargs): function create_new (line 8) | def create_new(numbers): function create_new_broken (line 12) | def create_new_broken(numbers): function has_key (line 16) | def has_key(keys, key): function linear_search (line 20) | def linear_search(numbers, key): FILE: python_code/hash_chapter1_reimplementation_test.py function get_implementation (line 9) | def get_implementation(is_broken, impl): function run (line 22) | def run(test_implementation, is_broken, n_inserts): FILE: python_code/hash_chapter2_impl.py function create_new (line 4) | def create_new(from_keys): function insert (line 24) | def insert(hash_codes, keys, key): function remove (line 37) | def remove(hash_codes, keys, key): function has_key (line 50) | def has_key(hash_codes, keys, key): function resize (line 60) | def resize(hash_codes, keys): FILE: python_code/hash_chapter2_impl_test.py class MyHashTest (line 6) | class MyHashTest(unittest.TestCase): method test_handcrafted (line 7) | def test_handcrafted(self): method test_all (line 100) | def test_all(self): function main (line 138) | def main(): FILE: python_code/hash_chapter2_reimpl_js.py function run_op (line 4) | def run_op(hash_codes, keys, op, **kwargs): function create_new (line 8) | def create_new(from_keys): function insert (line 12) | def insert(hash_codes, keys, key): function remove (line 18) | def remove(hash_codes, keys, key): function has_key (line 24) | def has_key(hash_codes, keys, key): function resize (line 28) | def resize(hash_codes, keys): FILE: python_code/hash_chapter2_reimplementation_test.py function verify_same (line 16) | def verify_same(ref_hash_codes, ref_keys, hash_codes, keys): function run (line 32) | def run(ref_impl, test_impl, n_inserts, key_value_factory, initial_state... function test_iteration (line 107) | def test_iteration(): FILE: python_code/hash_chapter3_class_impl.py class AlmostPythonDictBase (line 5) | class AlmostPythonDictBase(BaseDictImpl): method __init__ (line 8) | def __init__(self, pairs=None): method lookdict (line 15) | def lookdict(self, key): method __getitem__ (line 27) | def __getitem__(self, key): method __delitem__ (line 32) | def __delitem__(self, key): method resize (line 40) | def resize(self): method keys (line 55) | def keys(self): method __len__ (line 58) | def __len__(self): class AlmostPythonDictImplementationRecycling (line 62) | class AlmostPythonDictImplementationRecycling(AlmostPythonDictBase): method __setitem__ (line 63) | def __setitem__(self, key, value): class AlmostPythonDictImplementationNoRecycling (line 93) | class AlmostPythonDictImplementationNoRecycling(AlmostPythonDictBase): method __setitem__ (line 94) | def __setitem__(self, key, value): class AlmostPythonDictImplementationNoRecyclingSimplerVersion (line 118) | class AlmostPythonDictImplementationNoRecyclingSimplerVersion(AlmostPyth... method __setitem__ (line 119) | def __setitem__(self, key, value): FILE: python_code/hash_chapter3_class_impl_test.py class HashDictImplementationTest (line 6) | class HashDictImplementationTest(unittest.TestCase): method test_handcrafted (line 7) | def test_handcrafted(self): method test_handcrafted_simple_setitem (line 77) | def test_handcrafted_simple_setitem(self): function main (line 148) | def main(): FILE: python_code/interface_test.py class Interface (line 7) | class Interface(unittest.TestCase): method test_all (line 8) | def test_all(self): method do_simple_test_single_class (line 17) | def do_simple_test_single_class(self, klass): function main (line 34) | def main(): FILE: python_code/js_reimpl_common.py function dump_simple_py_obj (line 12) | def dump_simple_py_obj(obj): function dump_pairs (line 29) | def dump_pairs(pairs): function dump_array (line 37) | def dump_array(array): function parse_array (line 41) | def parse_array(array): function parse_simple_py_obj (line 45) | def parse_simple_py_obj(obj): function _init_sock_stuff (line 62) | def _init_sock_stuff(): function run_op_chapter1_chapter2 (line 77) | def run_op_chapter1_chapter2(chapter, hash_codes, keys, op, **kwargs): FILE: python_code/js_reimplementation_interface.py class JsImplBase (line 9) | class JsImplBase(object): method __init__ (line 13) | def __init__(self, pairs=None): method __del__ (line 26) | def __del__(self): method dump_slots (line 29) | def dump_slots(self): method restore_slots (line 49) | def restore_slots(self, slots): method run_op (line 63) | def run_op(self, op, **kwargs): class Dict32JsImpl (line 95) | class Dict32JsImpl(JsImplBase): method __setitem__ (line 98) | def __setitem__(self, key, value): method __delitem__ (line 101) | def __delitem__(self, key): method __getitem__ (line 104) | def __getitem__(self, key): class AlmostPythonDictBaseJsImpl (line 108) | class AlmostPythonDictBaseJsImpl(JsImplBase): method __delitem__ (line 111) | def __delitem__(self, key): method __getitem__ (line 114) | def __getitem__(self, key): class AlmostPythonDictRecyclingJsImpl (line 118) | class AlmostPythonDictRecyclingJsImpl(AlmostPythonDictBaseJsImpl): method __setitem__ (line 119) | def __setitem__(self, key, value): class AlmostPythonDictNoRecyclingJsImpl (line 123) | class AlmostPythonDictNoRecyclingJsImpl(AlmostPythonDictBaseJsImpl): method __setitem__ (line 124) | def __setitem__(self, key, value): FILE: scripts/extractPythonCode.js function extractCodeLines (line 44) | function extractCodeLines(codeWithBpAndLevels) { function outputCode (line 48) | function outputCode(filename, headers, importedCode, indent4 = true) { constant DIR (line 77) | const DIR = 'build'; FILE: scripts/pyReimplWrapper.js function parseSimplePyObj (line 15) | function parseSimplePyObj(obj) { function parseArray (line 34) | function parseArray(array) { function dumpArray (line 38) | function dumpArray(array) { function parsePairs (line 42) | function parsePairs(pairs) { function dumpSimplePyObj (line 46) | function dumpSimplePyObj(obj) { function restorePyDictState (line 65) | function restorePyDictState(state) { function dumpPyDictState (line 92) | function dumpPyDictState(pySelf) { function dict32RunOp (line 108) | function dict32RunOp(pySelf, op, key, value, pairs) { function almostPyDictRunOp (line 131) | function almostPyDictRunOp(pySelf, op, key, value, pairs) { function chapter1run (line 158) | function chapter1run(keys, op, key, numbers) { function chapter2run (line 180) | function chapter2run(hashCodes, keys, op, key, array) { FILE: src/app.js function getWindowDimensions (line 38) | function getWindowDimensions() { function logViewportStats (line 44) | function logViewportStats() { constant GITHUB_REPO_URL (line 63) | const GITHUB_REPO_URL = 'https://github.com/eleweek/inside_python_dict'; constant MAILCHIMP_URL (line 64) | const MAILCHIMP_URL = 'http://eepurl.com/gbzhvn'; constant TWITTER_LINK (line 65) | const TWITTER_LINK = 'https://twitter.com/SashaPutilin'; constant EMAIL (line 66) | const EMAIL = 'avp-13@yandex.ru'; function GithubRibbon (line 68) | function GithubRibbon() { function GithubCorner (line 80) | function GithubCorner() { function GithubForkMe (line 91) | function GithubForkMe({windowWidth}) { constant CONTENTS_DATA (line 99) | const CONTENTS_DATA = [ function chapterIdDotHtml (line 106) | function chapterIdDotHtml(chapterId) { function NextPrev (line 114) | function NextPrev({selectedChapterId}) { class Contents (line 152) | class Contents extends React.PureComponent { method render (line 155) | render() { class LoadingAlert (line 213) | class LoadingAlert extends React.PureComponent { method constructor (line 214) | constructor() { method render (line 222) | render() { method componentDidMount (line 237) | componentDidMount() { class Alerts (line 242) | class Alerts extends React.Component { method constructor (line 243) | constructor() { method render (line 251) | render() { method componentDidMount (line 288) | componentDidMount() { function Footer (line 293) | function Footer() { constant SIGNIFICANT_HEIGHT_CHANGE (line 330) | const SIGNIFICANT_HEIGHT_CHANGE = 100; class App (line 331) | class App extends React.Component { method constructor (line 332) | constructor() { method componentDidMount (line 366) | componentDidMount() { method componentWillUnmount (line 394) | componentWillUnmount() { method render (line 398) | render() { function fixStickyResize (line 436) | function fixStickyResize(windowWidth, windowHeight) { function fixSticky (line 445) | function fixSticky() { function initAndRender (line 455) | function initAndRender(chapters, chapterIds) { FILE: src/chapter1_simplified_hash.js constant CHAPTER1_MAXNUM (line 35) | const CHAPTER1_MAXNUM = 999; constant SIMPLE_LIST_SEARCH (line 37) | const SIMPLE_LIST_SEARCH = [ function _parseSmallInt (line 47) | function _parseSmallInt(value) { function chapter1valueRangeValidator (line 57) | function chapter1valueRangeValidator(num) { function PySmallIntInput (line 66) | function PySmallIntInput({inputComponentRef, ...restProps}) { function simpleListSearch (line 72) | function simpleListSearch(l, key) { function UnnamedListVisualization (line 141) | function UnnamedListVisualization(props) { constant SIMPLIFIED_INSERT_ALL_BROKEN_CODE (line 146) | const SIMPLIFIED_INSERT_ALL_BROKEN_CODE = [ constant SIMPLIFIED_INSERT_ALL_CODE (line 156) | const SIMPLIFIED_INSERT_ALL_CODE = [ class SimplifiedInsertAll (line 168) | class SimplifiedInsertAll extends BreakpointFunction { method constructor (line 169) | constructor() { method run (line 175) | run(_originalList, isBroken = false) { method overwrittenNumbers (line 234) | overwrittenNumbers() { constant SIMPLIFIED_SEARCH_CODE (line 306) | const SIMPLIFIED_SEARCH_CODE = [ class SimplifiedSearch (line 320) | class SimplifiedSearch extends BreakpointFunction { method run (line 321) | run(_newList, _number) { function DynamicSimplifiedInsertAllBrokenOverwrittenExample (line 383) | function DynamicSimplifiedInsertAllBrokenOverwrittenExample({originalNum... class Ops (line 423) | class Ops { method createNew (line 424) | static createNew(numbers) { method createNewBroken (line 431) | static createNewBroken(numbers) { method hasKey (line 437) | static hasKey(keys, number) { method linearSearch (line 444) | static linearSearch(numbers, searchedNumber) { function anotherValue (line 449) | function anotherValue(array, RANDOM_NUMBER_CHANCE = 0.3) { class Chapter1_SimplifiedHash (line 457) | class Chapter1_SimplifiedHash extends ChapterComponent { method constructor (line 458) | constructor() { method render (line 518) | render() { FILE: src/chapter2_hash_table_functions.js constant HASH_CREATE_NEW_CODE (line 34) | const HASH_CREATE_NEW_CODE = [ function anotherValue (line 53) | function anotherValue(array, ARRAY_CHANCE = 0.5, MEANINGFUL_CHANCE = 0.2... class HashCreateNew (line 67) | class HashCreateNew extends HashBreakpointFunction { method run (line 68) | run(_fromKeys) { function formatHashCreateNewAndInsert (line 142) | function formatHashCreateNewAndInsert(bp, prevBp) { constant HASH_SEARCH_CODE (line 199) | const HASH_SEARCH_CODE = [ function formatHashRemoveSearch (line 211) | function formatHashRemoveSearch(bp, prevBp) { constant HASH_REMOVE_CODE (line 266) | const HASH_REMOVE_CODE = [ class HashRemoveOrSearch (line 281) | class HashRemoveOrSearch extends HashBreakpointFunction { method run (line 282) | run(_hashCodes, _keys, _key, isRemoveMode) { constant HASH_RESIZE_CODE (line 337) | const HASH_RESIZE_CODE = [ class HashResize (line 352) | class HashResize extends HashBreakpointFunction { method run (line 353) | run(_hashCodes, _keys) { function formatHashResize (line 402) | function formatHashResize(bp, prevBp) { constant HASH_INSERT_CODE (line 456) | const HASH_INSERT_CODE = [ class HashInsert (line 470) | class HashInsert extends HashBreakpointFunction { method run (line 471) | run(_hashCodes, _keys, _key) { class HashExamples (line 508) | class HashExamples extends React.Component { method constructor (line 509) | constructor(props) { method render (line 517) | render() { class Ops (line 563) | class Ops { method createNew (line 564) | static createNew(array) { method hasKey (line 571) | static hasKey(hashCodes, keys, searchedObj) { method remove (line 579) | static remove(hashCodes, keys, objToRemove) { method resize (line 587) | static resize(hashCodes, keys) { method insert (line 595) | static insert(hashCodes, keys, objToInsert) { function ListDescription (line 604) | function ListDescription({array}) { class HashResizeInPlaceAnimation (line 616) | class HashResizeInPlaceAnimation extends React.PureComponent { method constructor (line 620) | constructor() { method getDerivedStateFromProps (line 628) | static getDerivedStateFromProps(props, state) { method render (line 647) | render() { class Chapter2_HashTableFunctions (line 679) | class Chapter2_HashTableFunctions extends ChapterComponent { method constructor (line 680) | constructor() { method render (line 714) | render() { FILE: src/chapter3_and_4_common.js constant DEFAULT_STATE (line 19) | const DEFAULT_STATE = { function singleFormatCheckCollision (line 34) | function singleFormatCheckCollision(slots, idx, fmtCollisionCount) { function formatHashClassLookdictRelated (line 43) | function formatHashClassLookdictRelated(bp) { function formatHashClassSetItemAndCreate (line 93) | function formatHashClassSetItemAndCreate(bp) { function formatHashClassResize (line 208) | function formatHashClassResize(bp) { function formatHashClassInit (line 253) | function formatHashClassInit(bp) { function hashClassConstructor (line 285) | function hashClassConstructor(size = 8) { class HashClassInitEmpty (line 300) | class HashClassInitEmpty extends BreakpointFunction { method run (line 301) | run(initStartSize = null, pairsLength = null) { function findClosestSize (line 341) | function findClosestSize(minused) { function findClosestSizeBN (line 350) | function findClosestSizeBN(minused) { class HashClassSetItemBase (line 359) | class HashClassSetItemBase extends HashBreakpointFunction { method run (line 360) | run(_self, _key, _value, useRecycling, Resize, optimalSizeQuot) { method getResize (line 464) | getResize() { class HashClassLookdictBase (line 469) | class HashClassLookdictBase extends HashBreakpointFunction { method run (line 470) | run(_self, _key) { class HashClassGetItem (line 509) | class HashClassGetItem extends HashBreakpointFunction { method run (line 510) | run(_self, _key, Lookdict) { class HashClassDelItem (line 527) | class HashClassDelItem extends HashBreakpointFunction { method run (line 528) | run(_self, _key, Lookdict) { class HashClassInsertAll (line 550) | class HashClassInsertAll extends HashBreakpointFunction { method constructor (line 551) | constructor() { method run (line 557) | run(_self, _pairs, useRecycling, SetItem, Resize, optimalSizeQuot) { method getResizes (line 578) | getResizes() { class HashClassResizeBase (line 618) | class HashClassResizeBase extends HashBreakpointFunction { method run (line 619) | run(_self, optimalSizeQuot) { function anotherKey (line 676) | function anotherKey(pairs, ARRAY_CHANCE = 0.5, MEANINGFUL_CHANCE = 0.25,... function generateNonPresentKey (line 705) | function generateNonPresentKey(pySelf, getitem) { function addPairsUntilResize (line 714) | function addPairsUntilResize(pySelf, getitem, setitem) { function selectOrCreateResize (line 734) | function selectOrCreateResize(pySelf, resizes, getitem, setitem) { FILE: src/chapter3_hash_class.js method computeIdxAndSave (line 40) | computeIdxAndSave(hashCode, len) { method nextIdxAndSave (line 45) | nextIdxAndSave() { class HashClassSetItem (line 51) | class HashClassSetItem extends chapter3Extend(HashClassSetItemBase) {} class HashClassLookdict (line 52) | class HashClassLookdict extends chapter3Extend(HashClassLookdictBase) {} class HashClassResize (line 53) | class HashClassResize extends chapter3Extend(HashClassResizeBase) {} class AlmostPythonDict (line 55) | class AlmostPythonDict { method __init__ (line 56) | static __init__(pairs) { method __delitem__ (line 74) | static __delitem__(pySelf, key) { method __getitem__ (line 83) | static __getitem__(pySelf, key) { method __setitem__base (line 92) | static __setitem__base(pySelf, key, value, isRecycling) { method __setitem__recycling (line 100) | static __setitem__recycling(pySelf, key, value) { method __setitem__no_recycling (line 104) | static __setitem__no_recycling(pySelf, key, value) { function formatHashClassChapter3IdxRelatedBp (line 109) | function formatHashClassChapter3IdxRelatedBp(bp, prevBp) { constant HASH_CLASS_SETITEM_SIMPLIFIED_CODE (line 124) | const HASH_CLASS_SETITEM_SIMPLIFIED_CODE = [ constant HASH_CLASS_INIT_CODE (line 144) | const HASH_CLASS_INIT_CODE = [ constant HASH_CLASS_SETITEM_SIMPLIFIED_WITH_INIT_CODE (line 155) | const HASH_CLASS_SETITEM_SIMPLIFIED_WITH_INIT_CODE = [...HASH_CLASS_INIT... constant HASH_CLASS_SETITEM_RECYCLING_CODE (line 157) | const HASH_CLASS_SETITEM_RECYCLING_CODE = [ constant HASH_CLASS_RESIZE_CODE (line 186) | const HASH_CLASS_RESIZE_CODE = [ constant HASH_CLASS_LOOKDICT (line 202) | const HASH_CLASS_LOOKDICT = [ constant HASH_CLASS_GETITEM (line 224) | const HASH_CLASS_GETITEM = [...HASH_CLASS_LOOKDICT, ..._HASH_CLASS_GETIT... constant HASH_CLASS_DELITEM (line 235) | const HASH_CLASS_DELITEM = [...HASH_CLASS_LOOKDICT, ..._HASH_CLASS_DELIT... constant FIND_NEAREST_SIZE_CODE_STRING (line 237) | const FIND_NEAREST_SIZE_CODE_STRING = `def find_closest_size(self, minus... constant SLOT_CLASS_CODE_STRING (line 244) | const SLOT_CLASS_CODE_STRING = `class Slot(object): function DynamicPartResize (line 251) | function DynamicPartResize({extraPairs, resize, pairsCount, resizesCount... function DynamicPartSetItemRecycling (line 277) | function DynamicPartSetItemRecycling({hasDummy, outcome, otherOutcomes, ... class FindClosestSizeExample (line 352) | class FindClosestSizeExample extends React.PureComponent { method constructor (line 354) | constructor() { method render (line 373) | render() { class Chapter3_HashClass (line 388) | class Chapter3_HashClass extends ChapterComponent { method constructor (line 389) | constructor() { method render (line 565) | render() { FILE: src/chapter4_real_python_dict.js method computeIdxAndSave (line 39) | computeIdxAndSave(hashCode, len) { method nextIdxAndSave (line 46) | nextIdxAndSave() { class SideBySideDicts (line 59) | class SideBySideDicts extends React.Component { method render (line 63) | render() { class Dict32SetItem (line 86) | class Dict32SetItem extends chapter4Extend(HashClassSetItemBase) {} class Dict32Lookdict (line 87) | class Dict32Lookdict extends chapter4Extend(HashClassLookdictBase) {} class Dict32Resize (line 88) | class Dict32Resize extends chapter4Extend(HashClassResizeBase) { function formatDict32IdxRelatedBp (line 93) | function formatDict32IdxRelatedBp(bp, prevBp) { function formatPythonProbing (line 112) | function formatPythonProbing(bp, prevBp) { constant STATICMETHOD_SIGNED_TO_UNSIGNED (line 160) | const STATICMETHOD_SIGNED_TO_UNSIGNED = [ constant DICT32_INIT (line 170) | const DICT32_INIT = [ constant DICT32_SETITEM (line 185) | const DICT32_SETITEM = [ constant DICT32_SETITEM_WITH_INIT (line 218) | const DICT32_SETITEM_WITH_INIT = [...STATICMETHOD_SIGNED_TO_UNSIGNED, ..... constant DICT32_RESIZE_CODE (line 220) | const DICT32_RESIZE_CODE = [ constant DICT32_LOOKDICT (line 239) | const DICT32_LOOKDICT = [ constant DICT32_GETITEM (line 263) | const DICT32_GETITEM = [...DICT32_LOOKDICT, ..._DICT32_GETITEM_ONLY]; constant DICT32_DELITEM (line 274) | const DICT32_DELITEM = [...DICT32_LOOKDICT, ..._DICT32_DELITEM_ONLY]; class Dict32 (line 276) | class Dict32 { method __init__ (line 277) | static __init__(pairs) { method __delitem__ (line 315) | static __delitem__(pySelf, key) { method __getitem__ (line 324) | static __getitem__(pySelf, key) { method __setitem__ (line 333) | static __setitem__(pySelf, key, value) { constant PROBING_PYTHON_CODE (line 352) | const PROBING_PYTHON_CODE = [ function DynamicPartResize (line 365) | function DynamicPartResize({extraPairs, resize}) { class Chapter4_RealPythonDict (line 395) | class Chapter4_RealPythonDict extends ChapterComponent { method constructor (line 396) | constructor() { method render (line 461) | render() { FILE: src/code_blocks.js function reflow (line 52) | function reflow(node) { function renderPythonCode (line 60) | function renderPythonCode(codeString) { function dummyFormat (line 70) | function dummyFormat(bp) { function SimpleCodeBlock (line 75) | function SimpleCodeBlock(props) { function SimpleCodeInline (line 83) | function SimpleCodeInline(props) { constant DEFAULT_BOX_GEOMETRY (line 87) | const DEFAULT_BOX_GEOMETRY = { constant SMALLER_BOX_GEOMETRY (line 91) | const SMALLER_BOX_GEOMETRY = { function computeBoxTransformProperty (line 96) | function computeBoxTransformProperty(idx, y, boxSize, spacingX) { function pyObjToReactKey (line 101) | function pyObjToReactKey(obj) { class ActiveBoxSelectionUnthrottled (line 105) | class ActiveBoxSelectionUnthrottled extends React.PureComponent { method render (line 106) | render() { class ActiveBoxSelectionThrottledHelper (line 139) | class ActiveBoxSelectionThrottledHelper extends React.Component { method render (line 144) | render() { method componentDidUpdate (line 166) | componentDidUpdate() { function SingleBoxSelection (line 176) | function SingleBoxSelection({idx, status, boxSize, spacingX, spacingY, b... class SelectionGroup (line 190) | class SelectionGroup extends React.Component { method constructor (line 193) | constructor() { method render (line 202) | render() { method componentDidUpdate (line 233) | componentDidUpdate() { method handleStartingTransition (line 244) | handleStartingTransition() { method getDerivedStateFromProps (line 259) | static getDerivedStateFromProps(props, state) { class Box (line 281) | class Box extends React.PureComponent { method shortDisplayedString (line 282) | shortDisplayedString(value) { method render (line 321) | render() { class SlotSelection (line 414) | class SlotSelection extends React.PureComponent { method render (line 415) | render() { class LineOfBoxesSelection (line 448) | class LineOfBoxesSelection extends React.PureComponent { method render (line 449) | render() { class BaseBoxesComponent (line 488) | class BaseBoxesComponent extends React.PureComponent { method constructor (line 493) | constructor() { method markRemoved (line 515) | static markRemoved(state, targetModId) { method getDerivedStateFromProps (line 546) | static getDerivedStateFromProps(nextProps, state) { method notSoDeepDel (line 969) | static notSoDeepDel(m, [e1, e2, e3]) { method garbageCollect (line 982) | static garbageCollect(state, targetModId) { method debugLogState (line 1024) | debugLogState() { method staticDebugLogState (line 1028) | static staticDebugLogState(state) { method render (line 1053) | render() { method componentDidUpdate (line 1100) | componentDidUpdate() { function isImmutableListOrMap (line 1146) | function isImmutableListOrMap(obj) { function deepGet (line 1150) | function deepGet(obj, path) { function TetrisFactory (line 1164) | function TetrisFactory(lines, opts) { function selectGeometry (line 1183) | function selectGeometry(windowWidth, windowHeight) { class Tetris (line 1191) | class Tetris extends React.PureComponent { method _getExpectedHeight (line 1194) | static _getExpectedHeight(windowWidth, windowHeight, lines, fixedGeome... method constructor (line 1208) | constructor() { method render (line 1221) | render() { method componentDidUpdate (line 1304) | componentDidUpdate() { method componentDidMount (line 1308) | componentDidMount() { class CodeBlockWithActiveLineAndAnnotations (line 1313) | class CodeBlockWithActiveLineAndAnnotations extends React.Component { method constructor (line 1314) | constructor() { method getCodeWithExplanationHtmlLines (line 1332) | getCodeWithExplanationHtmlLines(visibleBreakpoints, activeBp) { method getVisibleBreakpoints (line 1402) | getVisibleBreakpoints(activeBp) { method render (line 1439) | render() { method getScrollTopTarget (line 1465) | getScrollTopTarget() { method componentDidUpdate (line 1512) | componentDidUpdate() { class TimeSliderWithControls (line 1518) | @observer method constructor (line 1522) | constructor() { method unixtimestamp (line 1529) | unixtimestamp() { method getDerivedStateFromProps (line 1533) | static getDerivedStateFromProps(nextProps, state) { method getDerivedStateFromProps (line 1629) | static getDerivedStateFromProps(props, state) { method componentDidUpdate (line 1637) | componentDidUpdate() { method componentDidMount (line 1647) | componentDidMount() { method render (line 1653) | render() { class VisualizedCode (line 1744) | class VisualizedCode extends React.Component { method constructor (line 1748) | constructor(props) { method getDerivedStateFromProps (line 1774) | static getDerivedStateFromProps(props, state) { method render (line 1795) | render() { class HashBoxesComponent (line 1879) | class HashBoxesComponent extends React.PureComponent { method getExpectedGeometry (line 1880) | static getExpectedGeometry({boxGeometry: {boxSize, spacingY}}) { method getKeys (line 1884) | static getKeys(array) { method boxFactory (line 1901) | static boxFactory(keys, value) { method render (line 1905) | render() { class HashBoxesBrokenComponent (line 1919) | class HashBoxesBrokenComponent extends React.PureComponent { method height (line 1922) | static height(boxSize) { method getExpectedGeometry (line 1926) | static getExpectedGeometry({boxGeometry: {boxSize, spacingY}}) { method getKeys (line 1935) | static getKeys(array) { method boxFactory (line 1945) | static boxFactory(keys, value) { method render (line 1964) | render() { class HashSlotsComponent (line 1979) | class HashSlotsComponent extends React.PureComponent { method getExpectedGeometry (line 1980) | static getExpectedGeometry({boxGeometry: {boxSize, spacingY}}) { method boxFactory (line 1984) | static boxFactory(keys, value) { method getKeys (line 1994) | static getKeys(array) { method render (line 2013) | render() { class CounterList (line 2027) | class CounterList { method constructor (line 2028) | constructor() { method inc (line 2032) | inc(group, value) { class LineOfBoxesComponent (line 2054) | class LineOfBoxesComponent extends React.PureComponent { method getKeys (line 2055) | static getKeys(array) { method getKeysForKVPairs (line 2087) | static getKeysForKVPairs(array) { method boxFactory (line 2103) | static boxFactory(keys, values) { method getExpectedGeometry (line 2113) | static getExpectedGeometry(props) { method render (line 2124) | render() { FILE: src/common_formatters.js function commonFormatCheckCollisionLoopEndedPart (line 3) | function commonFormatCheckCollisionLoopEndedPart(idx, fmtCollisionCount) { function chapter1_2_FormatCheckCollision (line 19) | function chapter1_2_FormatCheckCollision(l, idx, fmtCollisionCount) { function commonFormatCheckNotFound (line 28) | function commonFormatCheckNotFound(l, idx, fmtCollisionCount, isEmpty = ... FILE: src/hash_impl_common.js function repr (line 3) | function repr(obj, allowNull = false) { function displayStr (line 24) | function displayStr(obj, quoteString = true) { class Int64 (line 40) | class Int64 { method constructor (line 44) | constructor(jsNumInt32 = 0) { method xor (line 60) | xor(other) { method sign (line 68) | sign() { method inc (line 72) | inc() { method eq (line 77) | eq(other) { method add (line 86) | add(other) { method complement (line 97) | complement() { method mul (line 105) | mul(other) { method toNumber (line 128) | toNumber() { method toStringDestroying (line 139) | toStringDestroying() { method _carryOverAll (line 184) | _carryOverAll() { function pyHashStringAndUnicode (line 194) | function pyHashStringAndUnicode(s) { function pyHashString (line 211) | function pyHashString(s) { function pyHashUnicode (line 216) | function pyHashUnicode(s) { function pyHashLong (line 220) | function pyHashLong(num) { function pyHash (line 264) | function pyHash(o) { class BreakpointFunction (line 281) | class BreakpointFunction { method constructor (line 282) | constructor() { method addBP (line 287) | addBP(point) { method setExtraBpContext (line 310) | setExtraBpContext(extraBpContext) { method getBreakpoints (line 314) | getBreakpoints() { function computeIdx (line 319) | function computeIdx(hashCodeBig, len) { class HashBreakpointFunction (line 327) | class HashBreakpointFunction extends BreakpointFunction { method computeIdx (line 328) | computeIdx(hashCodeBig, len) { class DummyClass (line 333) | class DummyClass { method toString (line 334) | toString() { class NoneClass (line 339) | class NoneClass { method toString (line 342) | toString() { constant DUMMY (line 347) | const DUMMY = new DummyClass(); function isNone (line 350) | function isNone(o) { function isDummy (line 354) | function isDummy(o) { function EQ (line 358) | function EQ(o1, o2) { function signedToUnsigned (line 368) | function signedToUnsigned(num) { function computePerturb (line 376) | function computePerturb(hashCode) { function nextIdxPerturb (line 380) | function nextIdxPerturb(idx, perturb, size) { function perturbShift (line 387) | function perturbShift(perturb) { FILE: src/index.js constant CHAPTER_ID_TO_COMPONENT (line 7) | const CHAPTER_ID_TO_COMPONENT = { FILE: src/inputs.js class ParsableInputBase (line 32) | class ParsableInputBase extends React.Component { method constructor (line 33) | constructor(props) { method forceSetValue (line 47) | forceSetValue(value) { class ParsableInputBlock (line 77) | class ParsableInputBlock extends ParsableInputBase { method formatErrorMessage (line 103) | formatErrorMessage(e) { method render (line 134) | render() { method componentDidMount (line 173) | componentDidMount() { class ParsableInputInline (line 180) | class ParsableInputInline extends ParsableInputBase { method getDerivedStateFromProps (line 181) | static getDerivedStateFromProps(props, state) { method render (line 219) | render() { class ParsableInputInlineImpl (line 242) | class ParsableInputInlineImpl extends React.Component { method render (line 243) | render() { class ParsableInputAutogrowing (line 308) | class ParsableInputAutogrowing extends ParsableInputBase { method render (line 309) | render() { function ParsableInput (line 322) | function ParsableInput(props) { function PyListInput (line 336) | function PyListInput({inputComponentRef, extraValueValidator, allowDupli... function PyDictInput (line 347) | function PyDictInput({inputComponentRef, minSize, ...restProps}) { function _dumpStringOrNumOrNone (line 358) | function _dumpStringOrNumOrNone(obj) { function PyNumberInput (line 368) | function PyNumberInput({inputComponentRef, ...restProps}) { function PyStringInput (line 379) | function PyStringInput({inputComponentRef, ...restProps}) { function PyStringOrNumberInput (line 390) | function PyStringOrNumberInput({inputComponentRef, ...restProps}) { function PySNNInput (line 401) | function PySNNInput({inputComponentRef, ...restProps}) { class BlockInputToolbar (line 412) | class BlockInputToolbar extends React.Component { method constructor (line 416) | constructor() { method render (line 425) | render() { method updateHeight (line 451) | updateHeight() { method componentDidMount (line 460) | componentDidMount() { method componentDidUpdate (line 464) | componentDidUpdate() { class BlockInputToolbarImpl (line 469) | class BlockInputToolbarImpl extends React.Component { method constructor (line 470) | constructor() { method getDerivedStateFromProps (line 487) | static getDerivedStateFromProps(props, state) { method hackyPossibleWorkingDeepEqual (line 497) | hackyPossibleWorkingDeepEqual(o1, o2) { method _updateStack (line 519) | _updateStack(value) { method render (line 591) | render() { FILE: src/probing_visualization.js constant DEFAULT_PROBING_BOX_GEOMETRY (line 24) | const DEFAULT_PROBING_BOX_GEOMETRY = { constant SMALLER_PROBING_BOX_GEOMETRY (line 29) | const SMALLER_PROBING_BOX_GEOMETRY = { class ProbingVisualizationImpl (line 34) | class ProbingVisualizationImpl extends React.Component { method constructor (line 42) | constructor(props) { method shouldComponentUpdate (line 60) | shouldComponentUpdate(nextProps, nextState) { method render (line 87) | render() { method transitionEnd (line 126) | transitionEnd() { method d3render (line 139) | d3render() { method _initOrUpd (line 346) | _initOrUpd() { method componentDidUpdate (line 357) | componentDidUpdate() { method componentDidMount (line 361) | componentDidMount() { function selectProbingGeometry (line 366) | function selectProbingGeometry(windowWidth, windowHeight) { class ProbingStateVisualization (line 374) | class ProbingStateVisualization extends React.Component { method getExpectedHeight (line 375) | static getExpectedHeight() { method render (line 379) | render() { class ProbingVisualization (line 393) | class ProbingVisualization extends React.Component { method render (line 397) | render() { class GenerateProbingLinks (line 411) | class GenerateProbingLinks extends BreakpointFunction { method run (line 412) | run(_slotsCount, _key, algo) { FILE: src/py_obj_parsing.js class PyParsingError (line 5) | class PyParsingError extends Error { method constructor (line 6) | constructor(text, pos) { class PyObjParser (line 17) | class PyObjParser { method constructor (line 18) | constructor(literal) { method skipWhitespace (line 23) | skipWhitespace() { method current (line 29) | current() { method next (line 33) | next() { method isWhiteSpaceOrEol (line 37) | isWhiteSpaceOrEol(c) { method isCurrentWhitespaceOrEol (line 41) | isCurrentWhitespaceOrEol() { method consume (line 45) | consume(expectedChar) { method consumeWS (line 57) | consumeWS(expectedChar) { method throwErr (line 62) | throwErr(text, pos) { method _parseStringOrNumberOrNone (line 70) | _parseStringOrNumberOrNone(allowedSeparators, fromDict, allowNonesInEr... method _parseStringOrNumber (line 79) | _parseStringOrNumber(allowedSeparators, fromDict = true, allowNonesInE... method parseDict (line 105) | parseDict(minSize = null) { method parseList (line 137) | parseList(allowDuplicates = true, minSize = null, extraValueValidator) { method parseNumber (line 180) | parseNumber(allowedSeparators = '') { method parseString (line 217) | parseString() { method isNextNone (line 246) | isNextNone(allowedSeparators = '') { method _parseNoneOrThrowUnknownIdentifier (line 255) | _parseNoneOrThrowUnknownIdentifier(allowedSeparators) { method checkTrailingChars (line 265) | checkTrailingChars() { function _checkTrailingChars (line 273) | function _checkTrailingChars(parser, parseFunc) { function parsePyString (line 279) | function parsePyString(s) { function parsePyNumber (line 284) | function parsePyNumber(s) { function parsePyDict (line 289) | function parsePyDict(s, minSize = null) { function parsePyList (line 294) | function parsePyList(s, allowDuplicates = true, minSize = null, extraVal... function parsePyStringOrNumber (line 299) | function parsePyStringOrNumber(s) { function parsePyStringOrNumberOrNone (line 304) | function parsePyStringOrNumberOrNone(s) { function dumpSimplePyObj (line 311) | function dumpSimplePyObj(o) { function dumpPyList (line 321) | function dumpPyList(l) { function dumpPyDict (line 329) | function dumpPyDict(d) { FILE: src/util.js constant OLIVE (line 13) | const OLIVE = '#3D9970'; constant RED (line 14) | const RED = '#FF4136'; constant BLUE (line 15) | const BLUE = '#0074D9'; constant COLOR_FOR_READ_OPS (line 17) | const COLOR_FOR_READ_OPS = '#13920b'; function doubleRAF (line 19) | function doubleRAF(callback) { class CrossFade (line 25) | class CrossFade extends React.Component { method render (line 26) | render() { class DynamicP (line 39) | class DynamicP extends React.PureComponent { method constructor (line 43) | constructor() { method getDerivedStateFromProps (line 52) | static getDerivedStateFromProps(props, state) { method render (line 64) | render() { method componentDidUpdate (line 87) | componentDidUpdate() { method componentDidMount (line 97) | componentDidMount() { class DebounceWhenOutOfView (line 103) | class DebounceWhenOutOfView extends React.Component { method render (line 104) | render() { constant LEEWAY_Y (line 109) | const LEEWAY_Y = 100; class DebounceWhenOutOfViewImpl (line 110) | class DebounceWhenOutOfViewImpl extends React.Component { method constructor (line 113) | constructor() { method getDerivedStateFromProps (line 122) | static getDerivedStateFromProps(props, state) { method render (line 143) | render() { method componentDidUpdate (line 148) | componentDidUpdate() { method componentDidMount (line 153) | componentDidMount() { method updateGeometry (line 158) | updateGeometry() { method checkDebounceProps (line 186) | checkDebounceProps() { function linebreaks (line 196) | function linebreaks(s) { function MyFallbackComponent (line 203) | function MyFallbackComponent({componentStack, error}) { function MyErrorBoundary (line 217) | function MyErrorBoundary(props) { function squashUpdates (line 231) | function squashUpdates(func) { class ChapterComponent (line 247) | class ChapterComponent extends React.Component { method setter (line 250) | setter(name, throttled = false, incId = false) { function Subcontainerize (line 275) | function Subcontainerize({children}) { class BootstrapAlert (line 311) | class BootstrapAlert extends React.Component { method constructor (line 314) | constructor() { method render (line 328) | render() { function initUxSettings (line 369) | function initUxSettings() { function getUxSettings (line 452) | function getUxSettings() { function singularOrPlural (line 459) | function singularOrPlural(num, singular, plural) { function randint (line 463) | function randint(a, b) { function randomChoice (line 472) | function randomChoice(array) { function randomMeaningfulString (line 477) | function randomMeaningfulString() { constant LETTERS (line 481) | const LETTERS = 'abcdefghijklmnopqrstuvwxyz'; function randomString3len (line 483) | function randomString3len() { function fixFirstValues (line 491) | function fixFirstValues(func, values) { function isDefinedSmallBoxScreen (line 507) | function isDefinedSmallBoxScreen(windowWidth, windowHeight) { constant RANDOM_STRINGS (line 511) | const RANDOM_STRINGS = [