Copy disabled (too large)
Download .txt
Showing preview only (107,988K chars total). Download the full file to get everything.
Repository: gijit/gi
Branch: master
Commit: 7052cfb07ca8
Files: 14011
Total size: 178.3 MB
Directory structure:
gitextract_1l2cptxk/
├── .gitignore
├── LICENSE
├── Makefile
├── README.md
├── TAGS
├── cmd/
│ ├── gen_static_prelude/
│ │ └── prep.go
│ └── gijit_build/
│ └── tool.go
├── emacs/
│ ├── gijit.el
│ └── vlua.el
├── macos.sh
├── pkg/
│ ├── ast/
│ │ ├── ast.go
│ │ ├── ast_test.go
│ │ ├── commentmap.go
│ │ ├── commentmap_test.go
│ │ ├── example_test.go
│ │ ├── filter.go
│ │ ├── filter_test.go
│ │ ├── import.go
│ │ ├── print.go
│ │ ├── print_test.go
│ │ ├── resolve.go
│ │ ├── scope.go
│ │ └── walk.go
│ ├── compiler/
│ │ ├── .gitignore
│ │ ├── Makefile
│ │ ├── _bench/
│ │ │ ├── gonum.go
│ │ │ ├── matmul.gijit
│ │ │ ├── matmul.go.txt
│ │ │ ├── mul.go
│ │ │ ├── mul.lua
│ │ │ └── r
│ │ ├── _templates/
│ │ │ ├── defer.lua
│ │ │ ├── deferinit.lua
│ │ │ ├── diffs
│ │ │ ├── flow1.go.txt
│ │ │ ├── flow1.lua
│ │ │ ├── flow10.go.txt
│ │ │ ├── flow10.lua
│ │ │ ├── flow11.go.txt
│ │ │ ├── flow11.lua
│ │ │ ├── flow2.go.txt
│ │ │ ├── flow2.lua
│ │ │ ├── flow3.go.txt
│ │ │ ├── flow3.lua
│ │ │ ├── flow4.go.txt
│ │ │ ├── flow4.lua
│ │ │ ├── flow5.go.txt
│ │ │ ├── flow5.lua
│ │ │ ├── flow6.go.txt
│ │ │ ├── flow6.lua
│ │ │ ├── flow7.go.txt
│ │ │ ├── flow7.lua
│ │ │ ├── flow8.go.txt
│ │ │ ├── flow8.lua
│ │ │ ├── flow9.go.txt
│ │ │ ├── flow9.lua
│ │ │ ├── godefer.go
│ │ │ ├── godefer1_defer_panic_a_new_val.go.txt
│ │ │ ├── luadefer1_defer_panic_a_new_val.lua
│ │ │ ├── luadefer2_defer_error_a_new_val.lua
│ │ │ ├── new.defer.lua
│ │ │ ├── q.lua
│ │ │ ├── q2.lua
│ │ │ ├── r.lua
│ │ │ ├── recursive.xpcall.defer.lua
│ │ │ ├── repcall.lua
│ │ │ ├── rexp.lua
│ │ │ ├── s.lua
│ │ │ ├── test.lua
│ │ │ └── tests.in.go.summary
│ │ ├── allport/
│ │ │ ├── fin.lua
│ │ │ ├── full.lua
│ │ │ ├── half.lua
│ │ │ ├── lglob
│ │ │ ├── port.lua
│ │ │ └── tmp.js
│ │ ├── analysis/
│ │ │ ├── bool.go
│ │ │ ├── break.go
│ │ │ ├── escape.go
│ │ │ ├── info.go
│ │ │ └── sideeffect.go
│ │ ├── arr_test.go
│ │ ├── astutil/
│ │ │ └── astutil.go
│ │ ├── attic/
│ │ │ ├── array.lua
│ │ │ ├── bilbo.gi
│ │ │ ├── bilbo.go
│ │ │ ├── native_array.lua
│ │ │ ├── slice.lua
│ │ │ ├── struct.lua
│ │ │ └── wolf.gi
│ │ ├── build.go
│ │ ├── build_test.go
│ │ ├── calllua_test.go
│ │ ├── callzygo.go
│ │ ├── callzygo_test.go
│ │ ├── chan_test.go
│ │ ├── cmplex_test.go
│ │ ├── compiler.go
│ │ ├── conv_test.go
│ │ ├── cvrt_test.go
│ │ ├── debug.go
│ │ ├── defer_test.go
│ │ ├── depend.go
│ │ ├── depend_test.go
│ │ ├── exists.go
│ │ ├── expr_test.go
│ │ ├── expressions.go
│ │ ├── face_test.go
│ │ ├── filter/
│ │ │ ├── assign.go
│ │ │ └── incdecstmt.go
│ │ ├── fullpkg.go
│ │ ├── genshadow.go
│ │ ├── goro.go
│ │ ├── goro_test.go
│ │ ├── idchk.go
│ │ ├── imp.go
│ │ ├── imp_test.go
│ │ ├── import.go
│ │ ├── import_test.go
│ │ ├── incr.go
│ │ ├── label_test.go
│ │ ├── lj
│ │ ├── luaUtil.go
│ │ ├── lua_select_test.go
│ │ ├── luar_test.go
│ │ ├── mat_test.go
│ │ ├── natives/
│ │ │ ├── doc.go
│ │ │ ├── fs.go
│ │ │ ├── fs_vfsdata.go
│ │ │ └── src/
│ │ │ ├── bytes/
│ │ │ │ ├── bytes.go
│ │ │ │ └── bytes_test.go
│ │ │ ├── crypto/
│ │ │ │ ├── rand/
│ │ │ │ │ └── rand.go
│ │ │ │ └── x509/
│ │ │ │ ├── x509.go
│ │ │ │ └── x509_test.go
│ │ │ ├── database/
│ │ │ │ └── sql/
│ │ │ │ └── driver/
│ │ │ │ └── driver_test.go
│ │ │ ├── debug/
│ │ │ │ └── elf/
│ │ │ │ └── elf_test.go
│ │ │ ├── encoding/
│ │ │ │ ├── gob/
│ │ │ │ │ └── gob_test.go
│ │ │ │ └── json/
│ │ │ │ └── stream_test.go
│ │ │ ├── fmt/
│ │ │ │ └── fmt_test.go
│ │ │ ├── go/
│ │ │ │ └── token/
│ │ │ │ └── token_test.go
│ │ │ ├── internal/
│ │ │ │ ├── poll/
│ │ │ │ │ └── fd_poll_js.go
│ │ │ │ └── testenv/
│ │ │ │ └── testenv.go
│ │ │ ├── io/
│ │ │ │ └── io_test.go
│ │ │ ├── math/
│ │ │ │ ├── big/
│ │ │ │ │ ├── big.go
│ │ │ │ │ └── big_test.go
│ │ │ │ ├── math.go
│ │ │ │ ├── math_test.go
│ │ │ │ └── rand/
│ │ │ │ └── rand_test.go
│ │ │ ├── net/
│ │ │ │ ├── http/
│ │ │ │ │ ├── cookiejar/
│ │ │ │ │ │ └── example_test.go
│ │ │ │ │ ├── fetch.go
│ │ │ │ │ └── http.go
│ │ │ │ └── net.go
│ │ │ ├── os/
│ │ │ │ ├── os.go
│ │ │ │ └── signal/
│ │ │ │ └── signal.go
│ │ │ ├── reflect/
│ │ │ │ ├── example_test.go
│ │ │ │ ├── reflect.go
│ │ │ │ ├── reflect_test.go
│ │ │ │ └── swapper.go
│ │ │ ├── regexp/
│ │ │ │ └── regexp_test.go
│ │ │ ├── runtime/
│ │ │ │ ├── debug/
│ │ │ │ │ └── debug.go
│ │ │ │ ├── pprof/
│ │ │ │ │ └── pprof.go
│ │ │ │ └── runtime.go
│ │ │ ├── strings/
│ │ │ │ ├── strings.go
│ │ │ │ └── strings_test.go
│ │ │ ├── sync/
│ │ │ │ ├── atomic/
│ │ │ │ │ ├── atomic.go
│ │ │ │ │ └── atomic_test.go
│ │ │ │ ├── cond.go
│ │ │ │ ├── export_test.go
│ │ │ │ ├── pool.go
│ │ │ │ ├── sync.go
│ │ │ │ ├── sync_test.go
│ │ │ │ └── waitgroup.go
│ │ │ ├── syscall/
│ │ │ │ ├── syscall.go
│ │ │ │ ├── syscall_linux.go
│ │ │ │ ├── syscall_nonlinux.go
│ │ │ │ ├── syscall_unix.go
│ │ │ │ └── syscall_windows.go
│ │ │ ├── testing/
│ │ │ │ ├── example.go
│ │ │ │ ├── ioutil.go
│ │ │ │ └── testing.go
│ │ │ ├── text/
│ │ │ │ └── template/
│ │ │ │ └── template.go
│ │ │ ├── time/
│ │ │ │ └── time.go
│ │ │ └── unicode/
│ │ │ └── unicode.go
│ │ ├── newtyp_test.go
│ │ ├── package.go
│ │ ├── panicon.go
│ │ ├── prelude/
│ │ │ ├── __gijit_prelude
│ │ │ ├── absnow.lua
│ │ │ ├── chan.lua
│ │ │ ├── chan_test.lua
│ │ │ ├── complex.lua
│ │ │ ├── defer.lua
│ │ │ ├── dfs.lua
│ │ │ ├── int64.lua
│ │ │ ├── math.lua
│ │ │ ├── prelude.lua
│ │ │ ├── reflect_goro.lua
│ │ │ ├── rune.lua
│ │ │ ├── string.lua
│ │ │ ├── tsys.lua
│ │ │ ├── tsys_test.lua
│ │ │ ├── tutil.lua
│ │ │ ├── utf8.lua
│ │ │ ├── zgoro.lua
│ │ │ ├── zgoro_test.lua
│ │ │ └── zoneinfo/
│ │ │ ├── Africa/
│ │ │ │ ├── Abidjan
│ │ │ │ ├── Accra
│ │ │ │ ├── Addis_Ababa
│ │ │ │ ├── Algiers
│ │ │ │ ├── Asmara
│ │ │ │ ├── Asmera
│ │ │ │ ├── Bamako
│ │ │ │ ├── Bangui
│ │ │ │ ├── Banjul
│ │ │ │ ├── Bissau
│ │ │ │ ├── Blantyre
│ │ │ │ ├── Brazzaville
│ │ │ │ ├── Bujumbura
│ │ │ │ ├── Cairo
│ │ │ │ ├── Casablanca
│ │ │ │ ├── Ceuta
│ │ │ │ ├── Conakry
│ │ │ │ ├── Dakar
│ │ │ │ ├── Dar_es_Salaam
│ │ │ │ ├── Djibouti
│ │ │ │ ├── Douala
│ │ │ │ ├── El_Aaiun
│ │ │ │ ├── Freetown
│ │ │ │ ├── Gaborone
│ │ │ │ ├── Harare
│ │ │ │ ├── Johannesburg
│ │ │ │ ├── Juba
│ │ │ │ ├── Kampala
│ │ │ │ ├── Khartoum
│ │ │ │ ├── Kigali
│ │ │ │ ├── Kinshasa
│ │ │ │ ├── Lagos
│ │ │ │ ├── Libreville
│ │ │ │ ├── Lome
│ │ │ │ ├── Luanda
│ │ │ │ ├── Lubumbashi
│ │ │ │ ├── Lusaka
│ │ │ │ ├── Malabo
│ │ │ │ ├── Maputo
│ │ │ │ ├── Maseru
│ │ │ │ ├── Mbabane
│ │ │ │ ├── Mogadishu
│ │ │ │ ├── Monrovia
│ │ │ │ ├── Nairobi
│ │ │ │ ├── Ndjamena
│ │ │ │ ├── Niamey
│ │ │ │ ├── Nouakchott
│ │ │ │ ├── Ouagadougou
│ │ │ │ ├── Porto-Novo
│ │ │ │ ├── Sao_Tome
│ │ │ │ ├── Timbuktu
│ │ │ │ ├── Tripoli
│ │ │ │ ├── Tunis
│ │ │ │ └── Windhoek
│ │ │ ├── America/
│ │ │ │ ├── Adak
│ │ │ │ ├── Anchorage
│ │ │ │ ├── Anguilla
│ │ │ │ ├── Antigua
│ │ │ │ ├── Araguaina
│ │ │ │ ├── Argentina/
│ │ │ │ │ ├── Buenos_Aires
│ │ │ │ │ ├── Catamarca
│ │ │ │ │ ├── ComodRivadavia
│ │ │ │ │ ├── Cordoba
│ │ │ │ │ ├── Jujuy
│ │ │ │ │ ├── La_Rioja
│ │ │ │ │ ├── Mendoza
│ │ │ │ │ ├── Rio_Gallegos
│ │ │ │ │ ├── Salta
│ │ │ │ │ ├── San_Juan
│ │ │ │ │ ├── San_Luis
│ │ │ │ │ ├── Tucuman
│ │ │ │ │ └── Ushuaia
│ │ │ │ ├── Aruba
│ │ │ │ ├── Asuncion
│ │ │ │ ├── Atikokan
│ │ │ │ ├── Atka
│ │ │ │ ├── Bahia
│ │ │ │ ├── Bahia_Banderas
│ │ │ │ ├── Barbados
│ │ │ │ ├── Belem
│ │ │ │ ├── Belize
│ │ │ │ ├── Blanc-Sablon
│ │ │ │ ├── Boa_Vista
│ │ │ │ ├── Bogota
│ │ │ │ ├── Boise
│ │ │ │ ├── Buenos_Aires
│ │ │ │ ├── Cambridge_Bay
│ │ │ │ ├── Campo_Grande
│ │ │ │ ├── Cancun
│ │ │ │ ├── Caracas
│ │ │ │ ├── Catamarca
│ │ │ │ ├── Cayenne
│ │ │ │ ├── Cayman
│ │ │ │ ├── Chicago
│ │ │ │ ├── Chihuahua
│ │ │ │ ├── Coral_Harbour
│ │ │ │ ├── Cordoba
│ │ │ │ ├── Costa_Rica
│ │ │ │ ├── Creston
│ │ │ │ ├── Cuiaba
│ │ │ │ ├── Curacao
│ │ │ │ ├── Danmarkshavn
│ │ │ │ ├── Dawson
│ │ │ │ ├── Dawson_Creek
│ │ │ │ ├── Denver
│ │ │ │ ├── Detroit
│ │ │ │ ├── Dominica
│ │ │ │ ├── Edmonton
│ │ │ │ ├── Eirunepe
│ │ │ │ ├── El_Salvador
│ │ │ │ ├── Ensenada
│ │ │ │ ├── Fort_Nelson
│ │ │ │ ├── Fort_Wayne
│ │ │ │ ├── Fortaleza
│ │ │ │ ├── Glace_Bay
│ │ │ │ ├── Godthab
│ │ │ │ ├── Goose_Bay
│ │ │ │ ├── Grand_Turk
│ │ │ │ ├── Grenada
│ │ │ │ ├── Guadeloupe
│ │ │ │ ├── Guatemala
│ │ │ │ ├── Guayaquil
│ │ │ │ ├── Guyana
│ │ │ │ ├── Halifax
│ │ │ │ ├── Havana
│ │ │ │ ├── Hermosillo
│ │ │ │ ├── Indiana/
│ │ │ │ │ ├── Indianapolis
│ │ │ │ │ ├── Knox
│ │ │ │ │ ├── Marengo
│ │ │ │ │ ├── Petersburg
│ │ │ │ │ ├── Tell_City
│ │ │ │ │ ├── Vevay
│ │ │ │ │ ├── Vincennes
│ │ │ │ │ └── Winamac
│ │ │ │ ├── Indianapolis
│ │ │ │ ├── Inuvik
│ │ │ │ ├── Iqaluit
│ │ │ │ ├── Jamaica
│ │ │ │ ├── Jujuy
│ │ │ │ ├── Juneau
│ │ │ │ ├── Kentucky/
│ │ │ │ │ ├── Louisville
│ │ │ │ │ └── Monticello
│ │ │ │ ├── Knox_IN
│ │ │ │ ├── Kralendijk
│ │ │ │ ├── La_Paz
│ │ │ │ ├── Lima
│ │ │ │ ├── Los_Angeles
│ │ │ │ ├── Louisville
│ │ │ │ ├── Lower_Princes
│ │ │ │ ├── Maceio
│ │ │ │ ├── Managua
│ │ │ │ ├── Manaus
│ │ │ │ ├── Marigot
│ │ │ │ ├── Martinique
│ │ │ │ ├── Matamoros
│ │ │ │ ├── Mazatlan
│ │ │ │ ├── Mendoza
│ │ │ │ ├── Menominee
│ │ │ │ ├── Merida
│ │ │ │ ├── Metlakatla
│ │ │ │ ├── Mexico_City
│ │ │ │ ├── Miquelon
│ │ │ │ ├── Moncton
│ │ │ │ ├── Monterrey
│ │ │ │ ├── Montevideo
│ │ │ │ ├── Montreal
│ │ │ │ ├── Montserrat
│ │ │ │ ├── Nassau
│ │ │ │ ├── New_York
│ │ │ │ ├── Nipigon
│ │ │ │ ├── Nome
│ │ │ │ ├── Noronha
│ │ │ │ ├── North_Dakota/
│ │ │ │ │ ├── Beulah
│ │ │ │ │ ├── Center
│ │ │ │ │ └── New_Salem
│ │ │ │ ├── Ojinaga
│ │ │ │ ├── Panama
│ │ │ │ ├── Pangnirtung
│ │ │ │ ├── Paramaribo
│ │ │ │ ├── Phoenix
│ │ │ │ ├── Port-au-Prince
│ │ │ │ ├── Port_of_Spain
│ │ │ │ ├── Porto_Acre
│ │ │ │ ├── Porto_Velho
│ │ │ │ ├── Puerto_Rico
│ │ │ │ ├── Punta_Arenas
│ │ │ │ ├── Rainy_River
│ │ │ │ ├── Rankin_Inlet
│ │ │ │ ├── Recife
│ │ │ │ ├── Regina
│ │ │ │ ├── Resolute
│ │ │ │ ├── Rio_Branco
│ │ │ │ ├── Rosario
│ │ │ │ ├── Santa_Isabel
│ │ │ │ ├── Santarem
│ │ │ │ ├── Santiago
│ │ │ │ ├── Santo_Domingo
│ │ │ │ ├── Sao_Paulo
│ │ │ │ ├── Scoresbysund
│ │ │ │ ├── Shiprock
│ │ │ │ ├── Sitka
│ │ │ │ ├── St_Barthelemy
│ │ │ │ ├── St_Johns
│ │ │ │ ├── St_Kitts
│ │ │ │ ├── St_Lucia
│ │ │ │ ├── St_Thomas
│ │ │ │ ├── St_Vincent
│ │ │ │ ├── Swift_Current
│ │ │ │ ├── Tegucigalpa
│ │ │ │ ├── Thule
│ │ │ │ ├── Thunder_Bay
│ │ │ │ ├── Tijuana
│ │ │ │ ├── Toronto
│ │ │ │ ├── Tortola
│ │ │ │ ├── Vancouver
│ │ │ │ ├── Virgin
│ │ │ │ ├── Whitehorse
│ │ │ │ ├── Winnipeg
│ │ │ │ ├── Yakutat
│ │ │ │ └── Yellowknife
│ │ │ ├── Antarctica/
│ │ │ │ ├── Casey
│ │ │ │ ├── Davis
│ │ │ │ ├── DumontDUrville
│ │ │ │ ├── Macquarie
│ │ │ │ ├── Mawson
│ │ │ │ ├── McMurdo
│ │ │ │ ├── Palmer
│ │ │ │ ├── Rothera
│ │ │ │ ├── South_Pole
│ │ │ │ ├── Syowa
│ │ │ │ ├── Troll
│ │ │ │ └── Vostok
│ │ │ ├── Arctic/
│ │ │ │ └── Longyearbyen
│ │ │ ├── Asia/
│ │ │ │ ├── Aden
│ │ │ │ ├── Almaty
│ │ │ │ ├── Amman
│ │ │ │ ├── Anadyr
│ │ │ │ ├── Aqtau
│ │ │ │ ├── Aqtobe
│ │ │ │ ├── Ashgabat
│ │ │ │ ├── Ashkhabad
│ │ │ │ ├── Atyrau
│ │ │ │ ├── Baghdad
│ │ │ │ ├── Bahrain
│ │ │ │ ├── Baku
│ │ │ │ ├── Bangkok
│ │ │ │ ├── Barnaul
│ │ │ │ ├── Beirut
│ │ │ │ ├── Bishkek
│ │ │ │ ├── Brunei
│ │ │ │ ├── Calcutta
│ │ │ │ ├── Chita
│ │ │ │ ├── Choibalsan
│ │ │ │ ├── Chongqing
│ │ │ │ ├── Chungking
│ │ │ │ ├── Colombo
│ │ │ │ ├── Dacca
│ │ │ │ ├── Damascus
│ │ │ │ ├── Dhaka
│ │ │ │ ├── Dili
│ │ │ │ ├── Dubai
│ │ │ │ ├── Dushanbe
│ │ │ │ ├── Famagusta
│ │ │ │ ├── Gaza
│ │ │ │ ├── Harbin
│ │ │ │ ├── Hebron
│ │ │ │ ├── Ho_Chi_Minh
│ │ │ │ ├── Hong_Kong
│ │ │ │ ├── Hovd
│ │ │ │ ├── Irkutsk
│ │ │ │ ├── Istanbul
│ │ │ │ ├── Jakarta
│ │ │ │ ├── Jayapura
│ │ │ │ ├── Jerusalem
│ │ │ │ ├── Kabul
│ │ │ │ ├── Kamchatka
│ │ │ │ ├── Karachi
│ │ │ │ ├── Kashgar
│ │ │ │ ├── Kathmandu
│ │ │ │ ├── Katmandu
│ │ │ │ ├── Khandyga
│ │ │ │ ├── Kolkata
│ │ │ │ ├── Krasnoyarsk
│ │ │ │ ├── Kuala_Lumpur
│ │ │ │ ├── Kuching
│ │ │ │ ├── Kuwait
│ │ │ │ ├── Macao
│ │ │ │ ├── Macau
│ │ │ │ ├── Magadan
│ │ │ │ ├── Makassar
│ │ │ │ ├── Manila
│ │ │ │ ├── Muscat
│ │ │ │ ├── Nicosia
│ │ │ │ ├── Novokuznetsk
│ │ │ │ ├── Novosibirsk
│ │ │ │ ├── Omsk
│ │ │ │ ├── Oral
│ │ │ │ ├── Phnom_Penh
│ │ │ │ ├── Pontianak
│ │ │ │ ├── Pyongyang
│ │ │ │ ├── Qatar
│ │ │ │ ├── Qyzylorda
│ │ │ │ ├── Rangoon
│ │ │ │ ├── Riyadh
│ │ │ │ ├── Saigon
│ │ │ │ ├── Sakhalin
│ │ │ │ ├── Samarkand
│ │ │ │ ├── Seoul
│ │ │ │ ├── Shanghai
│ │ │ │ ├── Singapore
│ │ │ │ ├── Srednekolymsk
│ │ │ │ ├── Taipei
│ │ │ │ ├── Tashkent
│ │ │ │ ├── Tbilisi
│ │ │ │ ├── Tehran
│ │ │ │ ├── Tel_Aviv
│ │ │ │ ├── Thimbu
│ │ │ │ ├── Thimphu
│ │ │ │ ├── Tokyo
│ │ │ │ ├── Tomsk
│ │ │ │ ├── Ujung_Pandang
│ │ │ │ ├── Ulaanbaatar
│ │ │ │ ├── Ulan_Bator
│ │ │ │ ├── Urumqi
│ │ │ │ ├── Ust-Nera
│ │ │ │ ├── Vientiane
│ │ │ │ ├── Vladivostok
│ │ │ │ ├── Yakutsk
│ │ │ │ ├── Yangon
│ │ │ │ ├── Yekaterinburg
│ │ │ │ └── Yerevan
│ │ │ ├── Atlantic/
│ │ │ │ ├── Azores
│ │ │ │ ├── Bermuda
│ │ │ │ ├── Canary
│ │ │ │ ├── Cape_Verde
│ │ │ │ ├── Faeroe
│ │ │ │ ├── Faroe
│ │ │ │ ├── Jan_Mayen
│ │ │ │ ├── Madeira
│ │ │ │ ├── Reykjavik
│ │ │ │ ├── South_Georgia
│ │ │ │ ├── St_Helena
│ │ │ │ └── Stanley
│ │ │ ├── Australia/
│ │ │ │ ├── ACT
│ │ │ │ ├── Adelaide
│ │ │ │ ├── Brisbane
│ │ │ │ ├── Broken_Hill
│ │ │ │ ├── Canberra
│ │ │ │ ├── Currie
│ │ │ │ ├── Darwin
│ │ │ │ ├── Eucla
│ │ │ │ ├── Hobart
│ │ │ │ ├── LHI
│ │ │ │ ├── Lindeman
│ │ │ │ ├── Lord_Howe
│ │ │ │ ├── Melbourne
│ │ │ │ ├── NSW
│ │ │ │ ├── North
│ │ │ │ ├── Perth
│ │ │ │ ├── Queensland
│ │ │ │ ├── South
│ │ │ │ ├── Sydney
│ │ │ │ ├── Tasmania
│ │ │ │ ├── Victoria
│ │ │ │ ├── West
│ │ │ │ └── Yancowinna
│ │ │ ├── Brazil/
│ │ │ │ ├── Acre
│ │ │ │ ├── DeNoronha
│ │ │ │ ├── East
│ │ │ │ └── West
│ │ │ ├── CET
│ │ │ ├── CST6CDT
│ │ │ ├── Canada/
│ │ │ │ ├── Atlantic
│ │ │ │ ├── Central
│ │ │ │ ├── East-Saskatchewan
│ │ │ │ ├── Eastern
│ │ │ │ ├── Mountain
│ │ │ │ ├── Newfoundland
│ │ │ │ ├── Pacific
│ │ │ │ ├── Saskatchewan
│ │ │ │ └── Yukon
│ │ │ ├── Chile/
│ │ │ │ ├── Continental
│ │ │ │ └── EasterIsland
│ │ │ ├── Cuba
│ │ │ ├── EET
│ │ │ ├── EST
│ │ │ ├── EST5EDT
│ │ │ ├── Egypt
│ │ │ ├── Eire
│ │ │ ├── Etc/
│ │ │ │ ├── GMT
│ │ │ │ ├── GMT+0
│ │ │ │ ├── GMT+1
│ │ │ │ ├── GMT+10
│ │ │ │ ├── GMT+11
│ │ │ │ ├── GMT+12
│ │ │ │ ├── GMT+2
│ │ │ │ ├── GMT+3
│ │ │ │ ├── GMT+4
│ │ │ │ ├── GMT+5
│ │ │ │ ├── GMT+6
│ │ │ │ ├── GMT+7
│ │ │ │ ├── GMT+8
│ │ │ │ ├── GMT+9
│ │ │ │ ├── GMT-0
│ │ │ │ ├── GMT-1
│ │ │ │ ├── GMT-10
│ │ │ │ ├── GMT-11
│ │ │ │ ├── GMT-12
│ │ │ │ ├── GMT-13
│ │ │ │ ├── GMT-14
│ │ │ │ ├── GMT-2
│ │ │ │ ├── GMT-3
│ │ │ │ ├── GMT-4
│ │ │ │ ├── GMT-5
│ │ │ │ ├── GMT-6
│ │ │ │ ├── GMT-7
│ │ │ │ ├── GMT-8
│ │ │ │ ├── GMT-9
│ │ │ │ ├── GMT0
│ │ │ │ ├── Greenwich
│ │ │ │ ├── UCT
│ │ │ │ ├── UTC
│ │ │ │ ├── Universal
│ │ │ │ └── Zulu
│ │ │ ├── Europe/
│ │ │ │ ├── Amsterdam
│ │ │ │ ├── Andorra
│ │ │ │ ├── Astrakhan
│ │ │ │ ├── Athens
│ │ │ │ ├── Belfast
│ │ │ │ ├── Belgrade
│ │ │ │ ├── Berlin
│ │ │ │ ├── Bratislava
│ │ │ │ ├── Brussels
│ │ │ │ ├── Bucharest
│ │ │ │ ├── Budapest
│ │ │ │ ├── Busingen
│ │ │ │ ├── Chisinau
│ │ │ │ ├── Copenhagen
│ │ │ │ ├── Dublin
│ │ │ │ ├── Gibraltar
│ │ │ │ ├── Guernsey
│ │ │ │ ├── Helsinki
│ │ │ │ ├── Isle_of_Man
│ │ │ │ ├── Istanbul
│ │ │ │ ├── Jersey
│ │ │ │ ├── Kaliningrad
│ │ │ │ ├── Kiev
│ │ │ │ ├── Kirov
│ │ │ │ ├── Lisbon
│ │ │ │ ├── Ljubljana
│ │ │ │ ├── London
│ │ │ │ ├── Luxembourg
│ │ │ │ ├── Madrid
│ │ │ │ ├── Malta
│ │ │ │ ├── Mariehamn
│ │ │ │ ├── Minsk
│ │ │ │ ├── Monaco
│ │ │ │ ├── Moscow
│ │ │ │ ├── Nicosia
│ │ │ │ ├── Oslo
│ │ │ │ ├── Paris
│ │ │ │ ├── Podgorica
│ │ │ │ ├── Prague
│ │ │ │ ├── Riga
│ │ │ │ ├── Rome
│ │ │ │ ├── Samara
│ │ │ │ ├── San_Marino
│ │ │ │ ├── Sarajevo
│ │ │ │ ├── Saratov
│ │ │ │ ├── Simferopol
│ │ │ │ ├── Skopje
│ │ │ │ ├── Sofia
│ │ │ │ ├── Stockholm
│ │ │ │ ├── Tallinn
│ │ │ │ ├── Tirane
│ │ │ │ ├── Tiraspol
│ │ │ │ ├── Ulyanovsk
│ │ │ │ ├── Uzhgorod
│ │ │ │ ├── Vaduz
│ │ │ │ ├── Vatican
│ │ │ │ ├── Vienna
│ │ │ │ ├── Vilnius
│ │ │ │ ├── Volgograd
│ │ │ │ ├── Warsaw
│ │ │ │ ├── Zagreb
│ │ │ │ ├── Zaporozhye
│ │ │ │ └── Zurich
│ │ │ ├── Factory
│ │ │ ├── GB
│ │ │ ├── GB-Eire
│ │ │ ├── GMT
│ │ │ ├── GMT+0
│ │ │ ├── GMT-0
│ │ │ ├── GMT0
│ │ │ ├── Greenwich
│ │ │ ├── HST
│ │ │ ├── Hongkong
│ │ │ ├── Iceland
│ │ │ ├── Indian/
│ │ │ │ ├── Antananarivo
│ │ │ │ ├── Chagos
│ │ │ │ ├── Christmas
│ │ │ │ ├── Cocos
│ │ │ │ ├── Comoro
│ │ │ │ ├── Kerguelen
│ │ │ │ ├── Mahe
│ │ │ │ ├── Maldives
│ │ │ │ ├── Mauritius
│ │ │ │ ├── Mayotte
│ │ │ │ └── Reunion
│ │ │ ├── Iran
│ │ │ ├── Israel
│ │ │ ├── Jamaica
│ │ │ ├── Japan
│ │ │ ├── Kwajalein
│ │ │ ├── Libya
│ │ │ ├── MET
│ │ │ ├── MST
│ │ │ ├── MST7MDT
│ │ │ ├── Mexico/
│ │ │ │ ├── BajaNorte
│ │ │ │ ├── BajaSur
│ │ │ │ └── General
│ │ │ ├── NZ
│ │ │ ├── NZ-CHAT
│ │ │ ├── Navajo
│ │ │ ├── PRC
│ │ │ ├── PST8PDT
│ │ │ ├── Pacific/
│ │ │ │ ├── Apia
│ │ │ │ ├── Auckland
│ │ │ │ ├── Bougainville
│ │ │ │ ├── Chatham
│ │ │ │ ├── Chuuk
│ │ │ │ ├── Easter
│ │ │ │ ├── Efate
│ │ │ │ ├── Enderbury
│ │ │ │ ├── Fakaofo
│ │ │ │ ├── Fiji
│ │ │ │ ├── Funafuti
│ │ │ │ ├── Galapagos
│ │ │ │ ├── Gambier
│ │ │ │ ├── Guadalcanal
│ │ │ │ ├── Guam
│ │ │ │ ├── Honolulu
│ │ │ │ ├── Johnston
│ │ │ │ ├── Kiritimati
│ │ │ │ ├── Kosrae
│ │ │ │ ├── Kwajalein
│ │ │ │ ├── Majuro
│ │ │ │ ├── Marquesas
│ │ │ │ ├── Midway
│ │ │ │ ├── Nauru
│ │ │ │ ├── Niue
│ │ │ │ ├── Norfolk
│ │ │ │ ├── Noumea
│ │ │ │ ├── Pago_Pago
│ │ │ │ ├── Palau
│ │ │ │ ├── Pitcairn
│ │ │ │ ├── Pohnpei
│ │ │ │ ├── Ponape
│ │ │ │ ├── Port_Moresby
│ │ │ │ ├── Rarotonga
│ │ │ │ ├── Saipan
│ │ │ │ ├── Samoa
│ │ │ │ ├── Tahiti
│ │ │ │ ├── Tarawa
│ │ │ │ ├── Tongatapu
│ │ │ │ ├── Truk
│ │ │ │ ├── Wake
│ │ │ │ ├── Wallis
│ │ │ │ └── Yap
│ │ │ ├── Poland
│ │ │ ├── Portugal
│ │ │ ├── ROC
│ │ │ ├── ROK
│ │ │ ├── Singapore
│ │ │ ├── Turkey
│ │ │ ├── UCT
│ │ │ ├── US/
│ │ │ │ ├── Alaska
│ │ │ │ ├── Aleutian
│ │ │ │ ├── Arizona
│ │ │ │ ├── Central
│ │ │ │ ├── East-Indiana
│ │ │ │ ├── Eastern
│ │ │ │ ├── Hawaii
│ │ │ │ ├── Indiana-Starke
│ │ │ │ ├── Michigan
│ │ │ │ ├── Mountain
│ │ │ │ ├── Pacific
│ │ │ │ ├── Pacific-New
│ │ │ │ └── Samoa
│ │ │ ├── UTC
│ │ │ ├── Universal
│ │ │ ├── W-SU
│ │ │ ├── WET
│ │ │ └── Zulu
│ │ ├── prelude_js/
│ │ │ ├── goroutines.go
│ │ │ ├── jsmapping.go
│ │ │ ├── numeric.go
│ │ │ ├── prelude.go
│ │ │ └── types.go
│ │ ├── prelude_lua/
│ │ │ ├── Makefile
│ │ │ └── prelude.go
│ │ ├── prelude_static.go
│ │ ├── ptr_test.go
│ │ ├── recov.go.test.txt
│ │ ├── redef_test.go
│ │ ├── reflect_test.go
│ │ ├── repl_cfg.go
│ │ ├── repl_liner.go
│ │ ├── repl_luajit.go
│ │ ├── repl_test.go
│ │ ├── repl_util.go
│ │ ├── roar/
│ │ │ └── vprint.go
│ │ ├── rtyp.go
│ │ ├── select_test.go
│ │ ├── shadow/
│ │ │ ├── bytes/
│ │ │ │ └── bytes.genimp.go
│ │ │ ├── encoding/
│ │ │ │ ├── binary/
│ │ │ │ │ └── binary.genimp.go
│ │ │ │ └── encoding.genimp.go
│ │ │ ├── errors/
│ │ │ │ └── errors.genimp.go
│ │ │ ├── fmt/
│ │ │ │ └── fmt.genimp.go
│ │ │ ├── gonum.org/
│ │ │ │ └── v1/
│ │ │ │ └── gonum/
│ │ │ │ ├── blas/
│ │ │ │ │ └── blas.genimp.go
│ │ │ │ ├── diff/
│ │ │ │ │ └── fd/
│ │ │ │ │ └── fd.genimp.go
│ │ │ │ ├── floats/
│ │ │ │ │ └── floats.genimp.go
│ │ │ │ ├── graph/
│ │ │ │ │ └── graph.genimp.go
│ │ │ │ ├── integrate/
│ │ │ │ │ └── integrate.genimp.go
│ │ │ │ ├── lapack/
│ │ │ │ │ └── lapack.genimp.go
│ │ │ │ ├── mat/
│ │ │ │ │ └── mat.genimp.go
│ │ │ │ ├── optimize/
│ │ │ │ │ └── optimize.genimp.go
│ │ │ │ ├── stat/
│ │ │ │ │ └── stat.genimp.go
│ │ │ │ └── unit/
│ │ │ │ └── unit.genimp.go
│ │ │ ├── io/
│ │ │ │ ├── io.genimp.go
│ │ │ │ └── ioutil/
│ │ │ │ └── ioutil.genimp.go
│ │ │ ├── math/
│ │ │ │ ├── math.genimp.go
│ │ │ │ └── rand/
│ │ │ │ └── rand.genimp.go
│ │ │ ├── os/
│ │ │ │ └── os.genimp.go
│ │ │ ├── reflect/
│ │ │ │ └── reflect.genimp.go
│ │ │ ├── regexp/
│ │ │ │ └── regexp.genimp.go
│ │ │ ├── runtime/
│ │ │ │ ├── debug/
│ │ │ │ │ └── debug.genimp.go
│ │ │ │ └── runtime.genimp.go
│ │ │ ├── strconv/
│ │ │ │ └── strconv.genimp.go
│ │ │ ├── strings/
│ │ │ │ └── strings.genimp.go
│ │ │ ├── sync/
│ │ │ │ ├── atomic/
│ │ │ │ │ └── atomic.genimp.go
│ │ │ │ └── sync.genimp.go
│ │ │ └── time/
│ │ │ └── time.genimp.go
│ │ ├── slc_test.go
│ │ ├── source.go
│ │ ├── spkg_tst/
│ │ │ └── spkg.go
│ │ ├── spkg_tst2/
│ │ │ └── vprint.go
│ │ ├── spkg_tst3/
│ │ │ └── errors.go
│ │ ├── spkg_tst4/
│ │ │ └── rbuf.go
│ │ ├── spkg_tst5/
│ │ │ ├── api.go
│ │ │ └── panicon.go
│ │ ├── statements.go
│ │ ├── struct_test.go
│ │ ├── time_test.go
│ │ ├── translate.go
│ │ ├── typesutil/
│ │ │ └── typesutil.go
│ │ ├── utf8_test.go
│ │ ├── utils.go
│ │ ├── version.go
│ │ ├── version_check.go
│ │ └── view_test.go
│ ├── constant/
│ │ ├── value.go
│ │ └── value_test.go
│ ├── doc/
│ │ ├── Makefile
│ │ ├── comment.go
│ │ ├── comment_test.go
│ │ ├── doc.go
│ │ ├── doc_test.go
│ │ ├── example.go
│ │ ├── example_test.go
│ │ ├── exports.go
│ │ ├── filter.go
│ │ ├── headscan.go
│ │ ├── reader.go
│ │ ├── synopsis.go
│ │ ├── synopsis_test.go
│ │ └── testdata/
│ │ ├── a.0.golden
│ │ ├── a.1.golden
│ │ ├── a.2.golden
│ │ ├── a0.go
│ │ ├── a1.go
│ │ ├── b.0.golden
│ │ ├── b.1.golden
│ │ ├── b.2.golden
│ │ ├── b.go
│ │ ├── benchmark.go
│ │ ├── blank.0.golden
│ │ ├── blank.1.golden
│ │ ├── blank.2.golden
│ │ ├── blank.go
│ │ ├── bugpara.0.golden
│ │ ├── bugpara.1.golden
│ │ ├── bugpara.2.golden
│ │ ├── bugpara.go
│ │ ├── c.0.golden
│ │ ├── c.1.golden
│ │ ├── c.2.golden
│ │ ├── c.go
│ │ ├── d.0.golden
│ │ ├── d.1.golden
│ │ ├── d.2.golden
│ │ ├── d1.go
│ │ ├── d2.go
│ │ ├── e.0.golden
│ │ ├── e.1.golden
│ │ ├── e.2.golden
│ │ ├── e.go
│ │ ├── error1.0.golden
│ │ ├── error1.1.golden
│ │ ├── error1.2.golden
│ │ ├── error1.go
│ │ ├── error2.0.golden
│ │ ├── error2.1.golden
│ │ ├── error2.2.golden
│ │ ├── error2.go
│ │ ├── example.go
│ │ ├── f.0.golden
│ │ ├── f.1.golden
│ │ ├── f.2.golden
│ │ ├── f.go
│ │ ├── issue13742.0.golden
│ │ ├── issue13742.1.golden
│ │ ├── issue13742.2.golden
│ │ ├── issue13742.go
│ │ ├── issue16153.0.golden
│ │ ├── issue16153.1.golden
│ │ ├── issue16153.2.golden
│ │ ├── issue16153.go
│ │ ├── issue17788.0.golden
│ │ ├── issue17788.1.golden
│ │ ├── issue17788.2.golden
│ │ ├── issue17788.go
│ │ ├── issue18063.0.golden
│ │ ├── issue18063.1.golden
│ │ ├── issue18063.2.golden
│ │ ├── issue18063.go
│ │ ├── predeclared.0.golden
│ │ ├── predeclared.1.golden
│ │ ├── predeclared.2.golden
│ │ ├── predeclared.go
│ │ ├── template.txt
│ │ ├── testing.0.golden
│ │ ├── testing.1.golden
│ │ ├── testing.2.golden
│ │ └── testing.go
│ ├── format/
│ │ ├── format.go
│ │ ├── format_test.go
│ │ └── internal.go
│ ├── front/
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── dumper.go
│ │ ├── error.go
│ │ ├── front.go
│ │ ├── front_test.go
│ │ ├── nodes.go
│ │ ├── panicon.go
│ │ ├── parser.go
│ │ ├── pos.go
│ │ ├── printer.go
│ │ ├── scanner.go
│ │ ├── source.go
│ │ ├── syntax.go
│ │ ├── tokens.go
│ │ ├── vprint.go
│ │ └── xpos.go
│ ├── gostd/
│ │ ├── build/
│ │ │ ├── build.go
│ │ │ ├── build_test.go
│ │ │ ├── deps_test.go
│ │ │ ├── doc.go
│ │ │ ├── read.go
│ │ │ ├── read_test.go
│ │ │ ├── syslist.go
│ │ │ ├── syslist_test.go
│ │ │ └── testdata/
│ │ │ ├── empty/
│ │ │ │ └── dummy
│ │ │ ├── multi/
│ │ │ │ ├── file.go
│ │ │ │ └── file_appengine.go
│ │ │ └── other/
│ │ │ ├── file/
│ │ │ │ └── file.go
│ │ │ └── main.go
│ │ └── parser/
│ │ ├── interface.go
│ │ └── parser.go
│ ├── importer/
│ │ ├── importer.go
│ │ └── importer_test.go
│ ├── luaapi/
│ │ └── luaapi.go
│ ├── muse/
│ │ ├── muse.go
│ │ ├── muse_test.go
│ │ ├── panicon.go
│ │ └── util.go
│ ├── nosync/
│ │ ├── map.go
│ │ ├── mutex.go
│ │ ├── once.go
│ │ └── pool.go
│ ├── parser/
│ │ ├── error_test.go
│ │ ├── example_test.go
│ │ ├── interface.go
│ │ ├── parser.go
│ │ ├── parser_test.go
│ │ ├── performance_test.go
│ │ ├── short_test.go
│ │ └── testdata/
│ │ ├── commas.src
│ │ └── issue3106.src
│ ├── printer/
│ │ ├── example_test.go
│ │ ├── nodes.go
│ │ ├── performance_test.go
│ │ ├── printer.go
│ │ ├── printer_test.go
│ │ └── testdata/
│ │ ├── comments.golden
│ │ ├── comments.input
│ │ ├── comments.x
│ │ ├── comments2.golden
│ │ ├── comments2.input
│ │ ├── declarations.golden
│ │ ├── declarations.input
│ │ ├── empty.golden
│ │ ├── empty.input
│ │ ├── expressions.golden
│ │ ├── expressions.input
│ │ ├── expressions.raw
│ │ ├── linebreaks.golden
│ │ ├── linebreaks.input
│ │ ├── parser.go
│ │ ├── slow.golden
│ │ ├── slow.input
│ │ ├── statements.golden
│ │ └── statements.input
│ ├── priv/
│ │ ├── gccgoimporter/
│ │ │ ├── gccgoinstallation.go
│ │ │ ├── gccgoinstallation_test.go
│ │ │ ├── importer.go
│ │ │ ├── importer_test.go
│ │ │ ├── parser.go
│ │ │ ├── parser_test.go
│ │ │ └── testdata/
│ │ │ ├── alias.gox
│ │ │ ├── complexnums.go
│ │ │ ├── complexnums.gox
│ │ │ ├── conversions.go
│ │ │ ├── conversions.gox
│ │ │ ├── imports.go
│ │ │ ├── imports.gox
│ │ │ ├── pointer.go
│ │ │ ├── pointer.gox
│ │ │ ├── time.gox
│ │ │ └── unicode.gox
│ │ ├── gcimporter/
│ │ │ ├── bimport.go
│ │ │ ├── exportdata.go
│ │ │ ├── gcimporter.go
│ │ │ ├── gcimporter_test.go
│ │ │ └── testdata/
│ │ │ ├── a.go
│ │ │ ├── b.go
│ │ │ ├── exports.go
│ │ │ ├── issue15920.go
│ │ │ ├── issue20046.go
│ │ │ ├── p.go
│ │ │ └── versions/
│ │ │ ├── test.go
│ │ │ ├── test_go1.7_0.a
│ │ │ ├── test_go1.7_1.a
│ │ │ ├── test_go1.8_4.a
│ │ │ └── test_go1.8_5.a
│ │ ├── srcimporter/
│ │ │ ├── srcimporter.go
│ │ │ ├── srcimporter_test.go
│ │ │ └── testdata/
│ │ │ └── issue20855/
│ │ │ └── issue20855.go
│ │ └── testenv/
│ │ ├── testenv.go
│ │ ├── testenv_cgo.go
│ │ ├── testenv_notwin.go
│ │ └── testenv_windows.go
│ ├── scanner/
│ │ ├── errors.go
│ │ ├── example_test.go
│ │ ├── scanner.go
│ │ └── scanner_test.go
│ ├── token/
│ │ ├── position.go
│ │ ├── position_test.go
│ │ ├── serialize.go
│ │ ├── serialize_test.go
│ │ └── token.go
│ ├── types/
│ │ ├── api.go
│ │ ├── api_test.go
│ │ ├── assignments.go
│ │ ├── builtins.go
│ │ ├── builtins_test.go
│ │ ├── call.go
│ │ ├── check.go
│ │ ├── check_test.go
│ │ ├── conversions.go
│ │ ├── decl.go
│ │ ├── errors.go
│ │ ├── eval.go
│ │ ├── eval_test.go
│ │ ├── example_test.go
│ │ ├── expr.go
│ │ ├── exprstring.go
│ │ ├── exprstring_test.go
│ │ ├── gotype.go
│ │ ├── hilbert_test.go
│ │ ├── initorder.go
│ │ ├── issues_test.go
│ │ ├── labels.go
│ │ ├── lookup.go
│ │ ├── methodset.go
│ │ ├── object.go
│ │ ├── object_test.go
│ │ ├── objset.go
│ │ ├── operand.go
│ │ ├── ordering.go
│ │ ├── package.go
│ │ ├── predicates.go
│ │ ├── resolver.go
│ │ ├── resolver_test.go
│ │ ├── return.go
│ │ ├── scope.go
│ │ ├── selection.go
│ │ ├── self_test.go
│ │ ├── sizes.go
│ │ ├── sizes_test.go
│ │ ├── stdlib_test.go
│ │ ├── stmt.go
│ │ ├── testdata/
│ │ │ ├── blank.src
│ │ │ ├── builtins.src
│ │ │ ├── const0.src
│ │ │ ├── const1.src
│ │ │ ├── constdecl.src
│ │ │ ├── conversions.src
│ │ │ ├── conversions2.src
│ │ │ ├── cycles.src
│ │ │ ├── cycles1.src
│ │ │ ├── cycles2.src
│ │ │ ├── cycles3.src
│ │ │ ├── cycles4.src
│ │ │ ├── decls0.src
│ │ │ ├── decls1.src
│ │ │ ├── decls2a.src
│ │ │ ├── decls2b.src
│ │ │ ├── decls3.src
│ │ │ ├── decls4.src
│ │ │ ├── decls5.src
│ │ │ ├── errors.src
│ │ │ ├── expr0.src
│ │ │ ├── expr1.src
│ │ │ ├── expr2.src
│ │ │ ├── expr3.src
│ │ │ ├── gotos.src
│ │ │ ├── importC.src
│ │ │ ├── importdecl0a.src
│ │ │ ├── importdecl0b.src
│ │ │ ├── importdecl1a.src
│ │ │ ├── importdecl1b.src
│ │ │ ├── init0.src
│ │ │ ├── init1.src
│ │ │ ├── init2.src
│ │ │ ├── issues.src
│ │ │ ├── labels.src
│ │ │ ├── methodsets.src
│ │ │ ├── shifts.src
│ │ │ ├── stmt0.src
│ │ │ ├── stmt1.src
│ │ │ └── vardecl.src
│ │ ├── token_test.go
│ │ ├── type.go
│ │ ├── typestring.go
│ │ ├── typestring_test.go
│ │ ├── typexpr.go
│ │ └── universe.go
│ ├── utf8/
│ │ ├── utf8.go
│ │ └── utf8.lua
│ └── verb/
│ └── vprint.go
├── posix.sh
├── vendor/
│ ├── github.com/
│ │ ├── LuaJIT/
│ │ │ └── LuaJIT/
│ │ │ ├── .gitignore
│ │ │ ├── COPYRIGHT
│ │ │ ├── Makefile
│ │ │ ├── README
│ │ │ ├── doc/
│ │ │ │ ├── bluequad-print.css
│ │ │ │ ├── bluequad.css
│ │ │ │ ├── changes.html
│ │ │ │ ├── contact.html
│ │ │ │ ├── ext_c_api.html
│ │ │ │ ├── ext_ffi.html
│ │ │ │ ├── ext_ffi_api.html
│ │ │ │ ├── ext_ffi_semantics.html
│ │ │ │ ├── ext_ffi_tutorial.html
│ │ │ │ ├── ext_jit.html
│ │ │ │ ├── ext_profiler.html
│ │ │ │ ├── extensions.html
│ │ │ │ ├── faq.html
│ │ │ │ ├── install.html
│ │ │ │ ├── luajit.html
│ │ │ │ ├── running.html
│ │ │ │ └── status.html
│ │ │ ├── dot.git/
│ │ │ │ ├── COMMIT_EDITMSG
│ │ │ │ ├── FETCH_HEAD
│ │ │ │ ├── HEAD
│ │ │ │ ├── ORIG_HEAD
│ │ │ │ ├── config
│ │ │ │ ├── description
│ │ │ │ ├── hooks/
│ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ ├── post-update.sample
│ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ └── update.sample
│ │ │ │ ├── index
│ │ │ │ ├── info/
│ │ │ │ │ └── exclude
│ │ │ │ ├── logs/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ ├── gijit-on-v21
│ │ │ │ │ │ ├── master
│ │ │ │ │ │ └── v2.1
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── master
│ │ │ │ │ ├── v2.0
│ │ │ │ │ └── v2.1
│ │ │ │ ├── objects/
│ │ │ │ │ ├── 03/
│ │ │ │ │ │ └── cd5aa749c1bc3bb4b7d4289236b6096cb3dc85
│ │ │ │ │ ├── 04/
│ │ │ │ │ │ └── 6129dbdda5261c1b17469a2895a113d14c070a
│ │ │ │ │ ├── 08/
│ │ │ │ │ │ └── f386500b43aa84a9bcd66cad8e7b86e9aa630c
│ │ │ │ │ ├── 0a/
│ │ │ │ │ │ └── 3f8e52757773619f8839f2c38d74aa8cd6fe95
│ │ │ │ │ ├── 0b/
│ │ │ │ │ │ └── f46e1edf94c43795b5e491efe682ab70974ce7
│ │ │ │ │ ├── 0e/
│ │ │ │ │ │ └── 18dc5feefc1aac29dd55cda5fb6e0beca24abe
│ │ │ │ │ ├── 13/
│ │ │ │ │ │ └── a1ded7ce8b6a7858ee2ecd6dca972935cd9063
│ │ │ │ │ ├── 16/
│ │ │ │ │ │ └── 2163a2474668cd784b7073c5df3b638fa75b4a
│ │ │ │ │ ├── 19/
│ │ │ │ │ │ ├── 9cfc9a43024e0759cf0ef574d9d6641182d10b
│ │ │ │ │ │ └── f632ffea8bc5eb9461afc98131ecc73675dff5
│ │ │ │ │ ├── 1c/
│ │ │ │ │ │ ├── 050eba2fa7571d772f756a1af506a31d2c4ce2
│ │ │ │ │ │ └── 5ce010c6f94e370ef7f0b67362f75e61712c50
│ │ │ │ │ ├── 1d/
│ │ │ │ │ │ └── 404ccdb7cb90989f021ad514b6b8c1c9988093
│ │ │ │ │ ├── 26/
│ │ │ │ │ │ └── 9ab05d5459262ae0cbb095e7a218548621d9b7
│ │ │ │ │ ├── 27/
│ │ │ │ │ │ └── c8e02729cbe27382f68aeaca89331906b0351e
│ │ │ │ │ ├── 29/
│ │ │ │ │ │ └── 86e78adc707df585ad7aabb97b1a759c3ddf87
│ │ │ │ │ ├── 2b/
│ │ │ │ │ │ └── 6571b2f1a55514da439060812421d286ef6c0f
│ │ │ │ │ ├── 2e/
│ │ │ │ │ │ └── 97dc133d0c48ca7e5181c681a0283a24df264c
│ │ │ │ │ ├── 37/
│ │ │ │ │ │ └── cf072c3c91a671f1ca3bedff1ff3394cdd59cb
│ │ │ │ │ ├── 3a/
│ │ │ │ │ │ └── 3ec2475361f4ec50378a914e7e0d8f53ea9106
│ │ │ │ │ ├── 3b/
│ │ │ │ │ │ └── 0a5dd7cd7c24abfe5c2876dd2d0c10baf2a589
│ │ │ │ │ ├── 42/
│ │ │ │ │ │ └── a27a546b55f87f281a64d6f20e28adbf25fcc1
│ │ │ │ │ ├── 43/
│ │ │ │ │ │ └── 0d9f8f7ebb779948dbd43944b876b1a3f58551
│ │ │ │ │ ├── 46/
│ │ │ │ │ │ ├── 60dbfa8a4f9eea5218b739075d04faadfeeef6
│ │ │ │ │ │ └── af03492461745f185d3018fdc7393a6b4b2ee0
│ │ │ │ │ ├── 4b/
│ │ │ │ │ │ └── b825149a1bb4f130eea1e477b41642b20a44c0
│ │ │ │ │ ├── 4d/
│ │ │ │ │ │ └── 920c94f519fcb50965fd158dcb9b7dc4799b97
│ │ │ │ │ ├── 4e/
│ │ │ │ │ │ └── fe395edd023d6df512d975b03502dfdbde3d04
│ │ │ │ │ ├── 52/
│ │ │ │ │ │ └── b765e8b0894ff6d8f67f08b20cfb000a0b14c0
│ │ │ │ │ ├── 58/
│ │ │ │ │ │ └── d0dde0a2df49abc991decbabff15230010829a
│ │ │ │ │ ├── 5a/
│ │ │ │ │ │ └── 7f38d6e678834409b4df237104a3200240c8ae
│ │ │ │ │ ├── 5e/
│ │ │ │ │ │ └── 96ce2da5161ebd49fb564fe5aa73805b3391b7
│ │ │ │ │ ├── 5f/
│ │ │ │ │ │ └── 83779e143e922b565a8f9a85b40496e65306ca
│ │ │ │ │ ├── 64/
│ │ │ │ │ │ └── f082031376f8ceb98c5406f2e20e57e08387b8
│ │ │ │ │ ├── 66/
│ │ │ │ │ │ └── c1614828d0041baece3ab2002763f2a2fd83b3
│ │ │ │ │ ├── 67/
│ │ │ │ │ │ ├── 3301374959c5ce16b7ebb8ab44b135c8187094
│ │ │ │ │ │ └── 854951f6c91e6c16fff5493628a5b2943ed364
│ │ │ │ │ ├── 69/
│ │ │ │ │ │ └── 27c67e7cf3446dc1e18fb4846ae5e852e165cd
│ │ │ │ │ ├── 6b/
│ │ │ │ │ │ └── b6b6af97ecb575711a329121bdf7c4697241ad
│ │ │ │ │ ├── 71/
│ │ │ │ │ │ └── a835b20abb024b9dfcc0df07e61e72aac0f07f
│ │ │ │ │ ├── 72/
│ │ │ │ │ │ └── da76a1626f578076422dea9e5d80462a6b83f3
│ │ │ │ │ ├── 74/
│ │ │ │ │ │ └── c544d68c07bcd416225598cdf15f88e62fd457
│ │ │ │ │ ├── 75/
│ │ │ │ │ │ └── 29b04961112bd1fb91816bd8413d27c9066bab
│ │ │ │ │ ├── 7a/
│ │ │ │ │ │ ├── 647a3e3b7edb09d4178e3b60ae4c75a282d901
│ │ │ │ │ │ └── e6387f7cef3aa60dbbfef68c5f8add5b68413b
│ │ │ │ │ ├── 7b/
│ │ │ │ │ │ └── a4d6aa73003054366077e645c6ae542e2821b6
│ │ │ │ │ ├── 80/
│ │ │ │ │ │ ├── 71aa4ad65cf09e3b7adda4a7787d8897e5314c
│ │ │ │ │ │ └── aaaeee99d7f7b06c9e75ed3a457c49d86fc4db
│ │ │ │ │ ├── 81/
│ │ │ │ │ │ └── b9a76bc9f3c92bf21cdc398b979e1ef5b66fd0
│ │ │ │ │ ├── 82/
│ │ │ │ │ │ └── fc8245dbb66fb1d5edd3cfa50499cb9fd00b44
│ │ │ │ │ ├── 83/
│ │ │ │ │ │ ├── 483d952d4d3b7e56be6a820816f399f0e3bb00
│ │ │ │ │ │ └── fc030aad7ea3f1072a76c59cd016b01070a596
│ │ │ │ │ ├── 86/
│ │ │ │ │ │ ├── 134eff715d84f388e7e01ab96387520970fd42
│ │ │ │ │ │ └── b03242d883aad9f816c3f73c3bcd07c10312fd
│ │ │ │ │ ├── 88/
│ │ │ │ │ │ └── 50d2414fc18a6741e04294fa0096d20f7cd512
│ │ │ │ │ ├── 89/
│ │ │ │ │ │ └── c679d1f7b02bb2b7e0a3a7aa459516dac4e0d5
│ │ │ │ │ ├── 8a/
│ │ │ │ │ │ └── e911df185c7b484e088289a0a4f61da835a333
│ │ │ │ │ ├── 96/
│ │ │ │ │ │ └── e40391834535cdf3bd8ff2624a42bb5b1de462
│ │ │ │ │ ├── 99/
│ │ │ │ │ │ ├── 2dcf59bf8e28f9fd8d036db9f7640f59a4b111
│ │ │ │ │ │ └── a984bef4bb91e2c75813c95d7e39b893ecdc3d
│ │ │ │ │ ├── 9d/
│ │ │ │ │ │ └── 4b4d64d61e938ce4c516be343ea50a2cbf9333
│ │ │ │ │ ├── 9e/
│ │ │ │ │ │ ├── aad8574f5b2271b981cd31966b1e832cd8de12
│ │ │ │ │ │ └── de59c14c9303030855a24d601a5ef16245be58
│ │ │ │ │ ├── a6/
│ │ │ │ │ │ └── b5713002ec27664a5574c92353cafc661dc05d
│ │ │ │ │ ├── a7/
│ │ │ │ │ │ └── 3267db7dcabdd4de45c0cf846860f6c5b81bc0
│ │ │ │ │ ├── ab/
│ │ │ │ │ │ └── f176e5c93f6ad1a3fd59dda16b604b3d13ebe1
│ │ │ │ │ ├── ad/
│ │ │ │ │ │ └── b3d4df9392bc2ffa97985b2ab508d4b1b87673
│ │ │ │ │ ├── b0/
│ │ │ │ │ │ └── 3a56f28ec360bbcf43091afd0607890a4a33c7
│ │ │ │ │ ├── b2/
│ │ │ │ │ │ └── c4acca7d0515dd78db13acea7d5e1010f2377b
│ │ │ │ │ ├── b6/
│ │ │ │ │ │ └── 78b1f023d3e687a9d537294f378169d6f13f8f
│ │ │ │ │ ├── c1/
│ │ │ │ │ │ ├── 6363e7fa36d7911ac0ef200ef259349ce0190e
│ │ │ │ │ │ ├── d267a5cb922bcdc1a7bf509e3cb8e568a609cd
│ │ │ │ │ │ └── e595c974f6531e053b4daecf2875c8cdb24467
│ │ │ │ │ ├── c3/
│ │ │ │ │ │ └── 4596cacf720d9916a34e1b129d24049bbb9a6d
│ │ │ │ │ ├── c5/
│ │ │ │ │ │ └── 1666d3dbc310d22064c23644603befcb6c6b04
│ │ │ │ │ ├── c6/
│ │ │ │ │ │ └── d3a9987ff63b9fb7982bc0c7e3212fdc7e39cd
│ │ │ │ │ ├── c8/
│ │ │ │ │ │ ├── 8602f080dcafea6ba222a2f7cc1ea0e41ef3cc
│ │ │ │ │ │ └── efafadb368fa2821a4de72d58a2ffd31d92cfd
│ │ │ │ │ ├── cd/
│ │ │ │ │ │ └── 8db1f5da7f2bfbecc4092f2646665128dad227
│ │ │ │ │ ├── d4/
│ │ │ │ │ │ └── ee80342770d1281e2ce877f8ae8ab1d99e6528
│ │ │ │ │ ├── d7/
│ │ │ │ │ │ └── 67a4216f340f860d74ec113be36bf1d6c13537
│ │ │ │ │ ├── dc/
│ │ │ │ │ │ └── 14d8837ea84f414da8221a82b54dc31e266e87
│ │ │ │ │ ├── dd/
│ │ │ │ │ │ └── 7186f6de2810d68084d87ca751afafc4508780
│ │ │ │ │ ├── e1/
│ │ │ │ │ │ └── 80bc5a5b92a3eba053b9484ffb97c308da949a
│ │ │ │ │ ├── e8/
│ │ │ │ │ │ └── ca6face0a82f440512ad01067c17390fdf5ae8
│ │ │ │ │ ├── ea/
│ │ │ │ │ │ ├── 0fdf1266209d0822b3d51b7e3b7dadaf2de4fe
│ │ │ │ │ │ └── 1ddd7cbf4f116afe17a7e4f9d505de078511e0
│ │ │ │ │ ├── ef/
│ │ │ │ │ │ └── e5dca859f80a947fa02ee43eaa3981e6b64394
│ │ │ │ │ ├── f1/
│ │ │ │ │ │ └── 11537dcf6596d01e7f98cffd35e75191b643eb
│ │ │ │ │ ├── f2/
│ │ │ │ │ │ └── f3c0b0c02f8319d06036673c7f5331a2d15630
│ │ │ │ │ ├── f3/
│ │ │ │ │ │ └── f50d962082d70e728f30c219051bf2a7d76300
│ │ │ │ │ ├── fc/
│ │ │ │ │ │ └── ebd84b282b08838f5ed4785bdcd764e65c513a
│ │ │ │ │ ├── fd/
│ │ │ │ │ │ └── def924097f28c46a0a5b45483a6086b33cab81
│ │ │ │ │ ├── fe/
│ │ │ │ │ │ └── 651bf6e2b4d02b624be3c289378c08bab2fa9b
│ │ │ │ │ └── pack/
│ │ │ │ │ ├── pack-bd606bfbd2e3fef67196a99e946ff2be1145b8b3.idx
│ │ │ │ │ └── pack-bd606bfbd2e3fef67196a99e946ff2be1145b8b3.pack
│ │ │ │ ├── packed-refs
│ │ │ │ └── refs/
│ │ │ │ ├── heads/
│ │ │ │ │ ├── gijit-on-v21
│ │ │ │ │ ├── master
│ │ │ │ │ └── v2.1
│ │ │ │ └── remotes/
│ │ │ │ └── origin/
│ │ │ │ ├── HEAD
│ │ │ │ ├── master
│ │ │ │ ├── v2.0
│ │ │ │ └── v2.1
│ │ │ ├── dynasm/
│ │ │ │ ├── dasm_arm.h
│ │ │ │ ├── dasm_arm.lua
│ │ │ │ ├── dasm_arm64.h
│ │ │ │ ├── dasm_arm64.lua
│ │ │ │ ├── dasm_mips.h
│ │ │ │ ├── dasm_mips.lua
│ │ │ │ ├── dasm_mips64.lua
│ │ │ │ ├── dasm_ppc.h
│ │ │ │ ├── dasm_ppc.lua
│ │ │ │ ├── dasm_proto.h
│ │ │ │ ├── dasm_x64.lua
│ │ │ │ ├── dasm_x86.h
│ │ │ │ ├── dasm_x86.lua
│ │ │ │ └── dynasm.lua
│ │ │ ├── etc/
│ │ │ │ ├── luajit.1
│ │ │ │ └── luajit.pc
│ │ │ ├── src/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── Makefile
│ │ │ │ ├── Makefile.dep
│ │ │ │ ├── host/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── README
│ │ │ │ │ ├── buildvm.c
│ │ │ │ │ ├── buildvm.h
│ │ │ │ │ ├── buildvm_asm.c
│ │ │ │ │ ├── buildvm_fold.c
│ │ │ │ │ ├── buildvm_lib.c
│ │ │ │ │ ├── buildvm_libbc.h
│ │ │ │ │ ├── buildvm_peobj.c
│ │ │ │ │ ├── genlibbc.lua
│ │ │ │ │ ├── genminilua.lua
│ │ │ │ │ └── minilua.c
│ │ │ │ ├── jit/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── bc.lua
│ │ │ │ │ ├── bcsave.lua
│ │ │ │ │ ├── dis_arm.lua
│ │ │ │ │ ├── dis_arm64.lua
│ │ │ │ │ ├── dis_arm64be.lua
│ │ │ │ │ ├── dis_mips.lua
│ │ │ │ │ ├── dis_mips64.lua
│ │ │ │ │ ├── dis_mips64el.lua
│ │ │ │ │ ├── dis_mipsel.lua
│ │ │ │ │ ├── dis_ppc.lua
│ │ │ │ │ ├── dis_x64.lua
│ │ │ │ │ ├── dis_x86.lua
│ │ │ │ │ ├── dump.lua
│ │ │ │ │ ├── p.lua
│ │ │ │ │ ├── v.lua
│ │ │ │ │ └── zone.lua
│ │ │ │ ├── lauxlib.h
│ │ │ │ ├── lib_aux.c
│ │ │ │ ├── lib_base.c
│ │ │ │ ├── lib_bit.c
│ │ │ │ ├── lib_debug.c
│ │ │ │ ├── lib_ffi.c
│ │ │ │ ├── lib_init.c
│ │ │ │ ├── lib_io.c
│ │ │ │ ├── lib_jit.c
│ │ │ │ ├── lib_math.c
│ │ │ │ ├── lib_os.c
│ │ │ │ ├── lib_package.c
│ │ │ │ ├── lib_string.c
│ │ │ │ ├── lib_table.c
│ │ │ │ ├── lj.supp
│ │ │ │ ├── lj_alloc.c
│ │ │ │ ├── lj_alloc.h
│ │ │ │ ├── lj_api.c
│ │ │ │ ├── lj_arch.h
│ │ │ │ ├── lj_asm.c
│ │ │ │ ├── lj_asm.h
│ │ │ │ ├── lj_asm_arm.h
│ │ │ │ ├── lj_asm_arm64.h
│ │ │ │ ├── lj_asm_mips.h
│ │ │ │ ├── lj_asm_ppc.h
│ │ │ │ ├── lj_asm_x86.h
│ │ │ │ ├── lj_bc.c
│ │ │ │ ├── lj_bc.h
│ │ │ │ ├── lj_bcdump.h
│ │ │ │ ├── lj_bcread.c
│ │ │ │ ├── lj_bcwrite.c
│ │ │ │ ├── lj_buf.c
│ │ │ │ ├── lj_buf.h
│ │ │ │ ├── lj_carith.c
│ │ │ │ ├── lj_carith.h
│ │ │ │ ├── lj_ccall.c
│ │ │ │ ├── lj_ccall.h
│ │ │ │ ├── lj_ccallback.c
│ │ │ │ ├── lj_ccallback.h
│ │ │ │ ├── lj_cconv.c
│ │ │ │ ├── lj_cconv.h
│ │ │ │ ├── lj_cdata.c
│ │ │ │ ├── lj_cdata.h
│ │ │ │ ├── lj_char.c
│ │ │ │ ├── lj_char.h
│ │ │ │ ├── lj_clib.c
│ │ │ │ ├── lj_clib.h
│ │ │ │ ├── lj_cparse.c
│ │ │ │ ├── lj_cparse.h
│ │ │ │ ├── lj_crecord.c
│ │ │ │ ├── lj_crecord.h
│ │ │ │ ├── lj_ctype.c
│ │ │ │ ├── lj_ctype.h
│ │ │ │ ├── lj_debug.c
│ │ │ │ ├── lj_debug.h
│ │ │ │ ├── lj_def.h
│ │ │ │ ├── lj_dispatch.c
│ │ │ │ ├── lj_dispatch.h
│ │ │ │ ├── lj_emit_arm.h
│ │ │ │ ├── lj_emit_arm64.h
│ │ │ │ ├── lj_emit_mips.h
│ │ │ │ ├── lj_emit_ppc.h
│ │ │ │ ├── lj_emit_x86.h
│ │ │ │ ├── lj_err.c
│ │ │ │ ├── lj_err.h
│ │ │ │ ├── lj_errmsg.h
│ │ │ │ ├── lj_ff.h
│ │ │ │ ├── lj_ffrecord.c
│ │ │ │ ├── lj_ffrecord.h
│ │ │ │ ├── lj_frame.h
│ │ │ │ ├── lj_func.c
│ │ │ │ ├── lj_func.h
│ │ │ │ ├── lj_gc.c
│ │ │ │ ├── lj_gc.h
│ │ │ │ ├── lj_gdbjit.c
│ │ │ │ ├── lj_gdbjit.h
│ │ │ │ ├── lj_ir.c
│ │ │ │ ├── lj_ir.h
│ │ │ │ ├── lj_ircall.h
│ │ │ │ ├── lj_iropt.h
│ │ │ │ ├── lj_jit.h
│ │ │ │ ├── lj_lex.c
│ │ │ │ ├── lj_lex.h
│ │ │ │ ├── lj_lib.c
│ │ │ │ ├── lj_lib.h
│ │ │ │ ├── lj_load.c
│ │ │ │ ├── lj_mcode.c
│ │ │ │ ├── lj_mcode.h
│ │ │ │ ├── lj_meta.c
│ │ │ │ ├── lj_meta.h
│ │ │ │ ├── lj_obj.c
│ │ │ │ ├── lj_obj.h
│ │ │ │ ├── lj_opt_dce.c
│ │ │ │ ├── lj_opt_fold.c
│ │ │ │ ├── lj_opt_loop.c
│ │ │ │ ├── lj_opt_mem.c
│ │ │ │ ├── lj_opt_narrow.c
│ │ │ │ ├── lj_opt_sink.c
│ │ │ │ ├── lj_opt_split.c
│ │ │ │ ├── lj_parse.c
│ │ │ │ ├── lj_parse.h
│ │ │ │ ├── lj_profile.c
│ │ │ │ ├── lj_profile.h
│ │ │ │ ├── lj_record.c
│ │ │ │ ├── lj_record.h
│ │ │ │ ├── lj_snap.c
│ │ │ │ ├── lj_snap.h
│ │ │ │ ├── lj_state.c
│ │ │ │ ├── lj_state.h
│ │ │ │ ├── lj_str.c
│ │ │ │ ├── lj_str.h
│ │ │ │ ├── lj_strfmt.c
│ │ │ │ ├── lj_strfmt.h
│ │ │ │ ├── lj_strfmt_num.c
│ │ │ │ ├── lj_strscan.c
│ │ │ │ ├── lj_strscan.h
│ │ │ │ ├── lj_tab.c
│ │ │ │ ├── lj_tab.h
│ │ │ │ ├── lj_target.h
│ │ │ │ ├── lj_target_arm.h
│ │ │ │ ├── lj_target_arm64.h
│ │ │ │ ├── lj_target_mips.h
│ │ │ │ ├── lj_target_ppc.h
│ │ │ │ ├── lj_target_x86.h
│ │ │ │ ├── lj_trace.c
│ │ │ │ ├── lj_trace.h
│ │ │ │ ├── lj_traceerr.h
│ │ │ │ ├── lj_udata.c
│ │ │ │ ├── lj_udata.h
│ │ │ │ ├── lj_vm.h
│ │ │ │ ├── lj_vmevent.c
│ │ │ │ ├── lj_vmevent.h
│ │ │ │ ├── lj_vmmath.c
│ │ │ │ ├── ljamalg.c
│ │ │ │ ├── lua.h
│ │ │ │ ├── lua.hpp
│ │ │ │ ├── luaconf.h
│ │ │ │ ├── luajit-ffi-ctypeid.c
│ │ │ │ ├── luajit-ffi-ctypeid.h
│ │ │ │ ├── luajit.c
│ │ │ │ ├── luajit.h
│ │ │ │ ├── lualib.h
│ │ │ │ ├── msvcbuild.bat
│ │ │ │ ├── ps4build.bat
│ │ │ │ ├── psvitabuild.bat
│ │ │ │ ├── vm_arm.dasc
│ │ │ │ ├── vm_arm64.dasc
│ │ │ │ ├── vm_mips.dasc
│ │ │ │ ├── vm_mips64.dasc
│ │ │ │ ├── vm_ppc.dasc
│ │ │ │ ├── vm_x64.dasc
│ │ │ │ ├── vm_x86.dasc
│ │ │ │ ├── xb1build.bat
│ │ │ │ └── xedkbuild.bat
│ │ │ └── version
│ │ ├── fsnotify/
│ │ │ └── fsnotify/
│ │ │ ├── AUTHORS
│ │ │ ├── CHANGELOG.md
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── fen.go
│ │ │ ├── fsnotify.go
│ │ │ ├── inotify.go
│ │ │ ├── inotify_poller.go
│ │ │ ├── kqueue.go
│ │ │ ├── open_mode_bsd.go
│ │ │ ├── open_mode_darwin.go
│ │ │ └── windows.go
│ │ ├── glycerine/
│ │ │ ├── golua/
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── TODO
│ │ │ │ ├── VERSION
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── COMMIT_EDITMSG
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── pre-receive.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ ├── aa/
│ │ │ │ │ │ │ ├── afitz-dev
│ │ │ │ │ │ │ ├── lua5.2
│ │ │ │ │ │ │ ├── lua5.3
│ │ │ │ │ │ │ ├── master
│ │ │ │ │ │ │ ├── tests
│ │ │ │ │ │ │ └── travis
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── master
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 01/
│ │ │ │ │ │ │ └── fa282bb80be5907505d44b4692d3fa40fad140
│ │ │ │ │ │ ├── 02/
│ │ │ │ │ │ │ └── a0eafa332a08a26b292f8ed86b1f54c1e4e4ad
│ │ │ │ │ │ ├── 03/
│ │ │ │ │ │ │ └── 494a7a9e6835419f87a702531658ca06ca9dab
│ │ │ │ │ │ ├── 04/
│ │ │ │ │ │ │ ├── 45b2b1dac256186903c543b5c889e165f095dd
│ │ │ │ │ │ │ ├── 50f1f684b5677be353bd3e9b37c507ba8c1246
│ │ │ │ │ │ │ ├── c6d06ddffa760d4f4f3814ec99d337cfb83ad1
│ │ │ │ │ │ │ └── cb5a350703de538a3773f2f9a741b5369915c2
│ │ │ │ │ │ ├── 05/
│ │ │ │ │ │ │ ├── 0fb4dd24a4860e4173002183e2c0eec15cb389
│ │ │ │ │ │ │ └── d24d5aa87caa32a2c51ad08a3f7c606189ebc1
│ │ │ │ │ │ ├── 06/
│ │ │ │ │ │ │ ├── 0a9f89750b376e11ee52b1d501b427fef57744
│ │ │ │ │ │ │ └── fdfda4f3f8586c0270c97f5ed5cc9d78361b16
│ │ │ │ │ │ ├── 07/
│ │ │ │ │ │ │ └── e9002dc5a3e19a8afad2b0e3fe209a59e7eeb0
│ │ │ │ │ │ ├── 08/
│ │ │ │ │ │ │ ├── 39668c748561034ee80de78fbac38d064e3fe6
│ │ │ │ │ │ │ └── f7cfa6ac5ea35565bdcd0874906073cf82ad6d
│ │ │ │ │ │ ├── 0a/
│ │ │ │ │ │ │ └── 0b66c909acb5f7e4833b289e854b2085d3c09c
│ │ │ │ │ │ ├── 0b/
│ │ │ │ │ │ │ └── d4d8429b65a5ecaa5068b4e227e86341f870a4
│ │ │ │ │ │ ├── 0c/
│ │ │ │ │ │ │ ├── 220a8886684bdc1f2428972d794850260c8731
│ │ │ │ │ │ │ ├── c23e82a73df504283684cbcf00cb7872f37b8e
│ │ │ │ │ │ │ └── ccfd78cd786256eb2633d3e419f616b808c910
│ │ │ │ │ │ ├── 0d/
│ │ │ │ │ │ │ ├── 263db79fdd78626360b93f1025d1169627b637
│ │ │ │ │ │ │ └── fe7f9807550301a227540061e46840ac5e40c5
│ │ │ │ │ │ ├── 0e/
│ │ │ │ │ │ │ └── a89c7486a2539e05fb1a0231a9141bc44b20c2
│ │ │ │ │ │ ├── 0f/
│ │ │ │ │ │ │ └── 9330893fdea4de73d0da82c49aa336f4e556d5
│ │ │ │ │ │ ├── 11/
│ │ │ │ │ │ │ ├── 1705358e4b86cbfdbd80100543eacc38a5e9f6
│ │ │ │ │ │ │ ├── 6998e1e8f1f9b8137635cd122fda412e76d255
│ │ │ │ │ │ │ └── f23efe44deef5cab432d9475c4efca056ed614
│ │ │ │ │ │ ├── 13/
│ │ │ │ │ │ │ ├── 63c4f327247d33cf254ea05a42880ec301492e
│ │ │ │ │ │ │ ├── 6e98e8963ef198f2d8a4cd08b325794570feaf
│ │ │ │ │ │ │ └── b8230dc83eec3f20b9b2479e5676350fff20ce
│ │ │ │ │ │ ├── 18/
│ │ │ │ │ │ │ └── 49afe585e21985b2743921f5c6b1297f492f18
│ │ │ │ │ │ ├── 19/
│ │ │ │ │ │ │ ├── 3cf01f939df93a211dd4f5e7496c3f49c899af
│ │ │ │ │ │ │ └── 55429f0b81dcbd9fb3852c87eea8991e228579
│ │ │ │ │ │ ├── 1a/
│ │ │ │ │ │ │ ├── 07bf75bf2cab9cf872a6d87ec350611dfab446
│ │ │ │ │ │ │ ├── 2b1c5d5bf430e196670e24401f7d9ed6854836
│ │ │ │ │ │ │ ├── 30573c9ffb71e56587852fa3feeb873a8fee87
│ │ │ │ │ │ │ └── fd61187a75e47ab52b3eadd29582b4c06817ae
│ │ │ │ │ │ ├── 1c/
│ │ │ │ │ │ │ ├── a243011fbd9e6801f83888b19ef1736c9fe113
│ │ │ │ │ │ │ └── c7eed782f0d1d1e98332c51dc2687d2e96091a
│ │ │ │ │ │ ├── 20/
│ │ │ │ │ │ │ └── 90f7e8a9b431f277cb01a14ed5cc4ef2383269
│ │ │ │ │ │ ├── 21/
│ │ │ │ │ │ │ ├── 1ae7b922ad4cb0d12ef9d09f012b6b5c25b3ec
│ │ │ │ │ │ │ ├── 7f7c8904f2d2a83abc006e4b73d3730e7d409b
│ │ │ │ │ │ │ ├── 8abd260f4c89d4d124a7450e9313dab6a54988
│ │ │ │ │ │ │ ├── ac8ad05acda8303321ca5571dfee02f52ed57e
│ │ │ │ │ │ │ └── c3c2ace704e5169fe713f6448af2ffaee39a44
│ │ │ │ │ │ ├── 22/
│ │ │ │ │ │ │ ├── ca0a1a249173e149ed2eb34ccb20ff0dac0ce1
│ │ │ │ │ │ │ └── cae741f3f818426eec4186af102b68786c389c
│ │ │ │ │ │ ├── 23/
│ │ │ │ │ │ │ └── 51a96df15bbd40ff7451865b77d8d860fceb12
│ │ │ │ │ │ ├── 24/
│ │ │ │ │ │ │ ├── 0ec878daf8eb4656ea6922eec7568fea2c3004
│ │ │ │ │ │ │ ├── 17f3242aaaa7ee9b09807ecb1978866089c8c9
│ │ │ │ │ │ │ └── 3c1a5e22a9e1ff93690d0891ceb6a1a4bb8be2
│ │ │ │ │ │ ├── 25/
│ │ │ │ │ │ │ ├── 53d97e7f0734dbc28e01e9056baf1ddfc60ee0
│ │ │ │ │ │ │ └── e938cb7e190f2609bce7d7bbcac5d4bd5856f6
│ │ │ │ │ │ ├── 26/
│ │ │ │ │ │ │ ├── 4dedc16e9c4e8b806b4051efc603e8ec546f67
│ │ │ │ │ │ │ └── 8ac104f5834c65427aaf190b2105b2261f5270
│ │ │ │ │ │ ├── 28/
│ │ │ │ │ │ │ └── 19481b6de0a66255348e9577dcb54f41e82c5d
│ │ │ │ │ │ ├── 29/
│ │ │ │ │ │ │ ├── 56fdb6cd04681e3dc53ef12292aa32d35fe764
│ │ │ │ │ │ │ └── a953dc872800ea86c7c5907406d9c671796bd9
│ │ │ │ │ │ ├── 2a/
│ │ │ │ │ │ │ ├── af5b2c4f735e16f47461574e8f50965899e008
│ │ │ │ │ │ │ └── eb1b29244c99a3964c394ede8e6d6696813c13
│ │ │ │ │ │ ├── 2b/
│ │ │ │ │ │ │ ├── 1470af505f0b29ac28c33b56ed02bab698b968
│ │ │ │ │ │ │ ├── 1cb5ef292ae8115f489f90221987a79a704969
│ │ │ │ │ │ │ ├── 4c530a3ee4926abd93bbbba599d822562a447b
│ │ │ │ │ │ │ ├── 9ae9d2231602713c536af69b899359d8cbb905
│ │ │ │ │ │ │ └── ea652bf81740c129029fcdcdad85e143fcd9f7
│ │ │ │ │ │ ├── 2c/
│ │ │ │ │ │ │ ├── 930743ddf9f506743980766b9c9226c6ec5147
│ │ │ │ │ │ │ └── 9ae3d643a7015480b2123a988fafc961460bda
│ │ │ │ │ │ ├── 2d/
│ │ │ │ │ │ │ └── 2f8194cfd5ab28eb70816cbb5d617ae6ce15b8
│ │ │ │ │ │ ├── 2e/
│ │ │ │ │ │ │ ├── b2bb7bb334fe2d95d17f05ef601aed7b65ab6a
│ │ │ │ │ │ │ └── d370e96786a78db7c08c890464cca7d13a9799
│ │ │ │ │ │ ├── 31/
│ │ │ │ │ │ │ └── d65a00dba0239a03eaf7b959533db75b632171
│ │ │ │ │ │ ├── 32/
│ │ │ │ │ │ │ └── f595afff235e28e5b4e6d3ca64f275aadc7bd1
│ │ │ │ │ │ ├── 33/
│ │ │ │ │ │ │ └── fa8657262781270312f672145d645d0f6e0932
│ │ │ │ │ │ ├── 34/
│ │ │ │ │ │ │ └── 7ed3aad733953ffc04501f39386d9b7811ce9d
│ │ │ │ │ │ ├── 35/
│ │ │ │ │ │ │ └── 6f792459bfdaf696a844fc909aa6f7cb781342
│ │ │ │ │ │ ├── 36/
│ │ │ │ │ │ │ └── 50066440a431d6aebdf8831690e6f56a28b6e5
│ │ │ │ │ │ ├── 37/
│ │ │ │ │ │ │ ├── bfa40f2faf58f74310de70bf154fc253044ab8
│ │ │ │ │ │ │ └── ec9d78007dc269c0e10f6c66c6b7c2d84b50e7
│ │ │ │ │ │ ├── 39/
│ │ │ │ │ │ │ └── 91dc65353d1a82e3bf084d9febb8bb8f773410
│ │ │ │ │ │ ├── 3a/
│ │ │ │ │ │ │ ├── 4679b8553099d39d0e73232e337c7d55b535b4
│ │ │ │ │ │ │ ├── 757870aa34d05980894479ee75a9a3994f3f1f
│ │ │ │ │ │ │ ├── 7ee9b0e9a8af26800c689eec21c983d6f517bb
│ │ │ │ │ │ │ └── f3eb9208c22e5ce467cfc40ead18589ba3596f
│ │ │ │ │ │ ├── 3b/
│ │ │ │ │ │ │ └── 407450d5824b892c75116d6288cfa156b05b1e
│ │ │ │ │ │ ├── 3d/
│ │ │ │ │ │ │ └── 42f826b0ef77488a8db17861a17aaa7efc6d56
│ │ │ │ │ │ ├── 41/
│ │ │ │ │ │ │ └── 42082bcb939bbc17985a69ba748491ac6b62a5
│ │ │ │ │ │ ├── 42/
│ │ │ │ │ │ │ └── 9cbac0b0d7679820f191b8b86e2f6e9c13232a
│ │ │ │ │ │ ├── 43/
│ │ │ │ │ │ │ ├── 595b31dbbb52bb038c97598f46ee6d2f5f9234
│ │ │ │ │ │ │ └── 71233d2b47accba02fb5e4e8c4df63f549eb5c
│ │ │ │ │ │ ├── 44/
│ │ │ │ │ │ │ └── fa379f2c70245274df63d081ba37a29ebff946
│ │ │ │ │ │ ├── 47/
│ │ │ │ │ │ │ ├── c0cfd34af5938e824e6aa00311b444b0fc80f9
│ │ │ │ │ │ │ └── e1e074939ae75c4f1c50635b1d1d29f89acf13
│ │ │ │ │ │ ├── 48/
│ │ │ │ │ │ │ ├── 3221dfd0efe560e707ba8b0b73012c7927b5d4
│ │ │ │ │ │ │ └── c5e7c7f5a0bfe2f552bfb26fd6246274895b99
│ │ │ │ │ │ ├── 49/
│ │ │ │ │ │ │ └── 8b267a8c7812490d6479839c5577eaaec79d62
│ │ │ │ │ │ ├── 4b/
│ │ │ │ │ │ │ └── 49fd8c7c62ec86a00d0cd9340b1ca27206bde4
│ │ │ │ │ │ ├── 4c/
│ │ │ │ │ │ │ └── 031e2cd67e42451cdd6918ee151fae66dc817c
│ │ │ │ │ │ ├── 4f/
│ │ │ │ │ │ │ └── 17e40141684572859ec1ed7d1c34f7c938a7dd
│ │ │ │ │ │ ├── 50/
│ │ │ │ │ │ │ ├── 0e2855af97fc6f4d96b74ab5a1c481c10aba5a
│ │ │ │ │ │ │ └── feff014d046b29e61e73e3344e90d377290186
│ │ │ │ │ │ ├── 52/
│ │ │ │ │ │ │ └── 0023ae218c19a6f96f392d9f08dda349d7eeed
│ │ │ │ │ │ ├── 55/
│ │ │ │ │ │ │ ├── 51b1f1cef9b63d290d66c5811e8873bb66ac01
│ │ │ │ │ │ │ └── 8f78fa0c5e97f5c6fac9bf93a4b8c22076f5c8
│ │ │ │ │ │ ├── 56/
│ │ │ │ │ │ │ └── 36b23a6ec5bebd03c8d7cb79a8cbd04ea2edf7
│ │ │ │ │ │ ├── 59/
│ │ │ │ │ │ │ ├── 17c00bc6fe43331eeb47e3ec7ae884bcdad0e6
│ │ │ │ │ │ │ ├── 62f3afb02992bd65deaefc9dbb4c3ce7e3de7e
│ │ │ │ │ │ │ └── d9e2b2dd7869cdd025968aec17d84d8da7ffcc
│ │ │ │ │ │ ├── 5b/
│ │ │ │ │ │ │ ├── 139bd3f43e3fde83f8a786a637b50bd5ab836b
│ │ │ │ │ │ │ ├── aece67e63e875746cc823eabc3259ec92bc3da
│ │ │ │ │ │ │ ├── b0f5dca24ef3dee3152fe5bf070c0a92f180de
│ │ │ │ │ │ │ └── da51a21376137c178984ae25891f44b29a7297
│ │ │ │ │ │ ├── 5d/
│ │ │ │ │ │ │ └── 6795f88e338fdb9e8f3298673f7c3309d7989b
│ │ │ │ │ │ ├── 5e/
│ │ │ │ │ │ │ ├── 05caeaf5d880950fa736354266ea29233aaa56
│ │ │ │ │ │ │ ├── 1daaf54b7670f322d61951503d0289ec0e2d04
│ │ │ │ │ │ │ └── c21a7979af14d09170af2f669b4654c01665a2
│ │ │ │ │ │ ├── 61/
│ │ │ │ │ │ │ ├── 4265903ac96b6c04c44c78f22931d55946d16e
│ │ │ │ │ │ │ └── 87dbf4390fc6e28445dd3d988aefb9d1111988
│ │ │ │ │ │ ├── 62/
│ │ │ │ │ │ │ └── e1c165909bd2656630258189e5c6d07233cfbb
│ │ │ │ │ │ ├── 63/
│ │ │ │ │ │ │ ├── 2dd07e5f9c28d9a37b616a02cc853528fc93b1
│ │ │ │ │ │ │ └── 9dad87684e16f88fd0b7e93c5465a030165e97
│ │ │ │ │ │ ├── 65/
│ │ │ │ │ │ │ └── 10eb04bbc372344faf2881a63c9fe6a223741e
│ │ │ │ │ │ ├── 66/
│ │ │ │ │ │ │ ├── 6b0abca8139c68f8f20103430323f03c1a2be6
│ │ │ │ │ │ │ └── 9bbe9240385262008970447f0cee6c37b5552f
│ │ │ │ │ │ ├── 67/
│ │ │ │ │ │ │ └── d976bf0c009fc7ce8861267e22b30fb5b1978b
│ │ │ │ │ │ ├── 68/
│ │ │ │ │ │ │ ├── d62d5446d963dc69006ad9a83907c6690f92c1
│ │ │ │ │ │ │ └── e16d76fc9a59088b20b79bb8792fb3751c992e
│ │ │ │ │ │ ├── 69/
│ │ │ │ │ │ │ └── a45f281e9081edf48c066aba42b4a84559e3f9
│ │ │ │ │ │ ├── 6b/
│ │ │ │ │ │ │ └── 4d04095955fb6c6dc4f95c79e490fa72cd1ddf
│ │ │ │ │ │ ├── 6d/
│ │ │ │ │ │ │ └── a4c7d4b4ee67ec095a60ca06754b91b0263ea1
│ │ │ │ │ │ ├── 6e/
│ │ │ │ │ │ │ ├── 1d9017e624bce59f7ac81f46c35951206b826b
│ │ │ │ │ │ │ ├── d40025ae076fa48318e747d74b15991613b137
│ │ │ │ │ │ │ ├── fa48c7f2d3b2f6daa8e8d157ca398d18a038ba
│ │ │ │ │ │ │ └── fe28fff834a94fbc20cac51fe9cd65ecc78d43
│ │ │ │ │ │ ├── 6f/
│ │ │ │ │ │ │ ├── 5a05cce5169e8d9ccd912369304c4c9608a609
│ │ │ │ │ │ │ ├── ac43ec3ea6acf987cbd999abfc567d134c493e
│ │ │ │ │ │ │ └── b0dda08cd3a3e6d40ff7e4b6420b1f67fa7139
│ │ │ │ │ │ ├── 70/
│ │ │ │ │ │ │ └── 8a5a11fdb0eacca397df32eb0bf6f349c5244d
│ │ │ │ │ │ ├── 71/
│ │ │ │ │ │ │ ├── b8c03339e3f6043cfc247799e125845bf6fc90
│ │ │ │ │ │ │ ├── bde7598dc4dbd7324b735718d10bf781251567
│ │ │ │ │ │ │ └── e34945e8aa1f7a5a5e7f3b1ce98af22ee149a2
│ │ │ │ │ │ ├── 73/
│ │ │ │ │ │ │ └── b45724735194ccf6f5cbb24aa9d2e0b159370e
│ │ │ │ │ │ ├── 74/
│ │ │ │ │ │ │ └── 0687b355d020a21229806a9d0d13c4c40255fa
│ │ │ │ │ │ ├── 75/
│ │ │ │ │ │ │ ├── 38d6533f5a28f6ae84bae94ace999ae92eb8ab
│ │ │ │ │ │ │ └── 3fe6bd1ded96d9929132c7dbd6ea3cce2aabc6
│ │ │ │ │ │ ├── 76/
│ │ │ │ │ │ │ ├── 2ac2a0c6e67d5dd75702a5473beeb978f03ef0
│ │ │ │ │ │ │ └── b0730aca34b813466526ece19a5cb4575e3fb2
│ │ │ │ │ │ ├── 78/
│ │ │ │ │ │ │ ├── 0cc16e6dedac3588f497541ff0c1b77711c157
│ │ │ │ │ │ │ └── a4e34a09032946ef0136e67ae540c4a823f452
│ │ │ │ │ │ ├── 79/
│ │ │ │ │ │ │ ├── 150286cfc3d29cb1d6c65858c2f36af0708a23
│ │ │ │ │ │ │ └── ac3ccea1ef2e6b1204ba5c1a5581c6ea0e9d40
│ │ │ │ │ │ ├── 7b/
│ │ │ │ │ │ │ └── e105863d3bdacb778ee804abd07417b8dec4f7
│ │ │ │ │ │ ├── 7e/
│ │ │ │ │ │ │ ├── 491d16b6379e49f0dee27ebf662f6d552d4a60
│ │ │ │ │ │ │ └── b389e2fa597224c9b66b5029de41705c725ad4
│ │ │ │ │ │ ├── 80/
│ │ │ │ │ │ │ ├── 50fbb7b6c9486016a0d34aa56c72f58cce0111
│ │ │ │ │ │ │ ├── 57a7508c2447487d89d564dd7fdba6566bddcd
│ │ │ │ │ │ │ └── ba94135cc378364af9d3cb2450df48e51faf2c
│ │ │ │ │ │ ├── 83/
│ │ │ │ │ │ │ └── cfd1128b399d2be977a28e82e4ef24515dca14
│ │ │ │ │ │ ├── 84/
│ │ │ │ │ │ │ ├── 7e84a555778ad59c4ec6156c5b0f2a5c20a79d
│ │ │ │ │ │ │ └── 9d7a27772502a0c0c4d29a79c6a6c0d6650ee4
│ │ │ │ │ │ ├── 85/
│ │ │ │ │ │ │ ├── 0bd796ca1d33c28983fe819b7210b040fd15c4
│ │ │ │ │ │ │ └── c1e405bd7d66746ad2fa23d38aaa83f335dc3d
│ │ │ │ │ │ ├── 86/
│ │ │ │ │ │ │ └── 640804bed70feb397d7e6c2e9848cd87d7b3be
│ │ │ │ │ │ ├── 8a/
│ │ │ │ │ │ │ └── 5f735d7c315e4c2bc577e69787dbc2ed1af589
│ │ │ │ │ │ ├── 8d/
│ │ │ │ │ │ │ └── cae957f0efa9e8c5f3d6918c4dbe554861fba4
│ │ │ │ │ │ ├── 90/
│ │ │ │ │ │ │ ├── 1751b98139cf32b8d25a4d6144ce5197206d7e
│ │ │ │ │ │ │ └── 3ecb09d80136eabd914ab8fa2fc739d3120f69
│ │ │ │ │ │ ├── 91/
│ │ │ │ │ │ │ ├── 8d15c126e2f173ee7cacdc016b395d9b1e0e93
│ │ │ │ │ │ │ ├── 994320d25268cb6a1468940c2aa02d8c524470
│ │ │ │ │ │ │ └── af2e1d43d075ce95ecba27e68643973709625a
│ │ │ │ │ │ ├── 92/
│ │ │ │ │ │ │ ├── 6086feafd6503f88b88f84f18ad96a94343058
│ │ │ │ │ │ │ └── 71f68a117cc04e2d99ee1c6dd55f950a348327
│ │ │ │ │ │ ├── 93/
│ │ │ │ │ │ │ ├── 4de9859c730656ec28f7e66ae96f9aaa80aa08
│ │ │ │ │ │ │ └── d374d2494c6ba8432cc5570f0592852c249422
│ │ │ │ │ │ ├── 95/
│ │ │ │ │ │ │ └── 9dc289c7c696b0a1b8b7c4a08d75e424a14b21
│ │ │ │ │ │ ├── 97/
│ │ │ │ │ │ │ ├── 63ed466fe451d0abed8fc1688cb3ef697fe99f
│ │ │ │ │ │ │ └── 73ed4cb298f6883adcd1269de5c9f97fc6d8fe
│ │ │ │ │ │ ├── 98/
│ │ │ │ │ │ │ └── 73b47e356a6b9bcccfd553b96ba2ca184c80d5
│ │ │ │ │ │ ├── 9a/
│ │ │ │ │ │ │ └── 31d9a10a6e5b8f7d07980695c47deeb55f3fd6
│ │ │ │ │ │ ├── 9b/
│ │ │ │ │ │ │ └── 3883b7450e2b64d25ceb186399f82f74584c40
│ │ │ │ │ │ ├── 9c/
│ │ │ │ │ │ │ └── 73dc594efc1f47309d6c9b73d7719c3a9e04df
│ │ │ │ │ │ ├── 9e/
│ │ │ │ │ │ │ └── 78d49ac3c68612927f735fd016c263b127fd07
│ │ │ │ │ │ ├── 9f/
│ │ │ │ │ │ │ └── c761c75fd45218c5af4f80fa1e48120e41cb8d
│ │ │ │ │ │ ├── a0/
│ │ │ │ │ │ │ └── 03fb4f6bf5c9d0d25695e3695e466d476d4625
│ │ │ │ │ │ ├── a1/
│ │ │ │ │ │ │ ├── 2b8e62f3b532cf3e0a462ed69af9b5a1a3e044
│ │ │ │ │ │ │ └── 6d112fdc6e257c16083f1873ff1410e4cad082
│ │ │ │ │ │ ├── a3/
│ │ │ │ │ │ │ └── 315e54a486449667e91e733d4443d47eecfbef
│ │ │ │ │ │ ├── a4/
│ │ │ │ │ │ │ ├── 051694445bb3f16e43eafbd1fb0f7e174d1314
│ │ │ │ │ │ │ ├── 3f7c6645c8f3203272240459889ea26a3a3d5e
│ │ │ │ │ │ │ └── 4f0272b3ab0745b0ce798d377b40d2cce113cd
│ │ │ │ │ │ ├── a5/
│ │ │ │ │ │ │ ├── 196d1be8fb59edf8062bef36d3a602e0812139
│ │ │ │ │ │ │ ├── 97692cab4afe338046677532fb33d03a6bce3e
│ │ │ │ │ │ │ ├── 9ba3f46351a7d20b2315bb6acc4c322468ca71
│ │ │ │ │ │ │ └── d7b84a673458d14d9aab082183a1968c2c7492
│ │ │ │ │ │ ├── a6/
│ │ │ │ │ │ │ ├── 6a8d95049ee8ccfcd69733e0b24f41c76ab25f
│ │ │ │ │ │ │ └── d8785c630db47b0f0805598e9e023b039ac547
│ │ │ │ │ │ ├── a7/
│ │ │ │ │ │ │ ├── 173326acb77e341bf6b9e2f8d214f899e07f03
│ │ │ │ │ │ │ ├── 8cd25144602376d6b5575dee52c15b64217ca6
│ │ │ │ │ │ │ └── 8f1746e8f4086443b827e498f869903bc48963
│ │ │ │ │ │ ├── a8/
│ │ │ │ │ │ │ └── cdad386307149e9da8c3c1d2dfe22afd19b938
│ │ │ │ │ │ ├── ab/
│ │ │ │ │ │ │ └── fcdaa76e98a1ad4ae6f063323c87db5ce8424c
│ │ │ │ │ │ ├── ad/
│ │ │ │ │ │ │ └── 462c63e517c0dd48be4ed2944b517ce814ee5d
│ │ │ │ │ │ ├── af/
│ │ │ │ │ │ │ └── 54dc7f11f1428d4570b8f880ca6b088efb7d14
│ │ │ │ │ │ ├── b2/
│ │ │ │ │ │ │ ├── 31d3e811e33a033155f8e2607098cc9d8d3b6b
│ │ │ │ │ │ │ └── 600bd5905e5e2ab4f8708c9f8440b94d03e03f
│ │ │ │ │ │ ├── b3/
│ │ │ │ │ │ │ └── 6fb8e369dffd0f141b51f2043deff57feefd98
│ │ │ │ │ │ ├── b4/
│ │ │ │ │ │ │ └── 0964da6a6d9e56241a1bdad79e880a36d210cf
│ │ │ │ │ │ ├── b5/
│ │ │ │ │ │ │ └── 8d1184a9d43a39c0d95f32453efc78581877d6
│ │ │ │ │ │ ├── b6/
│ │ │ │ │ │ │ └── be357e79182bf821d06b838133bed81b3b86f7
│ │ │ │ │ │ ├── b8/
│ │ │ │ │ │ │ └── 638de6a08d8c55412faa55a4f45512692e3e64
│ │ │ │ │ │ ├── b9/
│ │ │ │ │ │ │ └── 0428dc48f5e82a33eaaa96c642291546877d73
│ │ │ │ │ │ ├── ba/
│ │ │ │ │ │ │ └── d1060bbc9b312f7a3cd74c58d6029c651ceeb1
│ │ │ │ │ │ ├── bb/
│ │ │ │ │ │ │ ├── 2e8603df1c87bb543e7e902f02f752531cc552
│ │ │ │ │ │ │ ├── 6593aeaeb532e446cccd95c7b07b8f26a333a3
│ │ │ │ │ │ │ └── aa1568c4474fec79b905d94c013653a8847492
│ │ │ │ │ │ ├── bd/
│ │ │ │ │ │ │ └── 0321b834bc29c556e66867e61a3c411c96b184
│ │ │ │ │ │ ├── be/
│ │ │ │ │ │ │ ├── 2c4bf2d51d8a99641012f02eb6bb56c7de220e
│ │ │ │ │ │ │ └── 9e75cfc0bb436cae7c19a278ff19f08d8ac361
│ │ │ │ │ │ ├── bf/
│ │ │ │ │ │ │ └── c130a1a89153ea1444ed1d83208380d0a32848
│ │ │ │ │ │ ├── c1/
│ │ │ │ │ │ │ └── 65def47551f9093aa64b82cbaa26e5d5cb4649
│ │ │ │ │ │ ├── c2/
│ │ │ │ │ │ │ ├── 19ffac0a897f2551c8f7786aa5d07ba83fe43f
│ │ │ │ │ │ │ ├── d29d9492203524fcda6c6dadcabe40ce186624
│ │ │ │ │ │ │ └── dd776991fe3ade39a9c464e566a4132ca558e5
│ │ │ │ │ │ ├── c3/
│ │ │ │ │ │ │ ├── a95afb9403909b44a3180b975342a1c4798088
│ │ │ │ │ │ │ └── c86d34b1dd9f8f5a8c4d0ec61305a18956434c
│ │ │ │ │ │ ├── c4/
│ │ │ │ │ │ │ ├── 0565c340d16f58e0a997f3cdd26684b5d30c39
│ │ │ │ │ │ │ ├── 374928ab5f06b6758c35c8f37527e938463e31
│ │ │ │ │ │ │ └── 91c601432e52510cd3a6ead244bfd87a95fb69
│ │ │ │ │ │ ├── c5/
│ │ │ │ │ │ │ ├── 5794a68927701e28691ccb70c6807c38a04113
│ │ │ │ │ │ │ └── c991a377af7650de28481af2abdc2ab05322a9
│ │ │ │ │ │ ├── c7/
│ │ │ │ │ │ │ └── e47422bf9918ab7a15ea036bc8740786896cde
│ │ │ │ │ │ ├── c8/
│ │ │ │ │ │ │ └── 8b2a15165058d5921a3ffd7cdffe9fd5c73f48
│ │ │ │ │ │ ├── c9/
│ │ │ │ │ │ │ └── 79a44839c949306c81e805e084f721d5e6b398
│ │ │ │ │ │ ├── ca/
│ │ │ │ │ │ │ ├── d6ca654688ddbb43d3b7fdaa98a94f6e7e1898
│ │ │ │ │ │ │ └── e2d2f0727a37cbcbfe52110a9f8ea913f93cb3
│ │ │ │ │ │ ├── cb/
│ │ │ │ │ │ │ ├── a5fb7149e6f39d266be93b6bfc302112d3146f
│ │ │ │ │ │ │ └── b186d31668d7899dd2354fe33f3983818830a8
│ │ │ │ │ │ ├── cc/
│ │ │ │ │ │ │ └── 177d39e8b5184481d6b6ff4851c6d0fdb188f4
│ │ │ │ │ │ ├── cd/
│ │ │ │ │ │ │ └── 96ca4b4f94f6ae03e0c7b902d80eba972792d7
│ │ │ │ │ │ ├── ce/
│ │ │ │ │ │ │ └── eab6994ff3cce9cbd9f2daf883b18abc293a3c
│ │ │ │ │ │ ├── d1/
│ │ │ │ │ │ │ └── 7a5754d40d6e1c220be04812143665a8272cf2
│ │ │ │ │ │ ├── d3/
│ │ │ │ │ │ │ └── 245f3568156c7aebd4c2f9ca125e5e1bf42ce8
│ │ │ │ │ │ ├── d5/
│ │ │ │ │ │ │ ├── 714ee1f70937727b09c4b7ac630b7499a18b20
│ │ │ │ │ │ │ └── 79f4d416a8f6f039d66b8e0f699de24f1aa35d
│ │ │ │ │ │ ├── d7/
│ │ │ │ │ │ │ ├── 893ce981be557a556398d45bcd193eac0653c8
│ │ │ │ │ │ │ └── cc9693bebfec04c415bd4a83495aa81f5883cf
│ │ │ │ │ │ ├── d8/
│ │ │ │ │ │ │ └── 5b47f8013e1529c59944c402e4a37bc0640e87
│ │ │ │ │ │ ├── de/
│ │ │ │ │ │ │ ├── 23fabdceac3a82f69562d2a74764557a2c2f8c
│ │ │ │ │ │ │ └── e8bdccd1919573a4c7b5ec9a021f8e4dd44c11
│ │ │ │ │ │ ├── e4/
│ │ │ │ │ │ │ ├── 088bcbd20371f2af53f7a7c5cf40f5b4d6179e
│ │ │ │ │ │ │ ├── 6e3ef0f9a3d57b01dd73e8c88c0dcc4f73348e
│ │ │ │ │ │ │ └── a7defe7af8e6ce10c48511e341e0549683f254
│ │ │ │ │ │ ├── e6/
│ │ │ │ │ │ │ └── 7bb24c497e39377ae44d009273ee32ca3b7de2
│ │ │ │ │ │ ├── e7/
│ │ │ │ │ │ │ └── 77d5d536bba9ffdd938e61d9c84078e69f7fa7
│ │ │ │ │ │ ├── e8/
│ │ │ │ │ │ │ └── bdeb37d4def31c2833f0da2f20ffc81f95ff59
│ │ │ │ │ │ ├── ec/
│ │ │ │ │ │ │ ├── 17ec1939b7c3e86b7cb6c0c4de6b0818a7e75e
│ │ │ │ │ │ │ └── 9aa33b4bf5fc62f5e3fb110b9c4acdb9715496
│ │ │ │ │ │ ├── ee/
│ │ │ │ │ │ │ └── 33aeb3a8eb15fadaaf37e6131856d17766f864
│ │ │ │ │ │ ├── ef/
│ │ │ │ │ │ │ ├── 5b824c1b318124f50ac4e8343b6cf49d3a5c96
│ │ │ │ │ │ │ └── 9dda2da66316654bd78d8ed4e2861eb0e076b0
│ │ │ │ │ │ ├── f0/
│ │ │ │ │ │ │ ├── 847e931e5716e41a44d75443e1708b547c7ee5
│ │ │ │ │ │ │ └── 93a02ec49918ab15e920f455979fd5ed732cf6
│ │ │ │ │ │ ├── f1/
│ │ │ │ │ │ │ ├── 12b5bc87051408110412932cb28abc1d9a0e52
│ │ │ │ │ │ │ └── f28623fa9874a251e263f833c689294d5f0ad5
│ │ │ │ │ │ ├── f2/
│ │ │ │ │ │ │ └── 71a42d327c4f2112b00e46828b39f0da950758
│ │ │ │ │ │ ├── f3/
│ │ │ │ │ │ │ └── 7e7927a43e03192fbcb8ab32df18a9dcec39e9
│ │ │ │ │ │ ├── f4/
│ │ │ │ │ │ │ ├── 06a328da90a31a997c43f49449c8d4e16ef026
│ │ │ │ │ │ │ └── b2010af2fec241c8fbc73da1fcbd0674578fd9
│ │ │ │ │ │ ├── f5/
│ │ │ │ │ │ │ ├── 98da9afddf228ad18f43011606d167424283e5
│ │ │ │ │ │ │ └── f35c96028062ed35992c020c70193b99519de5
│ │ │ │ │ │ ├── f6/
│ │ │ │ │ │ │ └── 9b11f01fdd474a7ceb1688b3ca54dd99ce6f49
│ │ │ │ │ │ ├── f7/
│ │ │ │ │ │ │ └── 3974dd7f9e0d6b4c010a431631c35080d6273c
│ │ │ │ │ │ ├── f8/
│ │ │ │ │ │ │ └── 7a7cf3422b02c2b590ba3522205a01097d8d01
│ │ │ │ │ │ ├── fa/
│ │ │ │ │ │ │ └── 702c4e989089f9ef5ae078463b09c0a74091de
│ │ │ │ │ │ ├── fc/
│ │ │ │ │ │ │ └── c9dac5920adb657a460c06eaada77664235749
│ │ │ │ │ │ ├── fd/
│ │ │ │ │ │ │ ├── 59e2817534c8d0613a6217791fa53029745f7d
│ │ │ │ │ │ │ └── fc6ec0c6ef37cf17497dcc4abffd4ee0a0cab0
│ │ │ │ │ │ ├── fe/
│ │ │ │ │ │ │ └── 4751c0ead3a38e57625127e86f5d46193bc23c
│ │ │ │ │ │ ├── ff/
│ │ │ │ │ │ │ └── 54c3f488a288c1536c2e57e3f802a4828e3eb3
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-a7777ed642943a2ddc71e3822b7168707c84a42b.idx
│ │ │ │ │ │ ├── pack-a7777ed642943a2ddc71e3822b7168707c84a42b.pack
│ │ │ │ │ │ ├── pack-ce73ce8dc7f62c7410d204a6aee7a4c24ad6e2de.idx
│ │ │ │ │ │ └── pack-ce73ce8dc7f62c7410d204a6aee7a4c24ad6e2de.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ ├── aa/
│ │ │ │ │ │ ├── afitz-dev
│ │ │ │ │ │ ├── lua5.2
│ │ │ │ │ │ ├── lua5.3
│ │ │ │ │ │ ├── master
│ │ │ │ │ │ ├── tests
│ │ │ │ │ │ └── travis
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── example/
│ │ │ │ │ ├── alloc.go
│ │ │ │ │ ├── basic.go
│ │ │ │ │ ├── calls.lua
│ │ │ │ │ ├── error.go
│ │ │ │ │ ├── panic.go
│ │ │ │ │ ├── quickstart.go
│ │ │ │ │ └── userdata.go
│ │ │ │ └── lua/
│ │ │ │ ├── c-golua.c
│ │ │ │ ├── golua.go
│ │ │ │ ├── golua.h
│ │ │ │ ├── lauxlib.go
│ │ │ │ ├── lua.go
│ │ │ │ ├── lua_defs.go
│ │ │ │ └── lua_test.go
│ │ │ ├── idem/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── master
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 05/
│ │ │ │ │ │ │ └── c38eab6d6563c4dbe331db11b66f2c5f5977e2
│ │ │ │ │ │ ├── 09/
│ │ │ │ │ │ │ └── 521e6ad64894845e87e8d9e7cba60ac67ca887
│ │ │ │ │ │ ├── 10/
│ │ │ │ │ │ │ └── cd169f9a6a054db85fffafa2da772195c6eea3
│ │ │ │ │ │ ├── 16/
│ │ │ │ │ │ │ └── 9b33d0d83b00a42c0f45a47dd21df903d8d293
│ │ │ │ │ │ ├── 3a/
│ │ │ │ │ │ │ └── 04018e8512b2ab5e0bf784a72e25cef99a7bd9
│ │ │ │ │ │ ├── 4b/
│ │ │ │ │ │ │ └── ecbc53969f1badfef30309acab597dc499fa6b
│ │ │ │ │ │ ├── 64/
│ │ │ │ │ │ │ └── 4ded95278885faad1dca729aecf4d478fbcbd1
│ │ │ │ │ │ ├── 68/
│ │ │ │ │ │ │ └── 3b01466e1fd8b1e2392ec8f13621f388266e99
│ │ │ │ │ │ ├── 75/
│ │ │ │ │ │ │ └── c8fcc4ac946003e13a04f32ecb3b385d21bdc8
│ │ │ │ │ │ ├── 7f/
│ │ │ │ │ │ │ └── fa4d57efb149b6ddff1100959e237f31abce58
│ │ │ │ │ │ ├── 85/
│ │ │ │ │ │ │ └── d66eb9094390762e8943c962978456fc5336a8
│ │ │ │ │ │ ├── a0/
│ │ │ │ │ │ │ └── 7fefd3f52181130e0bb2da140b889a2b89ed1d
│ │ │ │ │ │ ├── b7/
│ │ │ │ │ │ │ └── a889ca886397a2bb7ac592fe1778b434730408
│ │ │ │ │ │ ├── bc/
│ │ │ │ │ │ │ └── e3e74f5b8995c8e987c27fe41212019e193a18
│ │ │ │ │ │ ├── c8/
│ │ │ │ │ │ │ └── e1f3046b6235f5ee91f3889122adeb5eb2c2e0
│ │ │ │ │ │ ├── cd/
│ │ │ │ │ │ │ └── a9d5065df1a6d3197c434d96760a7f4f37dc6e
│ │ │ │ │ │ └── da/
│ │ │ │ │ │ └── f913b1b347aae6de6f48d599bc89ef8c8693d6
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── halter.go
│ │ │ │ └── halter_test.go
│ │ │ ├── liner/
│ │ │ │ ├── COPYING
│ │ │ │ ├── README.md
│ │ │ │ ├── bsdinput.go
│ │ │ │ ├── common.go
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── COMMIT_EDITMSG
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── master
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 6a/
│ │ │ │ │ │ │ └── 74f61703145de9abcdf62b969202ad68079d1b
│ │ │ │ │ │ ├── 9d/
│ │ │ │ │ │ │ └── 1f43dd7d8d11b2c37b3839c106b24834275b94
│ │ │ │ │ │ ├── b2/
│ │ │ │ │ │ │ └── 3ae6ade1e30d8371b7d1080a7d4a266e8aa58e
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-ecf1bc7cb2dc77ce5fb385c0bcedc04270996fa7.idx
│ │ │ │ │ │ └── pack-ecf1bc7cb2dc77ce5fb385c0bcedc04270996fa7.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── fallbackinput.go
│ │ │ │ ├── input.go
│ │ │ │ ├── input_darwin.go
│ │ │ │ ├── input_linux.go
│ │ │ │ ├── input_test.go
│ │ │ │ ├── input_windows.go
│ │ │ │ ├── line.go
│ │ │ │ ├── line_test.go
│ │ │ │ ├── output.go
│ │ │ │ ├── output_windows.go
│ │ │ │ ├── prefix_test.go
│ │ │ │ ├── race_test.go
│ │ │ │ ├── signal.go
│ │ │ │ ├── signal_legacy.go
│ │ │ │ ├── unixmode.go
│ │ │ │ ├── width.go
│ │ │ │ └── width_test.go
│ │ │ ├── luar/
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── VERSION
│ │ │ │ ├── bench_test.go
│ │ │ │ ├── doc.go
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── COMMIT_EDITMSG
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ ├── jea
│ │ │ │ │ │ │ ├── master
│ │ │ │ │ │ │ └── v2
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ ├── origin/
│ │ │ │ │ │ │ └── jea
│ │ │ │ │ │ └── sd/
│ │ │ │ │ │ ├── cycle-detection
│ │ │ │ │ │ ├── master
│ │ │ │ │ │ ├── nopanic
│ │ │ │ │ │ ├── proxy-nesting
│ │ │ │ │ │ ├── proxy-nesting2
│ │ │ │ │ │ ├── proxyarith
│ │ │ │ │ │ ├── proxytype
│ │ │ │ │ │ └── v2
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 04/
│ │ │ │ │ │ │ └── 56aab0b8747dfc70903557bd05243a8aea5e44
│ │ │ │ │ │ ├── 05/
│ │ │ │ │ │ │ └── 5e2a470af2a39df9f5b65bf994f58a47ef6cf4
│ │ │ │ │ │ ├── 0f/
│ │ │ │ │ │ │ └── 28b93239c9bb788c80b50e1bba55dae9a55bd0
│ │ │ │ │ │ ├── 11/
│ │ │ │ │ │ │ └── e9ae402947ee139599cbddda9c524fdd8fffb1
│ │ │ │ │ │ ├── 14/
│ │ │ │ │ │ │ └── 5f0cd2ea747cb4cf9fa2ae03ae68995b04ace7
│ │ │ │ │ │ ├── 21/
│ │ │ │ │ │ │ └── 9ee94ef2e9748391d4ac641bfe0f5da9e4f397
│ │ │ │ │ │ ├── 2a/
│ │ │ │ │ │ │ └── b776faa62d2242f6f154228c5d0b3187b349aa
│ │ │ │ │ │ ├── 2e/
│ │ │ │ │ │ │ └── b609faf391d2e04f7d5dba3a3419c36e30808a
│ │ │ │ │ │ ├── 36/
│ │ │ │ │ │ │ ├── 100c396c5725398539b23d1b1221a704cd6fb7
│ │ │ │ │ │ │ └── 6ab981ef9e9783725271121945167ab3d4bd68
│ │ │ │ │ │ ├── 42/
│ │ │ │ │ │ │ └── 18a27b7dd031d03b0879b3617a2e6ce60df9a9
│ │ │ │ │ │ ├── 46/
│ │ │ │ │ │ │ └── 26d943f661b70867785847a7964951c9488ac7
│ │ │ │ │ │ ├── 47/
│ │ │ │ │ │ │ └── 9ca0a2eaac5c26b53783037609d805ffcaff7d
│ │ │ │ │ │ ├── 51/
│ │ │ │ │ │ │ └── f4ce41e1cacbe02143a39d11a4ed1ce32a3f38
│ │ │ │ │ │ ├── 58/
│ │ │ │ │ │ │ └── 6f11560581c1dea26a844f2197188b40805f0c
│ │ │ │ │ │ ├── 63/
│ │ │ │ │ │ │ └── 4004d87d6952838efb4b65ae8d86f3757d2418
│ │ │ │ │ │ ├── 66/
│ │ │ │ │ │ │ └── 8658a3101830c820b1b8860d3e62e949250ffd
│ │ │ │ │ │ ├── 68/
│ │ │ │ │ │ │ └── 1f3c9f03c76e4c8675404c93877a7a82194c0c
│ │ │ │ │ │ ├── 6b/
│ │ │ │ │ │ │ └── 27f04ae17cdad8186fa320fbc8e88f1f879661
│ │ │ │ │ │ ├── 6e/
│ │ │ │ │ │ │ └── e95a1b672948ff579d7e2ef862d53b31cc29d3
│ │ │ │ │ │ ├── 70/
│ │ │ │ │ │ │ └── 74294cd3f89f5831da235063fa6a1e811e4e2c
│ │ │ │ │ │ ├── 72/
│ │ │ │ │ │ │ └── 3c14a1341a39fe927f60cc946889224e0b8b17
│ │ │ │ │ │ ├── 74/
│ │ │ │ │ │ │ └── 41bf995f433c3b57a4359d07a1489970f35427
│ │ │ │ │ │ ├── 81/
│ │ │ │ │ │ │ └── 47793e6b521bc434ba0d2ac102f1297918a1d4
│ │ │ │ │ │ ├── 85/
│ │ │ │ │ │ │ ├── 499c74b9bd6ef6bdda592424fb2d0c874a4a2b
│ │ │ │ │ │ │ ├── 7b791bc25d7122ba0b60a61c766aef8d8999bf
│ │ │ │ │ │ │ └── 84fab0552f97827ce8b88fdadbcd08dcdb5a1f
│ │ │ │ │ │ ├── 8a/
│ │ │ │ │ │ │ └── ce2b197ebd0e8292abdee1b641ef04179c6c7e
│ │ │ │ │ │ ├── 94/
│ │ │ │ │ │ │ └── 66eb0a618d192def623d7432c5ba97810a314a
│ │ │ │ │ │ ├── 97/
│ │ │ │ │ │ │ └── 83ff646db1c2a7e870d35e8c6da2efcb3bb754
│ │ │ │ │ │ ├── 9b/
│ │ │ │ │ │ │ └── 605710655823af255298bf376f969eeb14bec9
│ │ │ │ │ │ ├── a7/
│ │ │ │ │ │ │ ├── 2f09ef049c3e984a6b3761ec58dc90ef2cc3d0
│ │ │ │ │ │ │ └── b314cb1b3984ec3c5d766e990625c7462d38f8
│ │ │ │ │ │ ├── a9/
│ │ │ │ │ │ │ └── 92b6f52423167820d7118fd4f665dbdb500327
│ │ │ │ │ │ ├── b6/
│ │ │ │ │ │ │ └── 474b51e28be9fa5ec825cf7bb4d2c8361ce383
│ │ │ │ │ │ ├── c6/
│ │ │ │ │ │ │ └── 77636a23c919a44eb4d435222582918c7d0e3e
│ │ │ │ │ │ ├── d5/
│ │ │ │ │ │ │ └── 54af741b872bca580b12741fa59d57e9fc3db8
│ │ │ │ │ │ ├── dc/
│ │ │ │ │ │ │ └── 5f7e47d49bb2d1883e5a969297f77c7900584f
│ │ │ │ │ │ ├── dd/
│ │ │ │ │ │ │ └── 27e8e1a0e3a39d8286ed21c20a356783fc99c0
│ │ │ │ │ │ ├── e6/
│ │ │ │ │ │ │ └── 97e0836eb57f533afbe7db0317b23c5ffebd1e
│ │ │ │ │ │ ├── e7/
│ │ │ │ │ │ │ └── 61ec921bc7ad38e4a05657be86f8bb961257cf
│ │ │ │ │ │ ├── e9/
│ │ │ │ │ │ │ └── af524d078cd3c176ffd1111a90c87ceec95325
│ │ │ │ │ │ ├── f0/
│ │ │ │ │ │ │ └── faa5c627448901a06ad2bc08aaaf3c46f821dc
│ │ │ │ │ │ ├── f6/
│ │ │ │ │ │ │ ├── 00dbd48695ba764294a23ff4e92bb0ccdb8129
│ │ │ │ │ │ │ └── 6ec3ac1c34fae86f66ad936e3d6b1ade4f27e1
│ │ │ │ │ │ ├── ff/
│ │ │ │ │ │ │ └── 04db08e6ba984d4da090e09199a3854eb81e5b
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-86671189f5836c322e520e64fa512177f6e78ee1.idx
│ │ │ │ │ │ ├── pack-86671189f5836c322e520e64fa512177f6e78ee1.pack
│ │ │ │ │ │ ├── pack-e45d0f921623775f978499fdb9da4eaa5d542276.idx
│ │ │ │ │ │ └── pack-e45d0f921623775f978499fdb9da4eaa5d542276.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ ├── jea
│ │ │ │ │ │ ├── master
│ │ │ │ │ │ └── v2
│ │ │ │ │ ├── remotes/
│ │ │ │ │ │ ├── origin/
│ │ │ │ │ │ │ └── jea
│ │ │ │ │ │ └── sd/
│ │ │ │ │ │ ├── cycle-detection
│ │ │ │ │ │ ├── master
│ │ │ │ │ │ ├── nopanic
│ │ │ │ │ │ ├── proxy-nesting
│ │ │ │ │ │ ├── proxy-nesting2
│ │ │ │ │ │ ├── proxyarith
│ │ │ │ │ │ ├── proxytype
│ │ │ │ │ │ └── v2
│ │ │ │ │ └── tags/
│ │ │ │ │ └── 1.3
│ │ │ │ ├── example_test.go
│ │ │ │ ├── examples/
│ │ │ │ │ └── luar
│ │ │ │ ├── luaobject.go
│ │ │ │ ├── luar.go
│ │ │ │ ├── luar_test.go
│ │ │ │ ├── proxy.go
│ │ │ │ ├── proxyfuncs.go
│ │ │ │ └── proxymm.go
│ │ │ └── zygomys/
│ │ │ └── zygo/
│ │ │ ├── address.go
│ │ │ ├── arrayutils.go
│ │ │ ├── basetypes.go
│ │ │ ├── blake2.go
│ │ │ ├── bsave.go
│ │ │ ├── builders.go
│ │ │ ├── callgo.go
│ │ │ ├── callgo_test.go
│ │ │ ├── cfg.go
│ │ │ ├── channels.go
│ │ │ ├── check.go
│ │ │ ├── closing.go
│ │ │ ├── comment.go
│ │ │ ├── comparisons.go
│ │ │ ├── coroutines.go
│ │ │ ├── datastack.go
│ │ │ ├── demo_go_structs.go
│ │ │ ├── demo_go_structs_gen.go
│ │ │ ├── demo_go_structs_gen_test.go
│ │ │ ├── doc.go
│ │ │ ├── environment.go
│ │ │ ├── environment_test.go
│ │ │ ├── exists.go
│ │ │ ├── expressions.go
│ │ │ ├── func.go
│ │ │ ├── functions.go
│ │ │ ├── generator.go
│ │ │ ├── gitcommit.go
│ │ │ ├── gob.go
│ │ │ ├── gotypereg.go
│ │ │ ├── hashutils.go
│ │ │ ├── import.go
│ │ │ ├── jsonmsgp.go
│ │ │ ├── jsonmsgp_test.go
│ │ │ ├── lexer.go
│ │ │ ├── lexer_test.go
│ │ │ ├── liner.go
│ │ │ ├── listutils.go
│ │ │ ├── makego.go
│ │ │ ├── msgpackmap.go
│ │ │ ├── numerictower.go
│ │ │ ├── panicon.go
│ │ │ ├── parser.go
│ │ │ ├── pratt.go
│ │ │ ├── printstate.go
│ │ │ ├── printstate_test.go
│ │ │ ├── ptrcheck.go
│ │ │ ├── random.go
│ │ │ ├── rawutils.go
│ │ │ ├── regexp.go
│ │ │ ├── repl.go
│ │ │ ├── reuse_test.go
│ │ │ ├── scopes.go
│ │ │ ├── slurp.go
│ │ │ ├── source.go
│ │ │ ├── stack.go
│ │ │ ├── stack_test.go
│ │ │ ├── strutils.go
│ │ │ ├── system.go
│ │ │ ├── time.go
│ │ │ ├── typeutils.go
│ │ │ ├── version.go
│ │ │ ├── vm.go
│ │ │ └── vprint.go
│ │ ├── gopherjs/
│ │ │ └── gopherjs/
│ │ │ ├── LICENSE
│ │ │ └── js/
│ │ │ └── js.go
│ │ ├── jtolds/
│ │ │ └── gls/
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── context.go
│ │ │ ├── gen_sym.go
│ │ │ ├── gid.go
│ │ │ ├── id_pool.go
│ │ │ ├── stack_tags.go
│ │ │ ├── stack_tags_js.go
│ │ │ └── stack_tags_main.go
│ │ ├── kisielk/
│ │ │ └── gotool/
│ │ │ ├── .travis.yml
│ │ │ ├── LEGAL
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── go13.go
│ │ │ ├── go14-15.go
│ │ │ ├── go16-18.go
│ │ │ ├── internal/
│ │ │ │ └── load/
│ │ │ │ ├── match_test.go
│ │ │ │ ├── path.go
│ │ │ │ ├── pkg.go
│ │ │ │ └── search.go
│ │ │ ├── match.go
│ │ │ ├── match18.go
│ │ │ ├── match18_test.go
│ │ │ └── tool.go
│ │ ├── majek/
│ │ │ └── lua-channels/
│ │ │ ├── .travis.yml
│ │ │ ├── COPYING
│ │ │ ├── LICENSE-MIT-lua-channels
│ │ │ ├── README.md
│ │ │ ├── dot.git/
│ │ │ │ ├── FETCH_HEAD
│ │ │ │ ├── HEAD
│ │ │ │ ├── ORIG_HEAD
│ │ │ │ ├── config
│ │ │ │ ├── description
│ │ │ │ ├── hooks/
│ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ ├── post-update.sample
│ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ └── update.sample
│ │ │ │ ├── index
│ │ │ │ ├── info/
│ │ │ │ │ └── exclude
│ │ │ │ ├── logs/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ ├── origin/
│ │ │ │ │ │ └── HEAD
│ │ │ │ │ └── timeout/
│ │ │ │ │ └── master
│ │ │ │ ├── objects/
│ │ │ │ │ ├── 00/
│ │ │ │ │ │ └── ba8df4ef75a7ec4369775752848e9c75997305
│ │ │ │ │ ├── 04/
│ │ │ │ │ │ └── 1f4c8ed6d869dc28b0333826dda6d366bc14d3
│ │ │ │ │ ├── 06/
│ │ │ │ │ │ └── 75739626c9e2c96315d54432ba3a966baa1325
│ │ │ │ │ ├── 09/
│ │ │ │ │ │ └── ed92250dca054c5c1678b5632b3d5d7463eb22
│ │ │ │ │ ├── 0c/
│ │ │ │ │ │ └── 7a10263b6578d15ae85f3c33bc64cccabeb48a
│ │ │ │ │ ├── 16/
│ │ │ │ │ │ └── 7d1ce26c1ff4a64c34fe1b35d273646efd7ac5
│ │ │ │ │ ├── 1c/
│ │ │ │ │ │ └── e58d9ed6556bb1bdca6fde9dd3576c28bd327c
│ │ │ │ │ ├── 1e/
│ │ │ │ │ │ ├── 95d7ac798c2963fd500ec7fb445b0d047fddb8
│ │ │ │ │ │ └── d246faab7247d4a881eb639fe55b1e096bc348
│ │ │ │ │ ├── 2a/
│ │ │ │ │ │ └── 32bbdfd67bb046ea26a48396b16c9a54224fcc
│ │ │ │ │ ├── 2f/
│ │ │ │ │ │ └── f9d09ccbfd7d078f12449014fd688d9b39b80c
│ │ │ │ │ ├── 37/
│ │ │ │ │ │ └── 571943a73567a9e54ab6d2ce55532ae58020cc
│ │ │ │ │ ├── 3a/
│ │ │ │ │ │ └── ba51ff9cabd896720a76823cab4752b6ab187b
│ │ │ │ │ ├── 3c/
│ │ │ │ │ │ └── 38e98503cbfadb5df2175cef6d4735e4c99af0
│ │ │ │ │ ├── 3f/
│ │ │ │ │ │ └── ded2304485db1174c96e6bbd3b37e55985d204
│ │ │ │ │ ├── 44/
│ │ │ │ │ │ └── e4e248fc461624f6ce9020bacd64867ab5a586
│ │ │ │ │ ├── 46/
│ │ │ │ │ │ └── 995e0e0cd3702c408dd4b0e7e09821a09501f4
│ │ │ │ │ ├── 4d/
│ │ │ │ │ │ ├── 1f53eba2bb2888a5971d2c31528138aee47aba
│ │ │ │ │ │ ├── 33cc5d265d65ccd12ebfa9b5887537ac24db57
│ │ │ │ │ │ └── a8f13df4791d8f42caca4838c0260e08de752e
│ │ │ │ │ ├── 4e/
│ │ │ │ │ │ └── 0ec67a459442b5f545af413d893e0ba20ece8a
│ │ │ │ │ ├── 50/
│ │ │ │ │ │ └── f802aa2a525eda4523ee7ca1707073a39e5b7b
│ │ │ │ │ ├── 51/
│ │ │ │ │ │ └── 6705d8001ce59b25304ec467c22f1dae5524dd
│ │ │ │ │ ├── 55/
│ │ │ │ │ │ ├── c45224a934465fe71cf3d91b6a9ecba7a8436c
│ │ │ │ │ │ └── cfd34bfe511ef1e2ed229b3fbe994bda23ac94
│ │ │ │ │ ├── 58/
│ │ │ │ │ │ ├── 24d50388867ef522e1c01c088c0d14b33e5062
│ │ │ │ │ │ └── 677136780f2ef7670d5b4b250c1439ecfeb9a7
│ │ │ │ │ ├── 59/
│ │ │ │ │ │ └── 9b27ee7496cef488a057aad86e1ce472190a78
│ │ │ │ │ ├── 5b/
│ │ │ │ │ │ └── 4b880c0bf3cb3c2f621047b50651f6ebd61951
│ │ │ │ │ ├── 63/
│ │ │ │ │ │ ├── 458b24d70c096d0ad9da59c938016130b0a598
│ │ │ │ │ │ └── a9474091d8581a8b98fb5cc28eafe8a78d9d67
│ │ │ │ │ ├── 66/
│ │ │ │ │ │ └── 008fdc736b340388e0da77949296d7965f21b0
│ │ │ │ │ ├── 70/
│ │ │ │ │ │ └── 3b772d80442503b71e4a89aa51a6f7b1f76da9
│ │ │ │ │ ├── 75/
│ │ │ │ │ │ └── e4e783e4b0f4573c26c32a0b4fdfb379ff0896
│ │ │ │ │ ├── 7d/
│ │ │ │ │ │ └── b95eca201955d6e99f7b7255a2777298650c4b
│ │ │ │ │ ├── 7e/
│ │ │ │ │ │ └── 785d676738fe06bd54db0fe5a73c5ce1c2b374
│ │ │ │ │ ├── 80/
│ │ │ │ │ │ └── e1719d70da1f7dcb79823d7da7daaba56cffef
│ │ │ │ │ ├── 81/
│ │ │ │ │ │ └── 3c5cf500aa563a2ac90f0af4c063f45eeabd2a
│ │ │ │ │ ├── 82/
│ │ │ │ │ │ └── 95cfb97df7a560abd4022f238a9b92e65d9899
│ │ │ │ │ ├── 83/
│ │ │ │ │ │ └── 508d3fdafb2a0c827dcc069f3b91bff40c8ab2
│ │ │ │ │ ├── 8d/
│ │ │ │ │ │ └── 3c277783aa05a1dd80543d04b90525564cc8a1
│ │ │ │ │ ├── 94/
│ │ │ │ │ │ └── c7b083c782bd31a8f57f07724759a8990deaa5
│ │ │ │ │ ├── 9b/
│ │ │ │ │ │ └── 5eebbe8234bc5ea04f06d44915d4d0b2f48f9d
│ │ │ │ │ ├── 9e/
│ │ │ │ │ │ ├── 829b9ab71e2b1852facf236317a0ce4512e7bb
│ │ │ │ │ │ └── eac895048364c926988f9b0ae1c512eefdebe9
│ │ │ │ │ ├── a0/
│ │ │ │ │ │ └── 1bdca749e1dcd2a54bd510307f2b075df1d50c
│ │ │ │ │ ├── a1/
│ │ │ │ │ │ └── ee381c9ee4ce48bdbaa4c541fd94a2aa28949c
│ │ │ │ │ ├── a2/
│ │ │ │ │ │ └── f02fb43c7fb85018017ac766e0eab432bad630
│ │ │ │ │ ├── a8/
│ │ │ │ │ │ └── 1e037b1115877eee14a956f89e94710a5df83a
│ │ │ │ │ ├── a9/
│ │ │ │ │ │ ├── e0fe3b387846004f5d43a8c724859998f01dfa
│ │ │ │ │ │ └── e5e0899d941f995004c39fd843a850e789eff9
│ │ │ │ │ ├── ad/
│ │ │ │ │ │ └── cd612a544c7f3ccb8864927b8805f070c592bd
│ │ │ │ │ ├── b1/
│ │ │ │ │ │ └── 32d8f1e7422982a774343e3ba1eb6db00a6c2f
│ │ │ │ │ ├── b4/
│ │ │ │ │ │ └── ed2d76ca3206658940a7de3bd9fa56e88d65f7
│ │ │ │ │ ├── b7/
│ │ │ │ │ │ └── 40de380a5f78983ddd78be543a0f0ae96c4466
│ │ │ │ │ ├── ba/
│ │ │ │ │ │ ├── 1f9cb86aea3af7145848a40aec427ba693fa0d
│ │ │ │ │ │ ├── 3d7b2470f8875283d9a808d1388c2780b57792
│ │ │ │ │ │ └── 78a7e33777f73bc09a5c2720434a03421cee0f
│ │ │ │ │ ├── bd/
│ │ │ │ │ │ └── 5a34747855e49aa51c3327b2a602f0a35cc284
│ │ │ │ │ ├── be/
│ │ │ │ │ │ └── d979e67e3542933393cdbb6382a09e2a1da7fc
│ │ │ │ │ ├── c1/
│ │ │ │ │ │ └── 62d124cfc295dbc63bd703befb855d10d2b39f
│ │ │ │ │ ├── c2/
│ │ │ │ │ │ └── d6fc2576324a52fc6a3082bba91a546020a740
│ │ │ │ │ ├── c3/
│ │ │ │ │ │ └── 938036f6f53800d72dba39bbe2adddee590640
│ │ │ │ │ ├── c5/
│ │ │ │ │ │ └── 839141f1d840746a042229c830a1f47f807636
│ │ │ │ │ ├── d8/
│ │ │ │ │ │ └── feadb3f3419e67c5e27453cb5186174075ff6a
│ │ │ │ │ ├── dd/
│ │ │ │ │ │ └── b4de5af0900bc8747992d5dadc723f39800188
│ │ │ │ │ ├── de/
│ │ │ │ │ │ └── 1a600fc22ab21fafa82e4ade243f64a3fd3080
│ │ │ │ │ ├── e0/
│ │ │ │ │ │ ├── 7cc8889074e511b606eee803649e317e3ec299
│ │ │ │ │ │ └── b945e07ee8c419ec6d78a47d1f6ffcb3c1a358
│ │ │ │ │ ├── e4/
│ │ │ │ │ │ └── 4acdce96f4005d038168c14b5488231e67c7b2
│ │ │ │ │ ├── e5/
│ │ │ │ │ │ └── 2e2c6aa1edd6f313ba9fab4f988fcd672fa2f6
│ │ │ │ │ ├── e6/
│ │ │ │ │ │ └── 2f2ce7cbaa9baaacae21bad943ccfbbf177bb9
│ │ │ │ │ ├── e7/
│ │ │ │ │ │ └── 98fd618a4d0728eecb0f70dcba1fc6c4326138
│ │ │ │ │ ├── e9/
│ │ │ │ │ │ └── 5d3dd4488622f567f40750715dd30799076e60
│ │ │ │ │ ├── ec/
│ │ │ │ │ │ ├── 0c5a5693f482f4f543d9598a24e8b88a01b6e6
│ │ │ │ │ │ └── 6198b5968909f400a1180103f6f47ced47000e
│ │ │ │ │ ├── ef/
│ │ │ │ │ │ └── e34c3f05068e772b9947ea2f4231ccc06ac603
│ │ │ │ │ ├── f2/
│ │ │ │ │ │ └── 10155af3440703ba0264f8897cd6947261fff7
│ │ │ │ │ ├── f3/
│ │ │ │ │ │ └── aea3954d1a98c58a56da79135a2ecf193c80d4
│ │ │ │ │ └── fc/
│ │ │ │ │ └── 41512186a305a7680df18c9dfaa18e97f81537
│ │ │ │ ├── packed-refs
│ │ │ │ └── refs/
│ │ │ │ ├── heads/
│ │ │ │ │ └── master
│ │ │ │ └── remotes/
│ │ │ │ ├── origin/
│ │ │ │ │ └── HEAD
│ │ │ │ └── timeout/
│ │ │ │ └── master
│ │ │ ├── examples/
│ │ │ │ ├── sieve.lua
│ │ │ │ ├── test1.lua
│ │ │ │ └── test2.lua
│ │ │ ├── lua-channels-0.1.0-0.rockspec
│ │ │ └── lua-channels.lua
│ │ ├── neelance/
│ │ │ ├── astrewrite/
│ │ │ │ ├── LICENSE
│ │ │ │ └── simplify.go
│ │ │ └── sourcemap/
│ │ │ ├── LICENSE
│ │ │ └── sourcemap.go
│ │ ├── shurcooL/
│ │ │ ├── go/
│ │ │ │ └── importgraphutil/
│ │ │ │ └── importgraphutil.go
│ │ │ ├── httpfs/
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── README.md
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ └── HEAD
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-9b617a4a248157ac1632edafcf6d72ab0c12e72d.idx
│ │ │ │ │ │ └── pack-9b617a4a248157ac1632edafcf6d72ab0c12e72d.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ └── HEAD
│ │ │ │ ├── filter/
│ │ │ │ │ ├── filter.go
│ │ │ │ │ ├── filter_test.go
│ │ │ │ │ └── filters.go
│ │ │ │ ├── html/
│ │ │ │ │ └── vfstemplate/
│ │ │ │ │ └── vfstemplate.go
│ │ │ │ ├── httputil/
│ │ │ │ │ └── httputil.go
│ │ │ │ ├── path/
│ │ │ │ │ └── vfspath/
│ │ │ │ │ └── match.go
│ │ │ │ ├── union/
│ │ │ │ │ ├── union.go
│ │ │ │ │ └── union_test.go
│ │ │ │ └── vfsutil/
│ │ │ │ ├── file.go
│ │ │ │ ├── vfsutil.go
│ │ │ │ ├── walk.go
│ │ │ │ └── walk_test.go
│ │ │ └── vfsgen/
│ │ │ ├── .travis.yml
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── README.md
│ │ │ ├── cmd/
│ │ │ │ └── vfsgendev/
│ │ │ │ ├── generate.go
│ │ │ │ ├── main.go
│ │ │ │ └── parse.go
│ │ │ ├── commentwriter.go
│ │ │ ├── doc.go
│ │ │ ├── dot.git/
│ │ │ │ ├── FETCH_HEAD
│ │ │ │ ├── HEAD
│ │ │ │ ├── ORIG_HEAD
│ │ │ │ ├── config
│ │ │ │ ├── description
│ │ │ │ ├── hooks/
│ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ ├── post-update.sample
│ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ └── update.sample
│ │ │ │ ├── index
│ │ │ │ ├── info/
│ │ │ │ │ └── exclude
│ │ │ │ ├── logs/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── objects/
│ │ │ │ │ ├── 43/
│ │ │ │ │ │ ├── 205b89421587a39b140735340dc8ec40f03669
│ │ │ │ │ │ └── fd3e7f60bd116513b8b1cb0f153cb6732594bd
│ │ │ │ │ ├── 7e/
│ │ │ │ │ │ └── ef8b9b64a09d1f3cf8ec5830669c0c130d6bf0
│ │ │ │ │ ├── 82/
│ │ │ │ │ │ └── 88c8b501cacb7145a8ba8ff0f9191e7df13eb1
│ │ │ │ │ ├── 98/
│ │ │ │ │ │ └── e5953780ef509453c0396b759dd4dd96c7a6bd
│ │ │ │ │ ├── 9b/
│ │ │ │ │ │ ├── 2b259cfd2a2fde1285bc2cc42b2043ac0c6581
│ │ │ │ │ │ └── 7ff06f1d238b9b71a197c1534c4f4abc2d050d
│ │ │ │ │ ├── a9/
│ │ │ │ │ │ └── 5c81cb09738e01bc795dff234b57a78155e1c7
│ │ │ │ │ ├── f0/
│ │ │ │ │ │ └── c74c495ba70c07fddfe1c57216468fac6ce298
│ │ │ │ │ ├── f6/
│ │ │ │ │ │ └── 61a453d88b63eadf311650560b58db5a207e8c
│ │ │ │ │ ├── ff/
│ │ │ │ │ │ └── b13db8def02f545acc58bd288ec6057c2bbfb9
│ │ │ │ │ └── pack/
│ │ │ │ │ ├── pack-5921b49fb1ac00aa5bb80334d7b32dd24bf86d14.idx
│ │ │ │ │ └── pack-5921b49fb1ac00aa5bb80334d7b32dd24bf86d14.pack
│ │ │ │ ├── packed-refs
│ │ │ │ └── refs/
│ │ │ │ ├── heads/
│ │ │ │ │ └── master
│ │ │ │ └── remotes/
│ │ │ │ └── origin/
│ │ │ │ ├── HEAD
│ │ │ │ └── master
│ │ │ ├── generator.go
│ │ │ ├── generator_test.go
│ │ │ ├── options.go
│ │ │ ├── stringwriter.go
│ │ │ └── test/
│ │ │ ├── doc.go
│ │ │ ├── test_gen.go
│ │ │ ├── test_test.go
│ │ │ └── test_vfsdata_test.go
│ │ ├── spf13/
│ │ │ ├── afero/
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── README.md
│ │ │ │ ├── afero.go
│ │ │ │ ├── afero_test.go
│ │ │ │ ├── appveyor.yml
│ │ │ │ ├── basepath.go
│ │ │ │ ├── basepath_test.go
│ │ │ │ ├── cacheOnReadFs.go
│ │ │ │ ├── composite_test.go
│ │ │ │ ├── const_bsds.go
│ │ │ │ ├── const_win_unix.go
│ │ │ │ ├── copyOnWriteFs.go
│ │ │ │ ├── copyOnWriteFs_test.go
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── master
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 00/
│ │ │ │ │ │ │ └── 4aeaa559f671850936d737f6830b6c86225e3c
│ │ │ │ │ │ ├── 06/
│ │ │ │ │ │ │ └── 37db726dee970868dea6a9c05ff2728371c378
│ │ │ │ │ │ ├── 08/
│ │ │ │ │ │ │ └── b3b7e0146bbfcda9b902776c6750021c3832ea
│ │ │ │ │ │ ├── 09/
│ │ │ │ │ │ │ ├── 36e8d1b24a604a476472a4deb642202e852b43
│ │ │ │ │ │ │ ├── 498e70fbaa6e350ba699a1895d602cd957a496
│ │ │ │ │ │ │ └── d8680f670faddee10819f1b42ebe00f5aaa256
│ │ │ │ │ │ ├── 0c/
│ │ │ │ │ │ │ └── 9b04b53fcb64d5f5e9c3095c5d3a7745db1f41
│ │ │ │ │ │ ├── 14/
│ │ │ │ │ │ │ └── cd438fb87fd5faa7c24cf1e4b9ca1560c6ac4c
│ │ │ │ │ │ ├── 19/
│ │ │ │ │ │ │ ├── 11a9fa052629992fdabd3ac96ab0fa703f566c
│ │ │ │ │ │ │ └── d6925feb6aef8e8111b020bef61568b1355f32
│ │ │ │ │ │ ├── 1a/
│ │ │ │ │ │ │ └── eea23efee9cc5311cadbdc3ac07cb1142d15bb
│ │ │ │ │ │ ├── 1d/
│ │ │ │ │ │ │ └── bb42c3d29d7e6725bb8c848d16bd0924750904
│ │ │ │ │ │ ├── 21/
│ │ │ │ │ │ │ ├── 9527d911be9149725f7303a381939a53cdeff6
│ │ │ │ │ │ │ └── e1faecdbd800cbc1e2dd5edf7a0b4d6decc51e
│ │ │ │ │ │ ├── 23/
│ │ │ │ │ │ │ └── a888161a3a820a244e1c67d30053bb6ac6bc64
│ │ │ │ │ │ ├── 24/
│ │ │ │ │ │ │ ├── 2208d9a2a1500b21d8a671008fb9f8031c9741
│ │ │ │ │ │ │ └── e8b10edb458ce76cf0ec8338fc530ba8cdb82e
│ │ │ │ │ │ ├── 2d/
│ │ │ │ │ │ │ ├── 4df50c2e8d9d3db4184f87c7ae30d05dff90a5
│ │ │ │ │ │ │ └── 9f136688a9d83a970da723caefd670fbe2dc14
│ │ │ │ │ │ ├── 33/
│ │ │ │ │ │ │ ├── 082f766377ca45f479560ca7bff69b7b8671d7
│ │ │ │ │ │ │ └── d310d4c927c6febbd86f320abdb917b5e6602e
│ │ │ │ │ │ ├── 36/
│ │ │ │ │ │ │ ├── 26e9c5e29c0bc1c9d6e4d0c14bdafa8d1d9d6e
│ │ │ │ │ │ │ └── f8810e2e3d7eeac4ac05b57f65690fbfba62a2
│ │ │ │ │ │ ├── 39/
│ │ │ │ │ │ │ └── 3dc7886143f37d44cd89fedef92754875b8796
│ │ │ │ │ │ ├── 3d/
│ │ │ │ │ │ │ ├── 990a04946373d6dc788229279fdde214e8a575
│ │ │ │ │ │ │ └── e492c3cda9570c77bc1f495857bfbf4b760efd
│ │ │ │ │ │ ├── 3e/
│ │ │ │ │ │ │ ├── 504d357fefbf6fde31b28809ae66b7ff378c62
│ │ │ │ │ │ │ └── 50b4815acb123e77ca33482283ede5dd190e0b
│ │ │ │ │ │ ├── 40/
│ │ │ │ │ │ │ └── d0789b6be38a32682c0d003c94efb1771201a1
│ │ │ │ │ │ ├── 42/
│ │ │ │ │ │ │ └── 26a6b51c92afcd196726579fbbc194f4da792f
│ │ │ │ │ │ ├── 44/
│ │ │ │ │ │ │ └── 971ef5a206a29eeec080e138abaa012cfae96f
│ │ │ │ │ │ ├── 47/
│ │ │ │ │ │ │ ├── 3997e41882cb62918fc6634e444f7d8ef1e9e5
│ │ │ │ │ │ │ ├── 414ab14ff6d57ac05af9cd76c6078b6c726057
│ │ │ │ │ │ │ └── ad27931311f2fedba4fcb4b25cb7fc8b2647f1
│ │ │ │ │ │ ├── 4d/
│ │ │ │ │ │ │ └── d531424862af7b60a7e2b4f5fd488bc1c5c51b
│ │ │ │ │ │ ├── 4f/
│ │ │ │ │ │ │ ├── 253f481edd15798ff64305d002329c11da2e90
│ │ │ │ │ │ │ └── 332f79e74c34224b74286536c151403cb3cf92
│ │ │ │ │ │ ├── 53/
│ │ │ │ │ │ │ └── 1727f3a82f22966155f04277d022098f1328b0
│ │ │ │ │ │ ├── 54/
│ │ │ │ │ │ │ └── 01a3b7c02add2fa56e6c374e3627b944bf55ea
│ │ │ │ │ │ ├── 55/
│ │ │ │ │ │ │ └── 1a16ca5007651b66080a1d26d6a3ae21e886d9
│ │ │ │ │ │ ├── 56/
│ │ │ │ │ │ │ └── 60eeed305fe5f69c8fc6cf899132a459a97064
│ │ │ │ │ │ ├── 57/
│ │ │ │ │ │ │ ├── 69067a7301bebef5f616ae6db3cb6295946e97
│ │ │ │ │ │ │ └── afd63c68602b63ed976de00dd066ccb3c319db
│ │ │ │ │ │ ├── 59/
│ │ │ │ │ │ │ └── 6850cca54e630a3fe6e77debf78437570f0fa1
│ │ │ │ │ │ ├── 5d/
│ │ │ │ │ │ │ └── c56c9374a541500c3b92b0351a31e93e0e0303
│ │ │ │ │ │ ├── 61/
│ │ │ │ │ │ │ └── 8159a4eab658bf833b02530d1ae0326f31dae6
│ │ │ │ │ │ ├── 65/
│ │ │ │ │ │ │ └── 5d0bd1f1139c3abf66a7bec611f36fe5b21e79
│ │ │ │ │ │ ├── 6e/
│ │ │ │ │ │ │ └── 0c3784c43127e33f93ff45e417e912d326f577
│ │ │ │ │ │ ├── 73/
│ │ │ │ │ │ │ └── c49643bc3d3b0560335e6c70943b2a2960b998
│ │ │ │ │ │ ├── 74/
│ │ │ │ │ │ │ └── 63887fd8dd2ef2cf5e078f309265d5aa02163a
│ │ │ │ │ │ ├── 7e/
│ │ │ │ │ │ │ └── 01ac8afe08c8dced4170dd0115824aab47eb7b
│ │ │ │ │ │ ├── 80/
│ │ │ │ │ │ │ └── e7cdde5536c1ad3996da51cd3e59f019abb3e5
│ │ │ │ │ │ ├── 81/
│ │ │ │ │ │ │ └── be478017c384c968c95fd97baa3abcb3b26851
│ │ │ │ │ │ ├── 83/
│ │ │ │ │ │ │ └── 8d6de32d4888e71bdb38c2f42fda96d935649d
│ │ │ │ │ │ ├── 84/
│ │ │ │ │ │ │ └── cf6dc70734caf7df4d35b2a9ae34fbcd2a2e6d
│ │ │ │ │ │ ├── 85/
│ │ │ │ │ │ │ └── 07649650b02302d989594a544fef257d82a628
│ │ │ │ │ │ ├── 88/
│ │ │ │ │ │ │ └── 5e554295931b4a15b8b0ecdd4fc631141b8156
│ │ │ │ │ │ ├── 8a/
│ │ │ │ │ │ │ └── 6ade7159a9b7fff5d2feac091c425177ac1b28
│ │ │ │ │ │ ├── 8d/
│ │ │ │ │ │ │ └── 919cbe7e2627e417f3e45c3c0e489a5b7e2536
│ │ │ │ │ │ ├── 8e/
│ │ │ │ │ │ │ └── 44611dcb7572204ce5dc8d6446abd04ad5e190
│ │ │ │ │ │ ├── 90/
│ │ │ │ │ │ │ ├── 013226bcdcfe895fa2e9db653fcbe60b264e1b
│ │ │ │ │ │ │ └── 34a12a59ea8a66ac3cf63ffde84e3c12477666
│ │ │ │ │ │ ├── 97/
│ │ │ │ │ │ │ └── 5840197da511e321c6e763ac9345dd1694d043
│ │ │ │ │ │ ├── 98/
│ │ │ │ │ │ │ └── ac35c1099f779ac3ff918b005e1eb0ee408541
│ │ │ │ │ │ ├── a1/
│ │ │ │ │ │ │ └── f7a8e43d2a15c31889e1887d595181538c425e
│ │ │ │ │ │ ├── a2/
│ │ │ │ │ │ │ └── 7cb87d3e95f0bcf51673698dd36b7500b7bae7
│ │ │ │ │ │ ├── a4/
│ │ │ │ │ │ │ └── 3378e6c468353811cd7c359f789c6d56f51516
│ │ │ │ │ │ ├── a5/
│ │ │ │ │ │ │ └── e9d2207986a3f6cc52d5f1c65ed8403a978450
│ │ │ │ │ │ ├── a6/
│ │ │ │ │ │ │ └── 33ad500c16861a1de69026745675de2515ace5
│ │ │ │ │ │ ├── a8/
│ │ │ │ │ │ │ └── 80a37ed1804d98f64b3b7d58b5e3f8fbf421c4
│ │ │ │ │ │ ├── ae/
│ │ │ │ │ │ │ └── f6962125f68394b8ae2ec2954d2c575e21c384
│ │ │ │ │ │ ├── b0/
│ │ │ │ │ │ │ └── 26e0de838d85f12d4c2d341bf567d2200e2c05
│ │ │ │ │ │ ├── b1/
│ │ │ │ │ │ │ └── c3999e0c5766b3c434f3fb8373fadbbe8956c8
│ │ │ │ │ │ ├── b2/
│ │ │ │ │ │ │ └── 4fb0ffd2126ae9d5b85835c659c0614422457f
│ │ │ │ │ │ ├── b4/
│ │ │ │ │ │ │ └── 8f4f807b2eb550a82fb2891b025aaa514bb1ff
│ │ │ │ │ │ ├── b8/
│ │ │ │ │ │ │ └── 470ca0aaea65ec9ca5b1c47463b9a2fff9ea74
│ │ │ │ │ │ ├── bb/
│ │ │ │ │ │ │ ├── 8f1927f2a9d3ab41c9340aa034f6b803f4359c
│ │ │ │ │ │ │ ├── bd8a1b9fefc4e4c716a108597a246d6fb686b5
│ │ │ │ │ │ │ └── f41cb36dffe15dff5bf7e18c447801e7ffe163
│ │ │ │ │ │ ├── c2/
│ │ │ │ │ │ │ └── e3c9c50e19b7b1363cb8bcffe32da3c438fa32
│ │ │ │ │ │ ├── c4/
│ │ │ │ │ │ │ └── d8d0f6c6c2ce1761e431f6703b31c840df08fd
│ │ │ │ │ │ ├── c5/
│ │ │ │ │ │ │ └── 621b3590b79644b5c6feba96b41fd502671762
│ │ │ │ │ │ ├── c6/
│ │ │ │ │ │ │ └── f2c6d625111a66481a031d00264f6403842f7a
│ │ │ │ │ │ ├── d2/
│ │ │ │ │ │ │ ├── 8e91220627456dc400ebae119ee03600d3ca93
│ │ │ │ │ │ │ └── 9940f63d9d44d8b2c8ae6cbb18bb788a4c6f8f
│ │ │ │ │ │ ├── db/
│ │ │ │ │ │ │ └── 4b0a99252825a818f7f97736a0dc1616d6c739
│ │ │ │ │ │ ├── e0/
│ │ │ │ │ │ │ └── 02181fefb9ab6f9eeac2d46448f0ef6c16a5e0
│ │ │ │ │ │ ├── e4/
│ │ │ │ │ │ │ └── 1f9e347f21985b5537676d6c87771fa44c8250
│ │ │ │ │ │ ├── e6/
│ │ │ │ │ │ │ ├── 7d870304c4bca21331b02f414f970df13aa694
│ │ │ │ │ │ │ └── 8cee5f18cc905ddceb199699306cb1259f146a
│ │ │ │ │ │ ├── ea/
│ │ │ │ │ │ │ └── 5fe66f02f93af286317715198e95ea65251315
│ │ │ │ │ │ ├── ec/
│ │ │ │ │ │ │ └── 3a3111d1e1bdff38a61e09d5a5f5e974905611
│ │ │ │ │ │ ├── ee/
│ │ │ │ │ │ │ └── 1bd8ee15a1306d1f9201acc41ef39cd9f99a1b
│ │ │ │ │ │ ├── f0/
│ │ │ │ │ │ │ └── 1f7160934f5758ccaef6a8ebff2d5a5cbbc796
│ │ │ │ │ │ ├── f1/
│ │ │ │ │ │ │ └── 2a64564921ed967b3d7ad971b59914ed534c87
│ │ │ │ │ │ ├── f2/
│ │ │ │ │ │ │ └── ebcd2266e56f8c1bcfa7481f6f585e34c0ca4b
│ │ │ │ │ │ ├── f6/
│ │ │ │ │ │ │ └── 49498a1f1943d6ca61fe314418400e72e5a531
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-f49f85e1f596046d8a39a71474142ca83b8e1eb8.idx
│ │ │ │ │ │ └── pack-f49f85e1f596046d8a39a71474142ca83b8e1eb8.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── httpFs.go
│ │ │ │ ├── ioutil.go
│ │ │ │ ├── ioutil_test.go
│ │ │ │ ├── match.go
│ │ │ │ ├── match_test.go
│ │ │ │ ├── mem/
│ │ │ │ │ ├── dir.go
│ │ │ │ │ ├── dirmap.go
│ │ │ │ │ ├── file.go
│ │ │ │ │ └── file_test.go
│ │ │ │ ├── memmap.go
│ │ │ │ ├── memmap_test.go
│ │ │ │ ├── os.go
│ │ │ │ ├── path.go
│ │ │ │ ├── path_test.go
│ │ │ │ ├── readonlyfs.go
│ │ │ │ ├── regexpfs.go
│ │ │ │ ├── ro_regexp_test.go
│ │ │ │ ├── sftpfs/
│ │ │ │ │ ├── file.go
│ │ │ │ │ ├── sftp.go
│ │ │ │ │ └── sftp_test_go
│ │ │ │ ├── unionFile.go
│ │ │ │ ├── util.go
│ │ │ │ └── util_test.go
│ │ │ ├── cast/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.md
│ │ │ │ ├── cast.go
│ │ │ │ ├── cast_test.go
│ │ │ │ ├── caste.go
│ │ │ │ └── dot.git/
│ │ │ │ ├── FETCH_HEAD
│ │ │ │ ├── HEAD
│ │ │ │ ├── ORIG_HEAD
│ │ │ │ ├── config
│ │ │ │ ├── description
│ │ │ │ ├── hooks/
│ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ ├── post-update.sample
│ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ └── update.sample
│ │ │ │ ├── index
│ │ │ │ ├── info/
│ │ │ │ │ └── exclude
│ │ │ │ ├── logs/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── objects/
│ │ │ │ │ ├── 4f/
│ │ │ │ │ │ └── e19289347055a221b358ea859b4bf7727c3c73
│ │ │ │ │ ├── 51/
│ │ │ │ │ │ └── a327a125965814a3caf72683130584e939b035
│ │ │ │ │ ├── 89/
│ │ │ │ │ │ └── 65335b8c7107321228e3e3702cab9832751bac
│ │ │ │ │ ├── 9e/
│ │ │ │ │ │ └── bc15c9054801e1109b9985df3d12a9046d6c3c
│ │ │ │ │ ├── 9f/
│ │ │ │ │ │ └── 1b1f1c4345902bcfa01de1a5c2cccc99cc283e
│ │ │ │ │ ├── c9/
│ │ │ │ │ │ └── 76a86632cc9331f20c0300913746227e1627b2
│ │ │ │ │ ├── d9/
│ │ │ │ │ │ └── b0b013def746771c96ca65bb13332f475dde31
│ │ │ │ │ └── pack/
│ │ │ │ │ ├── pack-070f648ac5ccb24c8d8eb72df67b4cdf5e9be16c.idx
│ │ │ │ │ └── pack-070f648ac5ccb24c8d8eb72df67b4cdf5e9be16c.pack
│ │ │ │ ├── packed-refs
│ │ │ │ └── refs/
│ │ │ │ ├── heads/
│ │ │ │ │ └── master
│ │ │ │ └── remotes/
│ │ │ │ └── origin/
│ │ │ │ ├── HEAD
│ │ │ │ └── master
│ │ │ ├── cobra/
│ │ │ │ ├── .circleci/
│ │ │ │ │ └── config.yml
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .mailmap
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── README.md
│ │ │ │ ├── args.go
│ │ │ │ ├── args_test.go
│ │ │ │ ├── bash_completions.go
│ │ │ │ ├── bash_completions.md
│ │ │ │ ├── bash_completions_test.go
│ │ │ │ ├── cobra/
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── cmd/
│ │ │ │ │ │ ├── add.go
│ │ │ │ │ │ ├── add_test.go
│ │ │ │ │ │ ├── golden_test.go
│ │ │ │ │ │ ├── helpers.go
│ │ │ │ │ │ ├── init.go
│ │ │ │ │ │ ├── init_test.go
│ │ │ │ │ │ ├── license_agpl.go
│ │ │ │ │ │ ├── license_apache_2.go
│ │ │ │ │ │ ├── license_bsd_clause_2.go
│ │ │ │ │ │ ├── license_bsd_clause_3.go
│ │ │ │ │ │ ├── license_gpl_2.go
│ │ │ │ │ │ ├── license_gpl_3.go
│ │ │ │ │ │ ├── license_lgpl.go
│ │ │ │ │ │ ├── license_mit.go
│ │ │ │ │ │ ├── licenses.go
│ │ │ │ │ │ ├── project.go
│ │ │ │ │ │ ├── project_test.go
│ │ │ │ │ │ ├── root.go
│ │ │ │ │ │ └── testdata/
│ │ │ │ │ │ ├── LICENSE.golden
│ │ │ │ │ │ ├── main.go.golden
│ │ │ │ │ │ ├── root.go.golden
│ │ │ │ │ │ └── test.go.golden
│ │ │ │ │ └── main.go
│ │ │ │ ├── cobra.go
│ │ │ │ ├── cobra_test.go
│ │ │ │ ├── command.go
│ │ │ │ ├── command_notwin.go
│ │ │ │ ├── command_test.go
│ │ │ │ ├── command_win.go
│ │ │ │ ├── doc/
│ │ │ │ │ ├── cmd_test.go
│ │ │ │ │ ├── man_docs.go
│ │ │ │ │ ├── man_docs.md
│ │ │ │ │ ├── man_docs_test.go
│ │ │ │ │ ├── man_examples_test.go
│ │ │ │ │ ├── md_docs.go
│ │ │ │ │ ├── md_docs.md
│ │ │ │ │ ├── md_docs_test.go
│ │ │ │ │ ├── rest_docs.go
│ │ │ │ │ ├── rest_docs.md
│ │ │ │ │ ├── rest_docs_test.go
│ │ │ │ │ ├── util.go
│ │ │ │ │ ├── yaml_docs.go
│ │ │ │ │ ├── yaml_docs.md
│ │ │ │ │ └── yaml_docs_test.go
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ ├── bindpflag-readme
│ │ │ │ │ │ └── master
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 00/
│ │ │ │ │ │ │ └── 74084d63f31182c520802c9c7a17cf1e45fa8e
│ │ │ │ │ │ ├── 01/
│ │ │ │ │ │ │ └── 1f19e8ec4faa23787b731efa5bd70406c1fc16
│ │ │ │ │ │ ├── 03/
│ │ │ │ │ │ │ └── e53e87eafadaab03277ca71e2e10b9d8b4a854
│ │ │ │ │ │ ├── 05/
│ │ │ │ │ │ │ └── 0e608378771266b555599167f7bfdc04593136
│ │ │ │ │ │ ├── 06/
│ │ │ │ │ │ │ └── 3092c23304d033b7f4faa59e1264f343382db4
│ │ │ │ │ │ ├── 08/
│ │ │ │ │ │ │ └── 3e4ea7f47b52bef8b34e6c5aa53d30436ee926
│ │ │ │ │ │ ├── 0a/
│ │ │ │ │ │ │ └── e8be211bed71bc2566b94fb3b303cf38fb1f42
│ │ │ │ │ │ ├── 0b/
│ │ │ │ │ │ │ └── 74c2da3ac97e30448f3a1e15afc5e5f7d6917d
│ │ │ │ │ │ ├── 0c/
│ │ │ │ │ │ │ └── 458080eb9d8959a52069ea26972b23465b523d
│ │ │ │ │ │ ├── 10/
│ │ │ │ │ │ │ └── 1d434d4490c740eced15324c99ee29016ea32f
│ │ │ │ │ │ ├── 11/
│ │ │ │ │ │ │ └── 2c7dca3abb01000dd25be3311b2fba3830b236
│ │ │ │ │ │ ├── 12/
│ │ │ │ │ │ │ └── 7ca0e634ecf2adf61073586375cb323a1d85a4
│ │ │ │ │ │ ├── 14/
│ │ │ │ │ │ │ └── 8000868e5949af16afff045d942f9dd8eed13f
│ │ │ │ │ │ ├── 15/
│ │ │ │ │ │ │ └── b88930d2496e30118a3f841c3f2aa8ffd4ed13
│ │ │ │ │ │ ├── 18/
│ │ │ │ │ │ │ └── 5570b2b1dfeab43db427ce50ce75400d823d6b
│ │ │ │ │ │ ├── 1e/
│ │ │ │ │ │ │ └── f0913976db2004980575ed815c30c65acd5599
│ │ │ │ │ │ ├── 1f/
│ │ │ │ │ │ │ └── 4717172e07e12150feb061b2ab847c3054f53f
│ │ │ │ │ │ ├── 20/
│ │ │ │ │ │ │ └── 217d8f5e2a9f356ef9079c7fa79e71fadbeac1
│ │ │ │ │ │ ├── 21/
│ │ │ │ │ │ │ └── e864b0c4664334e97ff1b6f1a685dcd3675e4e
│ │ │ │ │ │ ├── 23/
│ │ │ │ │ │ │ └── 9065dde633ca0f105d781ace69c59c71293e82
│ │ │ │ │ │ ├── 26/
│ │ │ │ │ │ │ ├── 28cc387ad9c9728c14f54aab1e9b7f2c141f94
│ │ │ │ │ │ │ └── b8fcc60eca5835413089c56b6379e3d090ac34
│ │ │ │ │ │ ├── 27/
│ │ │ │ │ │ │ └── 72e6269cb0551bb2e0164831f2fe24cccf0be6
│ │ │ │ │ │ ├── 28/
│ │ │ │ │ │ │ └── 0f5b6aa969c0694a8956ccdbd2264367e02560
│ │ │ │ │ │ ├── 29/
│ │ │ │ │ │ │ └── c0a1f42ef799b2d335162003a76711fa966fce
│ │ │ │ │ │ ├── 2d/
│ │ │ │ │ │ │ └── fcb5fcb76e0d116dba835adea77f3d3766e5d6
│ │ │ │ │ │ ├── 37/
│ │ │ │ │ │ │ └── c3f8060359192150945916cbc2d72bce804b4d
│ │ │ │ │ │ ├── 3a/
│ │ │ │ │ │ │ └── 9ec2876515232c575df2a8a5bda048e7eb5ad5
│ │ │ │ │ │ ├── 3b/
│ │ │ │ │ │ │ └── 01324cd2ee8d171c6702d9c31849e2c37ab678
│ │ │ │ │ │ ├── 3d/
│ │ │ │ │ │ │ └── 10ba814d9aa3fa4f927cd0131b1d00d3d9aeae
│ │ │ │ │ │ ├── 3f/
│ │ │ │ │ │ │ └── d195f23055938acdb268e8d0526fcae67dab8f
│ │ │ │ │ │ ├── 40/
│ │ │ │ │ │ │ └── e19b3f3b43ae017d94f2ee16e18dff402f8031
│ │ │ │ │ │ ├── 48/
│ │ │ │ │ │ │ └── 0b152f09f018929bc5c63bb532e3ed027ac633
│ │ │ │ │ │ ├── 49/
│ │ │ │ │ │ │ └── 889318cf43f1d9468375589d9e71d9945795c3
│ │ │ │ │ │ ├── 4a/
│ │ │ │ │ │ │ └── 087062c6e7c9a4fc15338f91f39955277c2aac
│ │ │ │ │ │ ├── 4b/
│ │ │ │ │ │ │ └── d53b86b2bf3c36d3b663ee5a67b9b3bbba6be6
│ │ │ │ │ │ ├── 4d/
│ │ │ │ │ │ │ └── 647c8944eb42504a714e57e97f244ed6344722
│ │ │ │ │ │ ├── 50/
│ │ │ │ │ │ │ └── 2234f5f8648ac4bdc0b3098c9ce3dd9d849a80
│ │ │ │ │ │ ├── 57/
│ │ │ │ │ │ │ ├── 0eb8465187dd5a4ee53c9bf7417ab12f0dfa3f
│ │ │ │ │ │ │ └── 98d0fbf46e47660a20345056a50710b701f022
│ │ │ │ │ │ ├── 5b/
│ │ │ │ │ │ │ ├── 3e855be12d54db5dff598c42bcf843bc295744
│ │ │ │ │ │ │ └── 641875e024007eb2e592eb0f5bae851c8c1e2b
│ │ │ │ │ │ ├── 5d/
│ │ │ │ │ │ │ ├── 2504b1cfdd9a98c5380cde76d0a5571826a9dc
│ │ │ │ │ │ │ └── a98880f36e704eeb583c2c02f23cc7ea6808aa
│ │ │ │ │ │ ├── 5f/
│ │ │ │ │ │ │ └── 4cb4d16da90af9c6e25c41ed76daab1942b544
│ │ │ │ │ │ ├── 60/
│ │ │ │ │ │ │ └── 8dc0a158429a38cbc372766a48b69f11f5ca0d
│ │ │ │ │ │ ├── 63/
│ │ │ │ │ │ │ └── 17c9f21d00bd0bb7613827a43e47f6713e4ade
│ │ │ │ │ │ ├── 64/
│ │ │ │ │ │ │ ├── 6046a6c13cfd89eb527f20db57a4c016979edb
│ │ │ │ │ │ │ └── 71e3de04847308a90b2c93c0056d74c6ae9476
│ │ │ │ │ │ ├── 65/
│ │ │ │ │ │ │ └── a708cee0a4424f4e353d031ce440643e312f92
│ │ │ │ │ │ ├── 66/
│ │ │ │ │ │ │ └── aff32b130a4d51c146b383d9cf27d7466e147b
│ │ │ │ │ │ ├── 67/
│ │ │ │ │ │ │ └── feb8173c2cd7223600130ed9c0764342405fa6
│ │ │ │ │ │ ├── 69/
│ │ │ │ │ │ │ └── 9a2f63bb005007bb06778ea528c7b1c00d43ce
│ │ │ │ │ │ ├── 6a/
│ │ │ │ │ │ │ └── 8bd97bdb1fc0d08a83459940498ea49d3e8c93
│ │ │ │ │ │ ├── 6e/
│ │ │ │ │ │ │ ├── 17f4e2c52c2de7e44f5bab2c77bb9edb90b9f5
│ │ │ │ │ │ │ ├── 84be54d16dbfd483ebbade5ed5a10014ec7266
│ │ │ │ │ │ │ └── 91dded25d73176bf7f60b40dd7aa1f0bf9be8d
│ │ │ │ │ │ ├── 70/
│ │ │ │ │ │ │ └── f89066c35fda0e334ef245ef5c60e6708341e0
│ │ │ │ │ │ ├── 71/
│ │ │ │ │ │ │ └── a9c0834b6fe637b9d6920103649631f450726c
│ │ │ │ │ │ ├── 75/
│ │ │ │ │ │ │ ├── 0775f1a90340a6623c100b772e2a0b307c5054
│ │ │ │ │ │ │ ├── b48cb265487907866911458bc9bf32cf209634
│ │ │ │ │ │ │ └── daccd5b88bc3b896829d68ac9529ecf9aeae92
│ │ │ │ │ │ ├── 77/
│ │ │ │ │ │ │ └── 530f537eb200c0781aac768e568bf35191525c
│ │ │ │ │ │ ├── 79/
│ │ │ │ │ │ │ └── 47f6c4ab977daeaec6fef9e38085657d36675e
│ │ │ │ │ │ ├── 7a/
│ │ │ │ │ │ │ └── 5bd4d7ddd9b659729fc6c830c1126c7f8c1712
│ │ │ │ │ │ ├── 7b/
│ │ │ │ │ │ │ └── 5f5d114afb9961e22830eede9c7442bec53ab9
│ │ │ │ │ │ ├── 7c/
│ │ │ │ │ │ │ └── 674d9e72017ed25f6d2b5e497a1368086b6a6f
│ │ │ │ │ │ ├── 7d/
│ │ │ │ │ │ │ ├── 3413885fee11ef0fbf9d5f6bcf992f99b02285
│ │ │ │ │ │ │ └── 71f2833a24ff9f1f0ada0c654ab6541d75b976
│ │ │ │ │ │ ├── 7f/
│ │ │ │ │ │ │ └── aa7fcdd20c7484bc89fdd48acb67ed44b8ba2e
│ │ │ │ │ │ ├── 82/
│ │ │ │ │ │ │ └── b174f6332655d503dfd42e74259a94f06eb696
│ │ │ │ │ │ ├── 83/
│ │ │ │ │ │ │ └── 3adc053967329865168c837874a47f1f4e23c0
│ │ │ │ │ │ ├── 84/
│ │ │ │ │ │ │ └── 2876a4cf487b6c7ac7cfb3d4f6e902cb54607f
│ │ │ │ │ │ ├── 85/
│ │ │ │ │ │ │ └── 6b96dcb49d6427babe192998a35190a12c2230
│ │ │ │ │ │ ├── 88/
│ │ │ │ │ │ │ └── 1a621de1c88c6fc5dc1b3d7e837156be2931af
│ │ │ │ │ │ ├── 89/
│ │ │ │ │ │ │ └── 28cefc2fa35cd05ce6321699e98126054eadc9
│ │ │ │ │ │ ├── 8a/
│ │ │ │ │ │ │ └── c9499438b6c13104a923a1b695d5379e56a467
│ │ │ │ │ │ ├── 8c/
│ │ │ │ │ │ │ └── 6fa02d2225de0f9bdcb7ca912556f68d172d8c
│ │ │ │ │ │ ├── 8e/
│ │ │ │ │ │ │ └── 9c5e77ebd49acf62aa528890fc7601040ad08d
│ │ │ │ │ │ ├── 8f/
│ │ │ │ │ │ │ └── 6580ab1dda79bb18edd54f6dc7a8c18bbf6e2b
│ │ │ │ │ │ ├── 93/
│ │ │ │ │ │ │ └── a2c0f3a77d73a491fbf5a56fb07e36c80e36b6
│ │ │ │ │ │ ├── 95/
│ │ │ │ │ │ │ └── 21036ffb277bf794545ab2360fa412b28ad25c
│ │ │ │ │ │ ├── 97/
│ │ │ │ │ │ │ ├── 206b3170fb7e2e5c28333eab815dcd6d47d369
│ │ │ │ │ │ │ ├── 74f4b835ad337d269359a6c3636a1eb59b0fa7
│ │ │ │ │ │ │ └── eaaf32e268581f7df9a7544607fcf6483da93b
│ │ │ │ │ │ ├── 9a/
│ │ │ │ │ │ │ ├── 62a2af8c1fb2e1a899d0f69865dcd9103f936b
│ │ │ │ │ │ │ └── e98369f6cf4153135b50887905a519c8eb8c0d
│ │ │ │ │ │ ├── 9c/
│ │ │ │ │ │ │ ├── 28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744
│ │ │ │ │ │ │ └── 5894c1689f8fbeaba0067295763d8f302da0bc
│ │ │ │ │ │ ├── 9d/
│ │ │ │ │ │ │ └── 9ce1213e32036f555185d5a7df854d6f801ef8
│ │ │ │ │ │ ├── a2/
│ │ │ │ │ │ │ └── 72c3cbd5ff80a5bf5c5603df50183f9f3f7324
│ │ │ │ │ │ ├── a8/
│ │ │ │ │ │ │ └── b0fa56c31e6e8ce5a858808216b2bbd4a5e3b5
│ │ │ │ │ │ ├── aa/
│ │ │ │ │ │ │ ├── 6658f8529bdc3c09ef21bfa6a195837ec253f9
│ │ │ │ │ │ │ └── e3745adf05cb1f24cc160de3d54043577aa5d0
│ │ │ │ │ │ ├── ab/
│ │ │ │ │ │ │ └── 97c7a63a9819fef6e2627f31e189fa7a1a06bd
│ │ │ │ │ │ ├── ae/
│ │ │ │ │ │ │ └── f4831dd215fcecb900b0f80c25e209edb4359b
│ │ │ │ │ │ ├── af/
│ │ │ │ │ │ │ └── d5f74d88220992585c13967fb940488a39a708
│ │ │ │ │ │ ├── b0/
│ │ │ │ │ │ │ └── c17e29c6182504c32f32559c99e07f837be593
│ │ │ │ │ │ ├── b2/
│ │ │ │ │ │ │ ├── 02029d1e0c1ce853d3a001dab5f242dea7b574
│ │ │ │ │ │ │ └── 4564e919247d7c870fe0ed3738c98d8741aca4
│ │ │ │ │ │ ├── b3/
│ │ │ │ │ │ │ ├── 0330ba347cf990afe64560fe72e4ed3519d64e
│ │ │ │ │ │ │ ├── 38a0e4424a2633bba0fe169146d68b827c6829
│ │ │ │ │ │ │ └── 9c715a51cbccf9a8ef8a9ce38fab0620f7f8ac
│ │ │ │ │ │ ├── b6/
│ │ │ │ │ │ │ └── 20a7591d08f55e771557eb711d92ee6f4bc5f9
│ │ │ │ │ │ ├── b7/
│ │ │ │ │ │ │ ├── 1d1ff1f8dea8a497885d85a2b9004e831af5c1
│ │ │ │ │ │ │ └── 29bcb755a53c20568f850dec45e1ff821134c9
│ │ │ │ │ │ ├── b8/
│ │ │ │ │ │ │ └── 354ec4b033c34718414ce79805961913c045f1
│ │ │ │ │ │ ├── ba/
│ │ │ │ │ │ │ └── a427835b16a8b0894b88f7a08a97637acd5147
│ │ │ │ │ │ ├── bb/
│ │ │ │ │ │ │ └── dcadf158386570a3bca08b68a7050024462deb
│ │ │ │ │ │ ├── bc/
│ │ │ │ │ │ │ └── 81c21bd0d8be5ba2d6630a505d79d4467566e7
│ │ │ │ │ │ ├── bd/
│ │ │ │ │ │ │ ├── 3571639f68d5832c59b26fe606303eccf9842f
│ │ │ │ │ │ │ └── 72adf685c31146a0dc68f313918652b57dd393
│ │ │ │ │ │ ├── be/
│ │ │ │ │ │ │ └── 0d20954ebff54d97f8cb3fb930b78d3eac347a
│ │ │ │ │ │ ├── c2/
│ │ │ │ │ │ │ └── cde8cf824ab44be22ebcea6e5790ffef578766
│ │ │ │ │ │ ├── c4/
│ │ │ │ │ │ │ └── 6add8a652801b61513ad36c56759f302fbb028
│ │ │ │ │ │ ├── c9/
│ │ │ │ │ │ │ └── b43d98fc39a2f12d519e491545f07416f756bc
│ │ │ │ │ │ ├── cb/
│ │ │ │ │ │ │ └── 51c97a4e2e17b9fe3514050baf1b2773d071f2
│ │ │ │ │ │ ├── cc/
│ │ │ │ │ │ │ ├── 1e7b18707d712254bbbbbec77cd21ef6f916d5
│ │ │ │ │ │ │ └── c41c38dde0abc584808c2abfb23e85a2e03b5a
│ │ │ │ │ │ ├── ce/
│ │ │ │ │ │ │ └── 4404d976ba63e40e1f058ccdac89722f1eb31a
│ │ │ │ │ │ ├── cf/
│ │ │ │ │ │ │ └── 16ed9f223764ff447adcaed555283eb6a0d18b
│ │ │ │ │ │ ├── d1/
│ │ │ │ │ │ │ └── 371ecdb41640e57208c5ed5e4b0f5249b4364d
│ │ │ │ │ │ ├── d2/
│ │ │ │ │ │ │ └── c308529e1f492ab3e065a735f082ff8657d95a
│ │ │ │ │ │ ├── d4/
│ │ │ │ │ │ │ └── d0c4bdae5977ab62ddb74d97f775d384457c16
│ │ │ │ │ │ ├── d6/
│ │ │ │ │ │ │ ├── 38dcb7c7c1c9b62f3a6297a17834980d245dc7
│ │ │ │ │ │ │ ├── 71d98363b02cd8127087b4675ae77396db5843
│ │ │ │ │ │ │ └── bf4ef243b7f3b96d8a4249e63af711ef33d53e
│ │ │ │ │ │ ├── db/
│ │ │ │ │ │ │ └── b7c2d02e284aa24423e3e6e105969dffe6e4d6
│ │ │ │ │ │ ├── de/
│ │ │ │ │ │ │ ├── 6eb9ed663ee61eab238d5780cd8ffcab977f7f
│ │ │ │ │ │ │ └── d646f9783b3b64db74703f1bfc9d02f683ccc7
│ │ │ │ │ │ ├── df/
│ │ │ │ │ │ │ └── 823e6f1f996e45c0a5a81ca2b55cfc289f8264
│ │ │ │ │ │ ├── e1/
│ │ │ │ │ │ │ └── 67cfeeaaa9bcdffc220e65b962c9d32f681032
│ │ │ │ │ │ ├── e2/
│ │ │ │ │ │ │ ├── 49c1bcbf134cc63c70c4bd0403cc22c1bf11fc
│ │ │ │ │ │ │ └── 91587027b16ffd7fb0e5bdd6bf203e8ed2620f
│ │ │ │ │ │ ├── e4/
│ │ │ │ │ │ │ └── 58bb7ab84aae1bb4b4d36eccf9332f0d659e38
│ │ │ │ │ │ ├── e7/
│ │ │ │ │ │ │ └── a058d8ef0a38b821593a20ac3c8da952089f1e
│ │ │ │ │ │ ├── e9/
│ │ │ │ │ │ │ └── 90b3f5582bad9a64ad391945aa65b04646025d
│ │ │ │ │ │ ├── ec/
│ │ │ │ │ │ │ ├── 2fe7859914a5106dcab4e7901633d959bfc2f4
│ │ │ │ │ │ │ └── 452170d21fadd9e927f24ae471a258dc545261
│ │ │ │ │ │ ├── ed/
│ │ │ │ │ │ │ ├── 0a8cae348ee02108f96dc8ef1314c0ff55596d
│ │ │ │ │ │ │ └── ec728e4f5af31cbfec3e32fd4c7d4c9a301db0
│ │ │ │ │ │ ├── ee/
│ │ │ │ │ │ │ └── a11ee5dba037073a03d5966ba6746da3e49aee
│ │ │ │ │ │ ├── ef/
│ │ │ │ │ │ │ └── 9dc3a04d6a71ae4998f4d38232424183bbac8a
│ │ │ │ │ │ ├── f1/
│ │ │ │ │ │ │ └── eef77925c262e65c12f60a0bd1229b6d954709
│ │ │ │ │ │ ├── f2/
│ │ │ │ │ │ │ └── 3da7b8966f2ac858367c469fc5d9c4d3d4bb1a
│ │ │ │ │ │ ├── f6/
│ │ │ │ │ │ │ └── 2e98d28ab7ad31d707ba837a966378465c7b57
│ │ │ │ │ │ ├── f9/
│ │ │ │ │ │ │ └── d34972c1fa7a8d3d4158ab46503a6e7a99e822
│ │ │ │ │ │ ├── fa/
│ │ │ │ │ │ │ └── ae734d1543a4fbe986bb285e4f0b8283358b0b
│ │ │ │ │ │ ├── ff/
│ │ │ │ │ │ │ └── fd48a6bc84c3e4887427e82765ab35f7330da6
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-77d0e83c2cda2a56071c8ba7607f7af85b4a3c05.idx
│ │ │ │ │ │ ├── pack-77d0e83c2cda2a56071c8ba7607f7af85b4a3c05.pack
│ │ │ │ │ │ ├── pack-7e04f14864fc82be60df44e03e658ef5050836e2.idx
│ │ │ │ │ │ ├── pack-7e04f14864fc82be60df44e03e658ef5050836e2.pack
│ │ │ │ │ │ ├── pack-bfb5452876eff599619a3cbd8884c69901cd378c.idx
│ │ │ │ │ │ ├── pack-bfb5452876eff599619a3cbd8884c69901cd378c.pack
│ │ │ │ │ │ ├── pack-e8ea67467fac4943a9b6251e7c002ab6143e148a.idx
│ │ │ │ │ │ ├── pack-e8ea67467fac4943a9b6251e7c002ab6143e148a.pack
│ │ │ │ │ │ ├── pack-f0e44da11965862fc6013312001b2c1493d12093.idx
│ │ │ │ │ │ └── pack-f0e44da11965862fc6013312001b2c1493d12093.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── bindpflag-readme
│ │ │ │ │ └── master
│ │ │ │ ├── zsh_completions.go
│ │ │ │ └── zsh_completions_test.go
│ │ │ ├── jwalterweatherman/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── default_notepad.go
│ │ │ │ ├── default_notepad_test.go
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── master
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 12/
│ │ │ │ │ │ │ └── bd96e66386c1960ab0f74ced1362f66f552f7b
│ │ │ │ │ │ ├── 58/
│ │ │ │ │ │ │ └── 8a373c47420353c3006fb27c00b7ee252fc399
│ │ │ │ │ │ ├── 7c/
│ │ │ │ │ │ │ └── 0cea34c8ece3fbeb2b27ab9b59511d360fb394
│ │ │ │ │ │ ├── ae/
│ │ │ │ │ │ │ └── 5aaf7114a1896dadae1b9482ddb3f81f24ef1c
│ │ │ │ │ │ ├── c0/
│ │ │ │ │ │ │ └── d0b5930fe7bdf3fbf50eeb46acc84af9cf4956
│ │ │ │ │ │ ├── d8/
│ │ │ │ │ │ │ └── cfd27ab931b8ce5aa19bad7aab5cdb2fe8f14b
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-72a6182a686743a94f097424e9ce449d9c9a8aab.idx
│ │ │ │ │ │ └── pack-72a6182a686743a94f097424e9ce449d9c9a8aab.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── log_counter.go
│ │ │ │ ├── notepad.go
│ │ │ │ └── notepad_test.go
│ │ │ ├── pflag/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .travis.yml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── bool.go
│ │ │ │ ├── bool_slice.go
│ │ │ │ ├── bool_slice_test.go
│ │ │ │ ├── bool_test.go
│ │ │ │ ├── count.go
│ │ │ │ ├── count_test.go
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── FETCH_HEAD
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── ORIG_HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── master
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ ├── 00/
│ │ │ │ │ │ │ └── 26d781d9fb8ee93031d279223f46793fa98eb8
│ │ │ │ │ │ ├── 01/
│ │ │ │ │ │ │ ├── 543a38a293fc35d694ae63c21a3c66f7414e9e
│ │ │ │ │ │ │ └── 665e1eb3d0533dca0e5acffdff9eec1fcb886f
│ │ │ │ │ │ ├── 04/
│ │ │ │ │ │ │ ├── b5492a7d365cbfb9e979055151ec13698b3cb1
│ │ │ │ │ │ │ └── e0a26ff7f2653b7c569dabe8cb91296d76e288
│ │ │ │ │ │ ├── 08/
│ │ │ │ │ │ │ └── ad9456588688778ed462640a75278d426147f8
│ │ │ │ │ │ ├── 0a/
│ │ │ │ │ │ │ └── 7c136222914a940f4139f76dff16a805c54b5d
│ │ │ │ │ │ ├── 0b/
│ │ │ │ │ │ │ ├── 879204d147d343013bfd9df10c26e0d9fdda0b
│ │ │ │ │ │ │ └── afd385fc90316fca1a4285c6aeec10789090a4
│ │ │ │ │ │ ├── 0c/
│ │ │ │ │ │ │ ├── 67c24fb76fca600fca8de5830ffe3e01a89461
│ │ │ │ │ │ │ └── d3ccc083e28dc1a53874e8ade0759e1ef58425
│ │ │ │ │ │ ├── 0d/
│ │ │ │ │ │ │ └── e53385665dfc8fa6bb8ddf49c5facf52d602b9
│ │ │ │ │ │ ├── 0e/
│ │ │ │ │ │ │ └── 7ce96826adebbd2556517e0a993030ef3a0c51
│ │ │ │ │ │ ├── 10/
│ │ │ │ │ │ │ └── 3ce5cd2042f2fe629c1957abb64ab3e7f50235
│ │ │ │ │ │ ├── 13/
│ │ │ │ │ │ │ └── e924deb5961431f4836dcb0e247254b9cc23d4
│ │ │ │ │ │ ├── 14/
│ │ │ │ │ │ │ └── 74b89df6654b1ddcc9d3107f54966aa67e72a2
│ │ │ │ │ │ ├── 15/
│ │ │ │ │ │ │ └── 60c1005499d61b80f865c04d39ca7505bf7f0b
│ │ │ │ │ │ ├── 18/
│ │ │ │ │ │ │ └── 7e4c9af7f2f986bc48c7db4f1d717fbd0eef21
│ │ │ │ │ │ ├── 19/
│ │ │ │ │ │ │ ├── 1ef6fd817dfda320833b43a97932f049562514
│ │ │ │ │ │ │ └── 3f842c97c2be7d90193b0cc93f63e8ba362ba6
│ │ │ │ │ │ ├── 1a/
│ │ │ │ │ │ │ └── dc4c7daa8182dacc9226e19bd4edc9310ee855
│ │ │ │ │ │ ├── 1b/
│ │ │ │ │ │ │ └── efb9495484af40a1ae4048b12fd9fc4bef2fea
│ │ │ │ │ │ ├── 1c/
│ │ │ │ │ │ │ ├── eac8c6c699aee5b04c97bac16661a8b71a4b93
│ │ │ │ │ │ │ └── eb032c43c28e6511309bcd3e3e40e3026f5294
│ │ │ │ │ │ ├── 1e/
│ │ │ │ │ │ │ └── d5f6b7445569d09aa77a6071958ec49f6329c8
│ │ │ │ │ │ ├── 1f/
│ │ │ │ │ │ │ ├── 296710f879815ad9e6d39d947c828c3e4b4c3d
│ │ │ │ │ │ │ └── 33b80956cde38911d1f23d764deb8d77a649ce
│ │ │ │ │ │ ├── 23/
│ │ │ │ │ │ │ └── 0e229ea057d1dfa67530d799650af8ffc1cb9c
│ │ │ │ │ │ ├── 25/
│ │ │ │ │ │ │ └── 3e78081c8b881fd5837570636965e524784ca1
│ │ │ │ │ │ ├── 26/
│ │ │ │ │ │ │ └── 118c70112fcad87f5ec6b5c09086069ba6f646
│ │ │ │ │ │ ├── 28/
│ │ │ │ │ │ │ └── 538c0750ba55a241175b4100a5fb3a6e5abccd
│ │ │ │ │ │ ├── 29/
│ │ │ │ │ │ │ └── fec8671cf91776773da55da2eb7e16f0b86743
│ │ │ │ │ │ ├── 2b/
│ │ │ │ │ │ │ └── 9a66ea31c8d882d5783cad12f02a5bc061a278
│ │ │ │ │ │ ├── 2c/
│ │ │ │ │ │ │ ├── 300e72a98b4351617d9b927d2d2860ece8ee24
│ │ │ │ │ │ │ └── 85f67fd8ed06de4939c149a7d156e9a7e094a5
│ │ │ │ │ │ ├── 36/
│ │ │ │ │ │ │ ├── 691c652d7af84770e6ff0e2e0cbfcd14597756
│ │ │ │ │ │ │ └── 7864438f1b1a3c7db4da06a2f55b144e6784e0
│ │ │ │ │ │ ├── 37/
│ │ │ │ │ │ │ └── 85d375aa503789e67ea8af28a0d18f2396828c
│ │ │ │ │ │ ├── 39/
│ │ │ │ │ │ │ └── 738d3ba33aeca94d41c3a7a021040951d58353
│ │ │ │ │ │ ├── 3e/
│ │ │ │ │ │ │ ├── 38a0f4e1f8c523638bf6def6fa8ee4e37eb86f
│ │ │ │ │ │ │ └── 3eb74f36be195c71387f53486122e7bd53c6af
│ │ │ │ │ │ ├── 40/
│ │ │ │ │ │ │ └── 7cff68662199c007da5e4aeb6a7786e5b5c2e4
│ │ │ │ │ │ ├── 42/
│ │ │ │ │ │ │ ├── 0b07eb66b205e132a0111c9bb2811175a12a96
│ │ │ │ │ │ │ ├── 33b40c6723a4375295ec3f718b6a7bb72f3619
│ │ │ │ │ │ │ └── 58f456bf0c4650c0f86e5e279f2519205de069
│ │ │ │ │ │ ├── 43/
│ │ │ │ │ │ │ └── 20ce2c9a98a978416b0d368619244ddaaeec69
│ │ │ │ │ │ ├── 46/
│ │ │ │ │ │ │ └── 0d96a6f1733b6c199f4bf88a11035d9f1fe03a
│ │ │ │ │ │ ├── 47/
│ │ │ │ │ │ │ └── 7625a9e13468dd61981baeade64e055d93214f
│ │ │ │ │ │ ├── 48/
│ │ │ │ │ │ │ └── 9b012ffdaa8804be59292a0ba1aafedcc96f42
│ │ │ │ │ │ ├── 49/
│ │ │ │ │ │ │ └── 309d3c76fea4ccdc96e849bf1bed1d834a1bf1
│ │ │ │ │ │ ├── 4a/
│ │ │ │ │ │ │ └── d1d38af3c5051df2717130aadea4c40d3699d7
│ │ │ │ │ │ ├── 4b/
│ │ │ │ │ │ │ └── d69631f4750a9df249ee317f4536e02cbc3c65
│ │ │ │ │ │ ├── 4c/
│ │ │ │ │ │ │ └── 012f6dcd9546820e378d0bdda4d8fc772cdfea
│ │ │ │ │ │ ├── 4d/
│ │ │ │ │ │ │ └── a92228e63e24f3c3ecfcc98493ca222fa797c0
│ │ │ │ │ │ ├── 4e/
│ │ │ │ │ │ │ └── 958ba273e2c0b767f73131d061f8595f982861
│ │ │ │ │ │ ├── 4f/
│ │ │ │ │ │ │ ├── 7310d3b8d26f97d407adc7baeab21e40c73602
│ │ │ │ │ │ │ └── 9190456aed1c2113ca51ea9b89219747458dc1
│ │ │ │ │ │ ├── 50/
│ │ │ │ │ │ │ └── 4e59d55b872031dd46aa73471e19f24e46ddee
│ │ │ │ │ │ ├── 51/
│ │ │ │ │ │ │ └── e3c5d22384634ba34d6e21e40661adc397e139
│ │ │ │ │ │ ├── 52/
│ │ │ │ │ │ │ └── c6b6dc1041f48e56a84c79369f0a15c7c3bee7
│ │ │ │ │ │ ├── 58/
│ │ │ │ │ │ │ └── 0ad22f59cc94136b7747c3164a31e30eeffcfd
│ │ │ │ │ │ ├── 5b/
│ │ │ │ │ │ │ └── 54501df936f43e0d858576a9285b65f30407fa
│ │ │ │ │ │ ├── 5c/
│ │ │ │ │ │ │ ├── 2d607c75df0540c877524f9e82d3edb7748668
│ │ │ │ │ │ │ └── cb023bc27df288a957c5e994cd44fd19619465
│ │ │ │ │ │ ├── 63/
│ │ │ │ │ │ │ └── 2d07c2c495285ab989bb875646960e56b33d88
│ │ │ │ │ │ ├── 64/
│ │ │ │ │ │ │ └── 54a84b6da0ea8b628d5d8a26759f62c6c161b4
│ │ │ │ │ │ ├── 67/
│ │ │ │ │ │ │ └── c0ed1945717dcfb2545f7c9ae3592274d88e10
│ │ │ │ │ │ ├── 68/
│ │ │ │ │ │ │ └── ea82416301b0dabac8b1c0985d40a0bfd798b5
│ │ │ │ │ │ ├── 69/
│ │ │ │ │ │ │ └── fafa7341b4e66379268b87b7e4166e91f5b0ea
│ │ │ │ │ │ ├── 6a/
│ │ │ │ │ │ │ └── 877ebacf28c5fc79846f4fcd380a5d9872b997
│ │ │ │ │ │ ├── 6b/
│ │ │ │ │ │ │ └── 17fe97f4bd89a8ddeb415c6012893d6656465e
│ │ │ │ │ │ ├── 6c/
│ │ │ │ │ │ │ └── a95541eb211fa1846ea9319fd3466f489af795
│ │ │ │ │ │ ├── 6e/
│ │ │ │ │ │ │ └── 3a4b33506602922b5e840801a7bf1f2c9f030f
│ │ │ │ │ │ ├── 6f/
│ │ │ │ │ │ │ └── d2ff4ff8dfcdf5556fbdc0ac0284408274b1a7
│ │ │ │ │ │ ├── 70/
│ │ │ │ │ │ │ ├── 7bdc39a7f120212d27108179a17e304409558f
│ │ │ │ │ │ │ └── 8651e313d153dc6e9eed236091514873cb2e33
│ │ │ │ │ │ ├── 73/
│ │ │ │ │ │ │ └── c237b0781dab6d2252cc23b779f9b805ace1c1
│ │ │ │ │ │ ├── 74/
│ │ │ │ │ │ │ ├── 54d60ac082b3cdfdbde3f840dc4348ca95a614
│ │ │ │ │ │ │ ├── 5aecb950a2aa197c221021a2d1f7eafeae386d
│ │ │ │ │ │ │ └── a7afd606b18f37c1626a645906bc1a9e75007d
│ │ │ │ │ │ ├── 75/
│ │ │ │ │ │ │ └── 97b2702729ebb651fc9bb2adac40bcc62db82d
│ │ │ │ │ │ ├── 78/
│ │ │ │ │ │ │ ├── 0c7ffb5bec3613187a47fe2b8dcc2ef20127fe
│ │ │ │ │ │ │ └── 29cfafb29a1c12feb67747b8298518bbc927d8
│ │ │ │ │ │ ├── 7a/
│ │ │ │ │ │ │ └── ff26db30c1be810f9de5038ec5ef96ac41fd7c
│ │ │ │ │ │ ├── 7b/
│ │ │ │ │ │ │ ├── 17cc4658ef5ca157b986ea5c0b43af7938532b
│ │ │ │ │ │ │ └── 84e2cde92cdac072d334c4d30b4f1e093f945a
│ │ │ │ │ │ ├── 7e/
│ │ │ │ │ │ │ └── 9914eddded70662356d132d2b16623c9bd807c
│ │ │ │ │ │ ├── 85/
│ │ │ │ │ │ │ └── c34a7ce976e06dd20a5e7aaccb568121348c08
│ │ │ │ │ │ ├── 86/
│ │ │ │ │ │ │ └── b37e53d719c571074b7f40574499df58282c0a
│ │ │ │ │ │ ├── 8f/
│ │ │ │ │ │ │ └── 6a28b0916586e7f22fe931ae2fcfc380b1c0e6
│ │ │ │ │ │ ├── 90/
│ │ │ │ │ │ │ └── 8f5315b68abbed0170c5c1fde821a3a7aabdc2
│ │ │ │ │ │ ├── 91/
│ │ │ │ │ │ │ └── ff7dd057731d7010d888fb5395d5899c59e380
│ │ │ │ │ │ ├── 92/
│ │ │ │ │ │ │ ├── 7a44080ace93187e5b0e93c54d6c29ad6144ed
│ │ │ │ │ │ │ └── abf1943761d39805d58c36456e757becf78b92
│ │ │ │ │ │ ├── 93/
│ │ │ │ │ │ │ └── b4e43290a04ed8043405bfa739727fb83641a3
│ │ │ │ │ │ ├── 96/
│ │ │ │ │ │ │ └── 5df13797a13efdeba64aac816023b91fbcf03a
│ │ │ │ │ │ ├── 97/
│ │ │ │ │ │ │ └── afa5e7ca8a08a383cb259e06636b5e2cc7897f
│ │ │ │ │ │ ├── 98/
│ │ │ │ │ │ │ └── a4b6bf55b492cb5a5a4c4697c401d527876fa1
│ │ │ │ │ │ ├── 9b/
│ │ │ │ │ │ │ └── 95944f0fe3c897d503c4a94a19c2271cbcc26c
│ │ │ │ │ │ ├── a1/
│ │ │ │ │ │ │ └── 3921d2f956128ed2d1c123d89749db36625645
│ │ │ │ │ │ ├── a2/
│ │ │ │ │ │ │ └── 43f81f7fbb900c5f69b3a13b040bfe26b8cecf
│ │ │ │ │ │ ├── a4/
│ │ │ │ │ │ │ └── 319e79fcdaacfea82f31b78e51bae1a8af1e6c
│ │ │ │ │ │ ├── a9/
│ │ │ │ │ │ │ └── 789e855c7696159b7db0db7f440b449edf2b31
│ │ │ │ │ │ ├── aa/
│ │ │ │ │ │ │ └── 126e44d1c83255b9283a73ef38e4068c2f5922
│ │ │ │ │ │ ├── ab/
│ │ │ │ │ │ │ └── 5e840d6a03a1115acc60f555f452e31b204226
│ │ │ │ │ │ ├── ad/
│ │ │ │ │ │ │ └── c6ccc62c61bc48e0ba9c6e71fdc4d23558af9f
│ │ │ │ │ │ ├── b0/
│ │ │ │ │ │ │ ├── 27180f68d2dd09ce6a5b64a4e03b9413c8421e
│ │ │ │ │ │ │ ├── b0d46f7ffe1a24eed25bcce6e8309ef2e48bb2
│ │ │ │ │ │ │ └── eb4ffee0254f791549889950e4fc05bb9c56a0
│ │ │ │ │ │ ├── b2/
│ │ │ │ │ │ │ ├── 94fc768d22573e4916b383a06358bac448ed93
│ │ │ │ │ │ │ └── cdba01d8c7de00a8924812f774f33ee97f709a
│ │ │ │ │ │ ├── b3/
│ │ │ │ │ │ │ ├── 6bf8b7f77c3eff847e3616cfdeb9b88538453f
│ │ │ │ │ │ │ └── 8ddae17129b3c437006f13d3cfef7b31b0fd87
│ │ │ │ │ │ ├── b8/
│ │ │ │ │ │ │ └── 3537d79690b75cac5e021b036ae16792bf0f20
│ │ │ │ │ │ ├── bb/
│ │ │ │ │ │ │ ├── 03cfcaadefa99ce8214d353fc987eebf662347
│ │ │ │ │ │ │ └── 0e83c1f6d7d2a540f74a0652639eccdb8c5cf2
│ │ │ │ │ │ ├── be/
│ │ │ │ │ │ │ └── 7121dd7a937a85e1e4b1ddda6a3edce3466110
│ │ │ │ │ │ ├── bf/
│ │ │ │ │ │ │ └── 8481a6aebc13a8aab52e699ffe2e79771f5a3f
│ │ │ │ │ │ ├── c2/
│ │ │ │ │ │ │ └── 8f3bd454ba1743452f14fadd6bfddbbef549b4
│ │ │ │ │ │ ├── c4/
│ │ │ │ │ │ │ ├── 1f3bd660d5b735e6603e02a630c2701869922d
│ │ │ │ │ │ │ └── c5c0bfda095257e849395a0b79e7e83b2a121a
│ │ │ │ │ │ ├── c6/
│ │ │ │ │ │ │ └── 5cf07d70dfbd07a44366523d988cd567e2659f
│ │ │ │ │ │ ├── c7/
│ │ │ │ │ │ │ └── e63cf4530bcd3ba943729cee0efeff2ebea63f
│ │ │ │ │ │ ├── cb/
│ │ │ │ │ │ │ └── 88ea77998c3f024757528e3305022ab50b43be
│ │ │ │ │ │ ├── d1/
│ │ │ │ │ │ │ └── 6d05ecad8d146ef127c975e2e3e167b6e38ad6
│ │ │ │ │ │ ├── d2/
│ │ │ │ │ │ │ └── 2be41f29f5e2d0f48958f65e9c83c8acd2ff23
│ │ │ │ │ │ ├── d5/
│ │ │ │ │ │ │ └── 87752f33bc0bbb128731a1bcfa8db6926a91cd
│ │ │ │ │ │ ├── d6/
│ │ │ │ │ │ │ └── 8ef7c38c75152f9dac79bc635bd070b70d0913
│ │ │ │ │ │ ├── d8/
│ │ │ │ │ │ │ └── 024539bf6510282ced06b7f27fcdec6e0e5cb9
│ │ │ │ │ │ ├── d9/
│ │ │ │ │ │ │ └── aee579bd94292c6e0ada0af71597c0ca4ec72d
│ │ │ │ │ │ ├── da/
│ │ │ │ │ │ │ └── bebe21bf790f782ea4c7bbd2efc430de182afd
│ │ │ │ │ │ ├── db/
│ │ │ │ │ │ │ └── 352a6007d2989420eaf525fb1f885e2b3c6982
│ │ │ │ │ │ ├── dc/
│ │ │ │ │ │ │ └── bc2b758c3e54aa0c87467680ceed3896b7f429
│ │ │ │ │ │ ├── dd/
│ │ │ │ │ │ │ └── abd6cff21ef95f1f957d249268bb58541c2dc0
│ │ │ │ │ │ ├── e8/
│ │ │ │ │ │ │ └── 4d571ec5016798320009235365d512ac0a7b3b
│ │ │ │ │ │ ├── e9/
│ │ │ │ │ │ │ └── 1c11198c9cefb082ba4cfee4884d86b4f7c7c2
│ │ │ │ │ │ ├── eb/
│ │ │ │ │ │ │ ├── 143d79ac16f86d7f738858f4df277226a1e2e7
│ │ │ │ │ │ │ └── bbc44937b64104bb115b4944b15013ef208a11
│ │ │ │ │ │ ├── ed/
│ │ │ │ │ │ │ └── 7cbfc0f6f6e7614e37b005b284c6369261223c
│ │ │ │ │ │ ├── ee/
│ │ │ │ │ │ │ └── 5fd03fd6acfd43e44aea0b4135958546ed8e73
│ │ │ │ │ │ ├── f0/
│ │ │ │ │ │ │ └── 64db4255f3f597b7e6b4f78998399262ed5b69
│ │ │ │ │ │ ├── f1/
│ │ │ │ │ │ │ ├── 6a5a86563bfeb26b484ff2765594ca78d2bcd1
│ │ │ │ │ │ │ └── a01d05e6946c68062903ebb0081741e65ff5c2
│ │ │ │ │ │ ├── f2/
│ │ │ │ │ │ │ ├── 6459a1aa7b2634987fa42b7b82de0173709bb3
│ │ │ │ │ │ │ ├── a49d97b995341b173c47d36273e44c2bda732b
│ │ │ │ │ │ │ ├── a61de59b416a221708c3943926ef417d17efed
│ │ │ │ │ │ │ └── d6f28c2c0f89c8a9384311f4a9dabc843e9571
│ │ │ │ │ │ ├── f3/
│ │ │ │ │ │ │ └── 20f2ece369d524a49886e78d2a9849207427aa
│ │ │ │ │ │ ├── f6/
│ │ │ │ │ │ │ ├── 2240f2ceab10a28d1ff206a8071ad2f2afa1cd
│ │ │ │ │ │ │ └── 76131e2660dc8cd88de99f7486d34aa8172635
│ │ │ │ │ │ ├── f9/
│ │ │ │ │ │ │ └── 0e8bbe4975ae9216a06b7d6f8d33590628e4ab
│ │ │ │ │ │ ├── fa/
│ │ │ │ │ │ │ ├── 7bc60187a793af7b9aabc709c2787e36bb8c90
│ │ │ │ │ │ │ └── 815642ed02b77452ac55ac16171dcc03645d3d
│ │ │ │ │ │ ├── fe/
│ │ │ │ │ │ │ └── 9a4a3f8e49b9dd9c2f5b6ba49b2a05e56cb498
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-37635e403df09080e4b5ea7f363d304dd4852b37.idx
│ │ │ │ │ │ ├── pack-37635e403df09080e4b5ea7f363d304dd4852b37.pack
│ │ │ │ │ │ ├── pack-d8ec5e42ece2a5e2b9996eaf8374937574d7abc3.idx
│ │ │ │ │ │ └── pack-d8ec5e42ece2a5e2b9996eaf8374937574d7abc3.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── duration.go
│ │ │ │ ├── duration_slice.go
│ │ │ │ ├── duration_slice_test.go
│ │ │ │ ├── example_test.go
│ │ │ │ ├── export_test.go
│ │ │ │ ├── flag.go
│ │ │ │ ├── flag_test.go
│ │ │ │ ├── float32.go
│ │ │ │ ├── float64.go
│ │ │ │ ├── golangflag.go
│ │ │ │ ├── golangflag_test.go
│ │ │ │ ├── int.go
│ │ │ │ ├── int16.go
│ │ │ │ ├── int32.go
│ │ │ │ ├── int64.go
│ │ │ │ ├── int8.go
│ │ │ │ ├── int_slice.go
│ │ │ │ ├── int_slice_test.go
│ │ │ │ ├── ip.go
│ │ │ │ ├── ip_slice.go
│ │ │ │ ├── ip_slice_test.go
│ │ │ │ ├── ip_test.go
│ │ │ │ ├── ipmask.go
│ │ │ │ ├── ipnet.go
│ │ │ │ ├── ipnet_test.go
│ │ │ │ ├── string.go
│ │ │ │ ├── string_array.go
│ │ │ │ ├── string_array_test.go
│ │ │ │ ├── string_slice.go
│ │ │ │ ├── string_slice_test.go
│ │ │ │ ├── uint.go
│ │ │ │ ├── uint16.go
│ │ │ │ ├── uint32.go
│ │ │ │ ├── uint64.go
│ │ │ │ ├── uint8.go
│ │ │ │ ├── uint_slice.go
│ │ │ │ ├── uint_slice_test.go
│ │ │ │ └── verify/
│ │ │ │ ├── all.sh
│ │ │ │ ├── gofmt.sh
│ │ │ │ └── golint.sh
│ │ │ └── viper/
│ │ │ ├── .gitignore
│ │ │ ├── .travis.yml
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── dot.git/
│ │ │ │ ├── FETCH_HEAD
│ │ │ │ ├── HEAD
│ │ │ │ ├── ORIG_HEAD
│ │ │ │ ├── config
│ │ │ │ ├── description
│ │ │ │ ├── hooks/
│ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ ├── post-update.sample
│ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ └── update.sample
│ │ │ │ ├── index
│ │ │ │ ├── info/
│ │ │ │ │ └── exclude
│ │ │ │ ├── logs/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── master
│ │ │ │ ├── objects/
│ │ │ │ │ ├── 00/
│ │ │ │ │ │ └── ed41cdba2612ddf07559b1cae78ca23d213ba6
│ │ │ │ │ ├── 04/
│ │ │ │ │ │ └── 691bc570c10b492d8bf7b66aae05e0c9ecb0db
│ │ │ │ │ ├── 0a/
│ │ │ │ │ │ └── f80bb635b741d58afd4b39b5f393ee1b0ac6b4
│ │ │ │ │ ├── 0b/
│ │ │ │ │ │ └── 976b60523c422db04b5d43aa843817af80a393
│ │ │ │ │ ├── 16/
│ │ │ │ │ │ └── a945857303e8ea14318664816932b07a0ed5ce
│ │ │ │ │ ├── 1a/
│ │ │ │ │ │ └── 0c4a370c3e8286b835467d2dfcdaf636c3538b
│ │ │ │ │ ├── 25/
│ │ │ │ │ │ └── b30aa063fc18e48662b86996252eabdcf2f0c7
│ │ │ │ │ ├── 26/
│ │ │ │ │ │ └── 6e588e9eca7ee317e9f0446a01934675a4d261
│ │ │ │ │ ├── 2a/
│ │ │ │ │ │ ├── 221e53cb00a1329e780a1a8c69a8adc9059467
│ │ │ │ │ │ └── 2ec96d8d7b5be01a86a0bed4bbc21e401d82da
│ │ │ │ │ ├── 2e/
│ │ │ │ │ │ └── 33450ca57a6a7c8a2fbf882a3951d31dc64212
│ │ │ │ │ ├── 3a/
│ │ │ │ │ │ └── 81555f3e933014f971c93792bb8b9330e94f30
│ │ │ │ │ ├── 40/
│ │ │ │ │ │ └── 2ad3d2032704a5767e60faddcecbc8e5a8d2e7
│ │ │ │ │ ├── 45/
│ │ │ │ │ │ └── 4a0e9e60d776ea1c5980f32d24a9222addb2d0
│ │ │ │ │ ├── 46/
│ │ │ │ │ │ └── 31e3185198dc56f134c4e4d0061e50f73f2300
│ │ │ │ │ ├── 4a/
│ │ │ │ │ │ └── 7e68bd13fdc7a8e3a372c72bdc451c6ffeafbc
│ │ │ │ │ ├── 4d/
│ │ │ │ │ │ └── ddf7c62e16bce5807744018f5b753bfe21bbd2
│ │ │ │ │ ├── 4e/
│ │ │ │ │ │ └── 81f556fe05040ca37a51a32cc3c0d9f1b09fe3
│ │ │ │ │ ├── 52/
│ │ │ │ │ │ └── 21c144310b506e6cbddfcdc3ef840c1fc2537b
│ │ │ │ │ ├── 55/
│ │ │ │ │ │ └── 960d11b7bec66f9e7b74899615f02d8dd68748
│ │ │ │ │ ├── 60/
│ │ │ │ │ │ └── 6274b078aa86793bc97342ef94f79820bf1ed2
│ │ │ │ │ ├── 61/
│ │ │ │ │ │ └── dc0af1ef77254da88d311f87e752880c5e3d2b
│ │ │ │ │ ├── 64/
│ │ │ │ │ │ ├── bf47435847d3b092866baf49dfa55329027616
│ │ │ │ │ │ └── f006a39880991f6c413e3f257dfa5b968ac42a
│ │ │ │ │ ├── 68/
│ │ │ │ │ │ └── a35d692c5a36c376e22e5628fdbce5f5963401
│ │ │ │ │ ├── 6f/
│ │ │ │ │ │ └── 475f0366ee75766280ed5da0a0eb8777ae75c4
│ │ │ │ │ ├── 70/
│ │ │ │ │ │ └── 50d5abd96c0245ec49ce3410fa98a30c589f28
│ │ │ │ │ ├── 81/
│ │ │ │ │ │ └── 0d0702e71e94cf33bc7a281266fd9b0bdf92ab
│ │ │ │ │ ├── 84/
│ │ │ │ │ │ └── 8d92d6b87bbc84afb4ea9bdf0e9bfecfb5863c
│ │ │ │ │ ├── 8a/
│ │ │ │ │ │ └── c2e2e20f3d24e5b3b85ae0fcd11bdb0caf0f15
│ │ │ │ │ ├── 8e/
│ │ │ │ │ │ ├── 723d402b1d9e8dcbe2af46c6b73c2737e9e766
│ │ │ │ │ │ └── f37cbca71638bf32f3d5e194117d4cb46da163
│ │ │ │ │ ├── 92/
│ │ │ │ │ │ └── 366d6fd9db63c0654d44757789d168d50107da
│ │ │ │ │ ├── 95/
│ │ │ │ │ │ └── 2cad44c6312173cb9f97481ba4c613a2f24e0f
│ │ │ │ │ ├── 96/
│ │ │ │ │ │ ├── 3861ace876dda79489d6c2eeae10ce2617cc6d
│ │ │ │ │ │ └── 9ca86ccd0d7460a2de44a3946669cf503ca52b
│ │ │ │ │ ├── 97/
│ │ │ │ │ │ ├── 66537120e76571a9a2dcafe4b25a3201dcac22
│ │ │ │ │ │ └── f4c3fe507a49f928b0add80d0a49306adaf500
│ │ │ │ │ ├── a4/
│ │ │ │ │ │ └── 34ee816d829e226dd75106d97c427b490c5148
│ │ │ │ │ ├── a8/
│ │ │ │ │ │ └── af3f79205116debac59c5e240414fbad52e36f
│ │ │ │ │ ├── aa/
│ │ │ │ │ │ └── fc9e6bc7b7bb53ddaa75a5ef49a17d6e654be5
│ │ │ │ │ ├── ad/
│ │ │ │ │ │ └── 8a03729106386866a3ef96e3f98ede238c7ed2
│ │ │ │ │ ├── b5/
│ │ │ │ │ │ └── e8006cbee93ec955a89ab31e0e3ce3204f3736
│ │ │ │ │ ├── bb/
│ │ │ │ │ │ └── 3ae3f41bb1e9677a43ab5b3ea61263a36a1374
│ │ │ │ │ ├── c7/
│ │ │ │ │ │ └── 84dad40a5a5928e6ba6dbeece87561ebf8c45c
│ │ │ │ │ ├── c9/
│ │ │ │ │ │ └── 3480eabd8e5175e4ad48bafe5bc6dab4f4c582
│ │ │ │ │ ├── ca/
│ │ │ │ │ │ └── afa4b041b17f0aaced9b0ceaa4964ea1a82196
│ │ │ │ │ ├── d9/
│ │ │ │ │ │ └── cca5ef33035202efb1586825bdbb15ff9ec3ba
│ │ │ │ │ ├── df/
│ │ │ │ │ │ └── 7314a14e26fea5443bb6e696b207d14d9a266d
│ │ │ │ │ ├── e0/
│ │ │ │ │ │ └── 88cbf7f6d1593a1cf6db94d3c10499f6ba4356
│ │ │ │ │ ├── e7/
│ │ │ │ │ │ └── c6090f6d9b676b476955bd13043820dcf76df8
│ │ │ │ │ ├── e9/
│ │ │ │ │ │ └── 966ba58c27c16fb5184f92ed46a2ffe7daa609
│ │ │ │ │ ├── ea/
│ │ │ │ │ │ └── 933d81a41a84abd35633e7439b2d965f2feaa2
│ │ │ │ │ ├── ee/
│ │ │ │ │ │ └── e271be80ea75a39df787fe46048e09ecbac3ac
│ │ │ │ │ ├── f1/
│ │ │ │ │ │ ├── deac3d74fa38ede2e2cbf2e8057685cb32da0d
│ │ │ │ │ │ └── e7944daeb3bf95a1dfe9a4b5db04e329b90f8a
│ │ │ │ │ ├── f2/
│ │ │ │ │ │ └── 57d19100ad11ec71a89d431c0fbd3933c0b235
│ │ │ │ │ └── pack/
│ │ │ │ │ ├── pack-ea6283859de36257a203a741ab7adbf0cd9cb6ff.idx
│ │ │ │ │ └── pack-ea6283859de36257a203a741ab7adbf0cd9cb6ff.pack
│ │ │ │ ├── packed-refs
│ │ │ │ └── refs/
│ │ │ │ ├── heads/
│ │ │ │ │ └── master
│ │ │ │ └── remotes/
│ │ │ │ └── origin/
│ │ │ │ ├── HEAD
│ │ │ │ └── master
│ │ │ ├── flags.go
│ │ │ ├── flags_test.go
│ │ │ ├── overrides_test.go
│ │ │ ├── remote/
│ │ │ │ └── remote.go
│ │ │ ├── util.go
│ │ │ ├── util_test.go
│ │ │ ├── viper.go
│ │ │ └── viper_test.go
│ │ ├── stepelu/
│ │ │ ├── lua-sci/
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── __init.lua
│ │ │ │ ├── __meta.lua
│ │ │ │ ├── _cblas_h.lua
│ │ │ │ ├── alg.lua
│ │ │ │ ├── complex.lua
│ │ │ │ ├── diff.lua
│ │ │ │ ├── dist/
│ │ │ │ │ ├── _beta.lua
│ │ │ │ │ ├── _exponential.lua
│ │ │ │ │ ├── _gamma.lua
│ │ │ │ │ ├── _lognormal.lua
│ │ │ │ │ ├── _normal.lua
│ │ │ │ │ ├── _student.lua
│ │ │ │ │ └── _uniform.lua
│ │ │ │ ├── dist.lua
│ │ │ │ ├── dot.git/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ ├── config
│ │ │ │ │ ├── description
│ │ │ │ │ ├── hooks/
│ │ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ │ ├── post-update.sample
│ │ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ │ └── update.sample
│ │ │ │ │ ├── index
│ │ │ │ │ ├── info/
│ │ │ │ │ │ └── exclude
│ │ │ │ │ ├── logs/
│ │ │ │ │ │ ├── HEAD
│ │ │ │ │ │ └── refs/
│ │ │ │ │ │ ├── heads/
│ │ │ │ │ │ │ └── master
│ │ │ │ │ │ └── remotes/
│ │ │ │ │ │ └── origin/
│ │ │ │ │ │ └── HEAD
│ │ │ │ │ ├── objects/
│ │ │ │ │ │ └── pack/
│ │ │ │ │ │ ├── pack-790b4b3c5d14f3ccf69ed1f4ead1a1973f09a455.idx
│ │ │ │ │ │ └── pack-790b4b3c5d14f3ccf69ed1f4ead1a1973f09a455.pack
│ │ │ │ │ ├── packed-refs
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ └── HEAD
│ │ │ │ ├── fmax.lua
│ │ │ │ ├── fmin/
│ │ │ │ │ ├── _de.lua
│ │ │ │ │ └── _lbfgs.lua
│ │ │ │ ├── fmin.lua
│ │ │ │ ├── math.lua
│ │ │ │ ├── mcmc/
│ │ │ │ │ └── _nuts.lua
│ │ │ │ ├── mcmc.lua
│ │ │ │ ├── prng/
│ │ │ │ │ ├── _marsaglia.lua
│ │ │ │ │ └── _mrg.lua
│ │ │ │ ├── prng.lua
│ │ │ │ ├── qrng/
│ │ │ │ │ ├── _new-joe-kuo-6-21201.lua
│ │ │ │ │ └── _sobol.lua
│ │ │ │ ├── qrng.lua
│ │ │ │ ├── quad/
│ │ │ │ │ ├── _dblexp.lua
│ │ │ │ │ └── _dblexp_precomputed.lua
│ │ │ │ ├── quad.lua
│ │ │ │ ├── root/
│ │ │ │ │ ├── _newtonm.lua
│ │ │ │ │ └── _ridders.lua
│ │ │ │ ├── root.lua
│ │ │ │ └── stat.lua
│ │ │ └── lua-xsys/
│ │ │ ├── LICENSE.TXT
│ │ │ ├── README.md
│ │ │ ├── __meta.lua
│ │ │ ├── _dep/
│ │ │ │ └── templet/
│ │ │ │ └── init.lua
│ │ │ ├── dot.git/
│ │ │ │ ├── HEAD
│ │ │ │ ├── config
│ │ │ │ ├── description
│ │ │ │ ├── hooks/
│ │ │ │ │ ├── applypatch-msg.sample
│ │ │ │ │ ├── commit-msg.sample
│ │ │ │ │ ├── post-update.sample
│ │ │ │ │ ├── pre-applypatch.sample
│ │ │ │ │ ├── pre-commit.sample
│ │ │ │ │ ├── pre-push.sample
│ │ │ │ │ ├── pre-rebase.sample
│ │ │ │ │ ├── prepare-commit-msg.sample
│ │ │ │ │ └── update.sample
│ │ │ │ ├── index
│ │ │ │ ├── info/
│ │ │ │ │ └── exclude
│ │ │ │ ├── logs/
│ │ │ │ │ ├── HEAD
│ │ │ │ │ └── refs/
│ │ │ │ │ ├── heads/
│ │ │ │ │ │ └── master
│ │ │ │ │ └── remotes/
│ │ │ │ │ └── origin/
│ │ │ │ │ └── HEAD
│ │ │ │ ├── objects/
│ │ │ │ │ ├── 07/
│ │ │ │ │ │ └── eb9fccd2f9050e47fcb321192b116e27185c04
│ │ │ │ │ ├── 08/
│ │ │ │ │ │ └── 33ff3b1ed4b2745e2331abc2b501eb9bac702f
│ │ │ │ │ ├── 0a/
│ │ │ │ │ │ └── deec1198f97b95f289be2588aaa13709e6a9c0
│ │ │ │ │ ├── 0c/
│ │ │ │ │ │ └── d7097a1c5b779447c6a73d0f1a0f060273d9c2
│ │ │ │ │ ├── 0d/
│ │ │ │ │ │ └── a9c4b4e6df60b279943abf1ebad8d90231f93c
│ │ │ │ │ ├── 16/
│ │ │ │ │ │ └── c38f7c2a389918e650e47d8eafcf80be791da3
│ │ │ │ │ ├── 26/
│ │ │ │ │ │ └── a91c6de6d0e86f2b760150fdd4d313f13f18bd
│ │ │ │ │ ├── 2b/
│ │ │ │ │ │ └── 7e575365d0e8dffa0b335b3e268c83dd14f93c
│ │ │ │ │ ├── 2d/
│ │ │ │ │ │ └── 43803226d01559cba7ec6419aa8a348394a716
│ │ │ │ │ ├── 2e/
│ │ │ │ │ │ └── b97ea08a8467dc7897048791777f18fad8a2b1
│ │ │ │ │ ├── 38/
│ │ │ │ │ │ └── c7c409777c6208d9b933567a320861e7264a38
│ │ │ │ │ ├── 39/
│ │ │ │ │ │ └── 5e45e2d7c31dfed10f02f53c68e27830bfaddd
│ │ │ │ │ ├── 3a/
│ │ │ │ │ │ └── 3a5d01557493c97f94ef409722a40582aab019
│ │ │ │ │ ├── 3b/
│ │ │ │ │ │ └── 054a5bae3e6f4f545041d8d6a9925d37e730aa
│ │ │ │ │ ├── 45/
│ │ │ │ │ │ └── 0d877a606914b2f266cff0d72a32cc7e298e7a
│ │ │ │ │ ├── 4d/
│ │ │ │ │ │ └── 7e51366fceab4358275a5862f91499cb32331d
│ │ │ │ │ ├── 51/
│ │ │ │ │ │ └── 1c57487a4463ca1d9042e4e27a2b607de8c4a8
│ │ │ │ │ ├── 53/
│ │ │ │ │ │ └── 427fbfd9f37c5ea2a330a23af20d4e0136b6a4
│ │ │ │ │ ├── 5e/
│ │ │ │ │ │ └── ac51f7a846c5b2cf920927b2a4255d7a5a17b1
│ │ │ │ │ ├── 66/
│ │ │ │ │ │ ├── 39aeb468754629242eebfe3b8a206918b23304
│ │ │ │ │ │ └── a951fcebd614997b02d0cd7c1c8b9f7c28a25b
│ │ │ │ │ ├── 6d/
│ │ │ │ │ │ └── 2116b9c2e7472eeb244fcb16879e40e0003cdc
│ │ │ │ │ ├── 71/
│ │ │ │ │ │ └── d91f0cbe6ea9591b926ab82ed4af947a722e28
│ │ │ │ │ ├── 74/
│ │ │ │ │ │ └── 695b9b7bfaf393c403bb1f1c80febd0f3563ef
│ │ │ │ │ ├── 7c/
│ │ │ │ │ │ └── 1110c74bb29721263f652c6812c827a7b27569
│ │ │ │ │ ├── 82/
│ │ │ │ │ │ └── 71acf063eaadf74bbb3d5ced8afb0ca92c067a
│ │ │ │ │ ├── 87/
│ │ │ │ │ │ └── df92cf779bc63dec59085d26da8329f1fffe36
│ │ │ │ │ ├── 89/
│ │ │ │ │ │ └── 0b3448a79b9fe941f4c9b02d45ccd2b249b1c6
│ │ │ │ │ ├── 8b/
│ │ │ │ │ │ └── 137891791fe96927ad78e64b0aad7bded08bdc
│ │ │ │ │ ├── 8f/
│ │ │ │ │ │ └── 28dfa2021396f8a4d169acc83bed5ccc08f385
│ │ │ │ │ ├── 94/
│ │ │ │ │ │ └── b1deec790084d364ad7cdd51a21aec38b5bdcf
│ │ │ │ │ ├── 95/
│ │ │ │ │ │ └── 08a03d74e8237488749ddd955b843f975c2f52
│ │ │ │ │ ├── 9f/
│ │ │ │ │ │ └── dd52d8a387933aa0d56d1bc481c3a41d9df50c
│ │ │ │ │ ├── a4/
│ │ │ │ │ │ └── e30831af119708be53e373e298c4a18c3a832d
│ │ │ │ │ ├── a7/
│ │ │ │ │ │ └── 6d25205ac8395ed104e858da3b8d296293900f
│ │ │ │ │ ├── a8/
│ │ │ │ │ │ └── 2e3932c57b6bdb0d66ec6a68e06db2e7399ff1
│ │ │ │ │ ├── ab/
│ │ │ │ │ │ └── f0edd6ed4d36d46f41b6b1b2dbdee59528a768
│ │ │ │ │ ├── b0/
│ │ │ │ │ │ ├── 014ef86892dee484e203e3d5cc4c1564499e1c
│ │ │ │ │ │ └── ee1b61dc9c9cb6833f127b593aef6c1b4f2f7c
│ │ │ │ │ ├── bd/
│ │ │ │ │ │ └── 5a33b7a38f96d7f1adfcb39729505e5aa6707e
│ │ │ │ │ ├── c5/
│ │ │ │ │ │ └── 6c857cf243bda844485fa54db1459e5ba4c319
│ │ │ │ │ ├── c7/
│ │ │ │ │ │ └── 9547fcc2ed044b4ee64b717563992ceb409f80
│ │ │ │ │ ├── c9/
│ │ │ │ │ │ └── fa88532eb2970dac47fa5cd19f17f40d422089
│ │ │ │ │ ├── cb/
│ │ │ │ │ │ └── 74ce9ba28ef3c3bdd50d9535c053e550aef649
│ │ │ │ │ ├── d4/
│ │ │ │ │ │ └── e278acf351e42ca511cd01d6ed97503ed1b60f
│ │ │ │ │ ├── da/
│ │ │ │ │ │ └── 39eb8c081cae4eaacd2e12105c8e4fe71abc16
│ │ │ │ │ ├── de/
│ │ │ │ │ │ └── 48f0c0c027e8af60acafea8af13518c8bb85aa
│ │ │ │ │ ├── df/
│ │ │ │ │ │ └── 5ca935ca99321696b778cf5da0af8699525f54
│ │ │ │ │ ├── e1/
│ │ │ │ │ │ └── 254bf5ebcdb29635067eba734221464c907537
│ │ │ │ │ ├── e3/
│ │ │ │ │ │ └── 0ddcfd7ed89478f0de9652afa7fc50a8861d8d
│ │ │ │ │ ├── ea/
│ │ │ │ │ │ └── b12b201e5d211827d751a5de653d1e60fad158
│ │ │ │ │ ├── ed/
│ │ │ │ │ │ └── 7fc958dd7df331802767ad323aeb30edec4d84
│ │ │ │ │ ├── f1/
│ │ │ │ │ │ └── 9f4b7c8d436314d27fbd5dcaed10d08ca88230
│ │ │ │ │ ├── f2/
│ │ │ │ │ │ └── 071f1f4130842b9661e79b75a1b5d0ec11a6d7
│ │ │ │ │ ├── f4/
│ │ │ │ │ │ └── 7a37dbe3ef2c20798f3056b3fd76e89d79b1d9
│ │ │ │ │ ├── f7/
│ │ │ │ │ │ └── 0ba818f1ca6cebfcba6fddc1911c139c93f1df
│ │ │ │ │ ├── fd/
│ │ │ │ │ │ └── d7aac5fb552d2f94dc532ababb3164a49c5a31
│ │ │ │ │ └── ff/
│ │ │ │ │ └── 031669f0d7d0ee1455342a5dceb13f1a811c33
│ │ │ │ ├── packed-refs
│ │ │ │ └── refs/
│ │ │ │ ├── heads/
│ │ │ │ │ └── master
│ │ │ │ └── remotes/
│ │ │ │ └── origin/
│ │ │ │ └── HEAD
│ │ │ └── init.lua
│ │ └── xianyi/
│ │ └── OpenBLAS/
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── BACKERS.md
│ │ ├── CMakeLists.txt
│ │ ├── CONTRIBUTORS.md
│ │ ├── Changelog.txt
│ │ ├── GotoBLAS_00License.txt
│ │ ├── GotoBLAS_01Readme.txt
│ │ ├── GotoBLAS_02QuickInstall.txt
│ │ ├── GotoBLAS_03FAQ.txt
│ │ ├── GotoBLAS_04FAQ.txt
│ │ ├── GotoBLAS_05LargePage.txt
│ │ ├── GotoBLAS_06WeirdPerformance.txt
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── Makefile.alpha
│ │ ├── Makefile.arm
│ │ ├── Makefile.arm64
│ │ ├── Makefile.generic
│ │ ├── Makefile.ia64
│ │ ├── Makefile.install
│ │ ├── Makefile.mips
│ │ ├── Makefile.mips64
│ │ ├── Makefile.power
│ │ ├── Makefile.prebuild
│ │ ├── Makefile.rule
│ │ ├── Makefile.sparc
│ │ ├── Makefile.system
│ │ ├── Makefile.tail
│ │ ├── Makefile.x86
│ │ ├── Makefile.x86_64
│ │ ├── Makefile.zarch
│ │ ├── README.md
│ │ ├── TargetList.txt
│ │ ├── USAGE.md
│ │ ├── appveyor.yml
│ │ ├── benchmark/
│ │ │ ├── Make_exe.sh
│ │ │ ├── Makefile
│ │ │ ├── asum.c
│ │ │ ├── axpy.c
│ │ │ ├── cholesky.c
│ │ │ ├── copy.c
│ │ │ ├── cula_wrapper.c
│ │ │ ├── dot.c
│ │ │ ├── geev.c
│ │ │ ├── gemm.c
│ │ │ ├── gemm3m.c
│ │ │ ├── gemv.c
│ │ │ ├── ger.c
│ │ │ ├── gesv.c
│ │ │ ├── getri.c
│ │ │ ├── hemm.c
│ │ │ ├── hemv.c
│ │ │ ├── her2k.c
│ │ │ ├── herk.c
│ │ │ ├── iamax.c
│ │ │ ├── linpack.c
│ │ │ ├── nrm2.c
│ │ │ ├── plot-filter.sh
│ │ │ ├── plot-header
│ │ │ ├── potrf.c
│ │ │ ├── rot.c
│ │ │ ├── scal.c
│ │ │ ├── scripts/
│ │ │ │ ├── NUMPY/
│ │ │ │ │ ├── cgemm.py
│ │ │ │ │ ├── cgemv.py
│ │ │ │ │ ├── daxpy.py
│ │ │ │ │ ├── ddot.py
│ │ │ │ │ ├── deig.py
│ │ │ │ │ ├── dgemm.py
│ │ │ │ │ ├── dgemv.py
│ │ │ │ │ ├── dgesv.py
│ │ │ │ │ ├── dsolve.py
│ │ │ │ │ ├── sdot.py
│ │ │ │ │ ├── sgemm.py
│ │ │ │ │ ├── sgemv.py
│ │ │ │ │ ├── zgemm.py
│ │ │ │ │ └── zgemv.py
│ │ │ │ ├── OCTAVE/
│ │ │ │ │ ├── cgemm.m
│ │ │ │ │ ├── cgemv.m
│ │ │ │ │ ├── deig.m
│ │ │ │ │ ├── dgemm.m
│ │ │ │ │ ├── dgemv.m
│ │ │ │ │ ├── dsolve.m
│ │ │ │ │ ├── sgemm.m
│ │ │ │ │ ├── sgemv.m
│ │ │ │ │ ├── zgemm.m
│ │ │ │ │ └── zgemv.m
│ │ │ │ ├── R/
│ │ │ │ │ ├── deig.R
│ │ │ │ │ ├── dgemm.R
│ │ │ │ │ └── dsolve.R
│ │ │ │ └── SCIPY/
│ │ │ │ ├── dsyrk.py
│ │ │ │ └── ssyrk.py
│ │ │ ├── smallscaling.c
│ │ │ ├── swap.c
│ │ │ ├── symm.c
│ │ │ ├── symv.c
│ │ │ ├── syr2k.c
│ │ │ ├── syrk.c
│ │ │ ├── tplot-header
│ │ │ ├── trmm.c
│ │ │ ├── trsm.c
│ │ │ ├── zdot-intel.c
│ │ │ └── zdot.c
│ │ ├── c_check
│ │ ├── cblas.h
│ │ ├── cmake/
│ │ │ ├── arch.cmake
│ │ │ ├── cc.cmake
│ │ │ ├── export.cmake
│ │ │ ├── f_check.cmake
│ │ │ ├── fc.cmake
│ │ │ ├── kernel.cmake
│ │ │ ├── lapack.cmake
│ │ │ ├── lapacke.cmake
│ │ │ ├── openblas.pc.in
│ │ │ ├── os.cmake
│ │ │ ├── prebuild.cmake
│ │ │ ├── system.cmake
│ │ │ ├── system_check.cmake
│ │ │ └── utils.cmake
│ │ ├── common.h
│ │ ├── common_alpha.h
│ │ ├── common_arm.h
│ │ ├── common_arm64.h
│ │ ├── common_c.h
│ │ ├── common_d.h
│ │ ├── common_ia64.h
│ │ ├── common_interface.h
│ │ ├── common_lapack.h
│ │ ├── common_level1.h
│ │ ├── common_level2.h
│ │ ├── common_level3.h
│ │ ├── common_linux.h
│ │ ├── common_macro.h
│ │ ├── common_mips.h
│ │ ├── common_mips64.h
│ │ ├── common_param.h
│ │ ├── common_power.h
│ │ ├── common_q.h
│ │ ├── common_reference.h
│ │ ├── common_s.h
│ │ ├── common_sparc.h
│ │ ├── common_stackalloc.h
│ │ ├── common_thread.h
│ │ ├── common_x.h
│ │ ├── common_x86.h
│ │ ├── common_x86_64.h
│ │ ├── common_z.h
│ │ ├── common_zarch.h
│ │ ├── cpuid.S
│ │ ├── cpuid.h
│ │ ├── cpuid_alpha.c
│ │ ├── cpuid_arm.c
│ │ ├── cpuid_arm64.c
│ │ ├── cpuid_ia64.c
│ │ ├── c
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*~
vendor/github.com/LuaJIT/LuaJIT/src/gijit_luajit
================================================
FILE: LICENSE
================================================
The MIT License
Copyright (c) 2019 Jason E. Aten, Ph.D. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-----
Other code included in sub-directories has a
BSD style license, or an MIT license which is detailed below,
or a similar license as found in the individual sub
directory.
Code dervied from the Google Go gc compiler is
"Copyright (c) 2017 The Go Authors. All rights reserved."
and used under the 3-clause BSD style license below.
Copyright (c) 2009-2017 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Code dervied from the Gopherjs project is
"Copyright (c) 2017 Richard Musiol and the Gopherjs contributors.
All rights reserved."
and used under the 3-clause BSD style license below.
-- begin the 3-clause BSD style license --
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain this LICENSE file,
the above copyright notice and CLA, this list of conditions,
and the following disclaimer.
* Redistributions in binary form must reproduce the text of
this LICENSE file, the above copyright notice and CLA, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
* Neither the name of _TheProject_ nor Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-- end of the 3-clause BSD style license --
LuaJIT is
"Copyright © 2005-2017 Mike Pall" and used under the MIT license:
===============================================================================
LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
Copyright (C) 2005-2017 Mike Pall. All rights reserved.
(The MIT License:)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
[ MIT license: http://www.opensource.org/licenses/mit-license.php ]
===============================================================================
[ LuaJIT includes code from Lua 5.1/5.2, which has this license statement: ]
Copyright (C) 1994-2012 Lua.org, PUC-Rio.
Followed by the MIT License (above).
===============================================================================
[ LuaJIT includes code from dlmalloc, which has this license statement: ]
This is a version (aka dlmalloc) of malloc/free/realloc written by
Doug Lea and released to the public domain, as explained at
http://creativecommons.org/licenses/publicdomain
===============================================================================
Small fragments used from https://github.com/Positive07/lfs-ffi.lua under
The MIT License (MIT) are
Copyright (c) 2016 Pablo Mayobre
Followed by the MIT License (above).
==========================================================================
Portions Dervied from code licensed as follows. This does
not apply to this work as whole, see the top of the file for that.
Copyright (c) 2009 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: Makefile
================================================
.PHONY: tags
install:
## git branch --set-upstream-to=origin/master
## CGO_LDFLAGS_ALLOW='.*\.a$$' go get -t -d -u ./pkg/... ./cmd/...
## LuaJIT compilation is now done manually, with windows.bat or posix.sh
##cd vendor/github.com/LuaJIT/LuaJIT/src && make libluajit.a
CGO_LDFLAGS_ALLOW='.*\.a$$' cd cmd/gen-gijit-shadow-import && go install && cd ../gen_static_prelude && go install && cd ../gi && make install
minimal:
minimal:
cd cmd/gi && make install
tags:
find . -name "*.[chCH]" -o -name "*.lua" -print | etags -
================================================
FILE: README.md
================================================
gijit: a just-in-time trace-compiled golang interpreter
=======
`gijit` is a scalable Go REPL
for doing interactive coding and data analysis.
It is backed by LuaJIT, a Just-in-Time
trace compiler. The REPL binary is called
simply `gi`, for "go interpreter".
NB: `gi` was last built with go1.10.4. It hasn't be updated for go11/12,
so please use go1.10.4 with it for now.
# the dream
Go, if it only had a decent REPL, could be a great
language for exploratory data analysis.
# the rationale
Go has big advantages over Python, R, and Matlab.
It has good type checking, reasonable compiled performance,
and excellent multicore support.
# the aim
We want to provide one excellent integrated REPL for Go.
Exploratory data analysis should not be hampered
by weak type-checking or hard-to-refactor code,
and performance should not suffer just because
you require interaction with your data.
# status and limitations
Generally quite usable for small scripting
tasks. See the open issues on github for
specific open bugs.
~~~
[x] Done: all the basic types and control structures.
[x] Done: pointers.
[x] Done: structs.
[x] Done: interfaces and type assertions.
[x] Done: defer and recover.
[x] Done: func creates closures.
[x] Done: import of binary and source packages.
Limitations:
_ Paritally done: goroutines, select, channels. What is
missing is that Timers and timeouts are not done.
Also goroutines are implemented with Lua's coroutines,
so they won't interact with the goroutines from
a binary Go package.
A little elaboration on that last point. I initially
implemented goroutines using reflect, but LuaJIT isn't
particularly happy about being called from a non-main
thread. Most exploratory data analysis works
fine, and I figure by the time your code needs
goroutines, you probably want to shift to using
fully compiled Go code in a library anyway.
So there are no immediate plans to put more
work into the timers and goroutines. Simply
use a compiled library, and call it from `gijit`
if you need them.
~~~
quick install
-------------
See https://github.com/gijit/gi/releases for binary releases that can be run directly without building from source. To build from source:
~~~
# use go1.10.x We don't support go1.11.y at the moment.
$ go get -d github.com/gijit/gi/cmd/gi
$ cd $GOPATH/src/github.com/gijit/gi
$ (On posix/old macOS/linux: run `./posix.sh` to build libluajit.a)
$ (On recent macOS: run `./macos.sh` to build libluajit.a with MACOSX_DEPLOYMENT_TARGET=10.14)
$ (On windows: run `windows.bat` to build libluajit.a; see https://github.com/gijit/gi/issues/18
for notes on installing both mingw64 and make, which are pre-requisites.)
$ make install
$ gi
~~~
See also https://github.com/gijit/gi/issues/18 for windows install-from-source help.
For various releases there are pre-compiled binaries (https://github.com/gijit/gi/releases). They have batteries included; the prelude is compiled. They run standalone. There is no need to install the `gijit` source with `git`. Importing some source packages works. Importing shadowed (binary Go) packages works. These include the commonly used `fmt`, `os`, `math/rand`, and others listed here https://github.com/gijit/gi/tree/master/pkg/compiler/shadow
# Q: Can I embed `gijit` in my app?
A: Yes! That's how `gijit` is designed. In fact the `gi` command is just
a very thin wrapper around the `pkg/compiler` library. See
https://github.com/gijit/gi/blob/master/cmd/gi/repl.go#L9
and
https://github.com/gijit/gi/blob/master/pkg/compiler/repl_luajit.go#L63
# LuaJIT did what?
LuaJIT is an amazing backend. In our quick and
dirty 500x500 random matrix multiplication
benchmark, LuaJIT *beat even statically compiled go*
code by a factor of 3x. Go's time was 360 msec.
LuaJIT's time was 135 msec. Julia uses an optimized
BLAS library for this task and beats both Go
and LuaJIT by multiplying in 6 msec, but
is too immature and too large to be
a viable target.
Bonus: LuaJIT has Torch7 for machine learning.
And, Torch7 has GPU support. [1][2]
[1] https://github.com/torch/cutorch
[2] https://github.com/torch/torch7/wiki/Cheatsheet#gpu-support
Will golang (Go) run on GPUs? It might be possible, someday.
# installation from source
Release v1.3.0 and later needs go1.10 or later (a critical Windows timezone workaround was provided in go1.10). Works on Mac OSX and Linux and Windows. To build on Windows, you'll need to install mingw64 port of gcc first, if its not already installed, since that is what CGO on windows requires. See the notes in https://github.com/gijit/gi/issues/18
[Update: I put a v1.3.5 binaries here https://github.com/gijit/gi/releases/tag/v1.3.5 ; compiled on Windows10.]
~~~
$ go get -d github.com/gijit/gi/cmd/gi
$ cd $GOPATH/src/github.com/gijit/gi
$ (On posix/mac/linux: run `./posix.sh` to build libluajit.a)
$ (On windows: run `windows.bat` to build libluajit.a ; note pre-reqs below.)
$ make install
$ gi
~~~
To build from source on windows, see https://github.com/gijit/gi/issues/18
for windows install help.
Install both mingw64 and make before building gijit. These are prerequisites
for building from source. The released windows binaries will run without them.
most recent status
------------------
2018 Dec 25 update
------------------------------
The REPL is now a better calculator and displayer of answers.
Simple math like `1 + 2` and expressions like `math.Exp(4)`
will print their answers automatically.
Also we slimmed down the repo of history, here at v2.0.2;
the original repo will be renamed `gi-large` and we will take over as `gi`.
2018 Dec 14 update
------------------------------
Releaes v1.9.5 brings much improved interaction with
native struct values (from imports of compiled Go packages such
as those in the standard libary). Native structs
can be used as fields in new struct created on
the fly in the interpreter. Native methods can be
invoked on those native struct values.
2018 March 29 update
------------------------------
Release v1.9.2 includes the
`func __callLua(s string) (interface{}, error)` function to call
Lua code directly from `gijit` Go code.
Release v1.8.0 has much more
robust and tested source based
imports of packages. Binary
packages can be compiled
into the `gi` REPL, and then
`import`-ed at runtime. Source
packages can be read and
compiled at runtime.
2018 March 26 update
----------------------------
Release v1.6.5 has reasonable
source-based imports of other
packages. Tests 1000, 1001, and
1003 are green.
All green tests with
1002 commented out.
2018 March 25 update
--------------------
Release v1.6.0 brings the initial implementation
of import functionality for source packages.
2018 March 6 update
-------------------
The release v1.4.x series improves the shadow
import system to provide constructors and
copy constructors for native Go structs.
We pass additional `recover` tests from the Golang
compiler test suite.
Release v1.3.8 re-enables calls into
`fmt` and the other builtin native
Go shadowed packages. They now
work when called from goroutines.
2018 March 3 update
-------------------
Release v1.3.5 fixes an issue with the build on Windows.
Release v1.3.4 builds LuaJIT with
`XCFLAGS+= -DLUAJIT_ENABLE_GC64` in order
to allow more than 4GB of memory use on
OSX and Linux. Windows 10 hates that setting,
and `luajit.exe` itself crashes with that flag enabled.
So it is not enabled on Windows.
Release v1.3.3 has internal updates that make
progress towards calling native Go functions
from coroutines. This is needed to restore
binary imports of native Go packages.
2018 March 2 update
-------------------
Release v1.3.2 vendors the gonum libraries
used, as users were seeing some version skew.
There are binaries available. See https://github.com/gijit/gi/releases/tag/v1.3.2
2018 March 1 update
-------------------
A major milestone, the v1.2.x series and the
latest release bring
fully interactive goroutines
to the REPL. The REPL can perform receives
on unbuffered channels, and interact with background
goroutines. A background Lua coroutine
runs a scheduler that coordinates.
Full blocking at the REPL, on a select or
receive that cannot be finished at this
time, is not yet implemented.
Importantly, native Go imports are turned off while we
work on polishing the goroutine system.
Hence `import "fmt"` won't work.
As of v1.2.4, close() on channels is available.
As of v1.2.5, <-ch, for a channel ch, works
by itself at the repl and in functions.
2018 Feb 26 update
------------------
With release v1.1.0 we focused on establishing
an all-Lua goroutine functionality. Rather than
tackle both all-Lua and hybrid Lua/native
goroutines all at once, we focused on getting
goroutines working completely in Lua land.
Release v1.1.0 acheives that goal, making
full `go`, `select`, channel send, and channel
receive available. v1.1.1 provides a little
polish.
2018 Feb 24 update
------------------
Release v1.0.15 brings the ability to make native
Go channels via reflection for basic types, and then
use those channels in send, receive, and `select`
operations to communicate between interpreted and
pre-compiled Go code.
2018 Feb 23 update
------------------
Release v1.0.7 fixes a bunch of subtle corner
cases in the type system implementation, making
it much more robust.
2018 Feb 21 update
------------------
Release v1.0.2 brings a calculator mode, for
multiple lines of direct computation. Enter
calculator mode with `==` alone on a line,
and exit with `:` alone.
Release v1.0.0 marks these milestones:
* the full program _bench/mul.go (mat_test 501) builds and runs;
with no imported packages used.
* `gijit` has much improved complex number support.
* `gijit` runs on Windows now, as well as OSX and Linux.
Limitations not yet addressed:
* import of source packages isn't working yet.
* imports of binary Go packages don't work, and in general need some help.
* chan/select/goroutines are not implemented; init()
functions and full ahead-of-time compile of packages
are not done.
# overview
In the form of Q & A:
~~~
On Friday, February 9, 2018 at 12:48:17 PM UTC+7,
Christopher Sebastian wrote on golang-nuts:
gijit looks really interesting. Do you
have a high-level description/diagram
anywhere that gives an overview of how
the system works? [0]
I took a brief look at the git repo,
and it seems like you're translating
Go into Javascript, and then to Lua,
and then using LuaJIT. [1] Is that right?
[2] How do you manage the complexity
of these seemingly-unwieldy pieces
and translation layers?
It seems like you have your own 'parser'
implementation (maybe copied from the Go src tree? [3]).
How will you keep your parser (as well as the
rest of the system) up-to-date as Go changes? [4]
Is it a very manual process? [5]
Thanks for working on this important project!
~Christopher Sebastian
~~~
My reply, condensed:
~~~
[0] Overview/how does the system work? How is `gijit` differ from GopherJS?
a) GopherJS does: Go source -> Javascript source.
It translates a whole program at a time.
while
b) `gijit` does:
i) Go source -> Lua source.
But in small chunks; for example, line-by-line.
Instead of whole program, each sequentially
entered expression/statement/declaration,
(or using :source, a larger fragment
if required for mutually recursive definitions)
is translated and evaluated. These can be
multiple lines, but as soon as the
gc syntax front-end tells us we have a
complete expression/statement/declaration, then
we immediately translate and evaluate it.
Yes, the semantics will be subtly different.
If you've used R/python/matlab
to develop your algorithms before
translating them to a compiled language
(a highly effective practice that I
recommend, and one that motivated gijit's development),
you'll know that this is of little concern.
ii) Then run that Lua source on LuaJIT.
So while the front end of gijit is derived
from GopherJS, there is no javascript source generated.
There's still quite a bit of javascript
remnants in the source, however, as many corner
cases haven't been tackled. So that might
have misled a cursory inspection.
I have adopted the practice, in the GopherJS
derived code, of leaving in the
javascript generation until I hit the
problem with a new test. This lets me
visually see, and experience when run,
where I haven't handled a case yet.
There are many corner cases not yet handled.
[2]. Very carefully, with full Test-driven development. :)
Seriously though, TDD is fantastic (if
not essential) for compiler work.
I would add, I'm working with extremely
mature building blocks.
So if there's a bug, it is almost surely
in my code, not the libraries I'm using.
The three main libraries are already
themselves the highly
polished result of very high-quality
(German and Swiss!) engineering.
a) Mike Pall's LuaJIT is the work of 12
years by a brilliant designer and engineer.
Cloud Flare is now sponsoring King's
College London to continue LuaJIT's development.
b) Richard Musiol's GopherJS is the
work of some 5 years. It passes most of
the Go standard library tests.
c) I don't know how long it took Robert Griesemer
and the Go team to write the Go front-end
parser and type checker, but there is a ton
of time and effort and testing there.
And a significant 4th:
d) Luar (for Go <-> Lua binary object exchange,
so that binary imports of Go libraries work)
is a mature library. A great deal of work was
done on it by Steve Donovan and contributors.
This is all work that doesn't need to be
reinvented, and can be leveraged.
The slight changes to the above (vendored and modified)
libraries in order to
work at the REPL are light relaxations of
a small set of top-level checks.
[3]. I re-use the front-end syntax/parser
from the gc compiler only in order to quickly
determine if we have a complete
expression at the repl, or if we need to
ask for another line of input.
Then I throw away that parse and use
the standard library's go/ast, go/parser,
go/types to do the full parse and type-checking.
This is necessary because go/parser and
go/types are what GopherJS is built around.
[4]. Go 1 is very mature, and changes very
slowly, if at all, anymore, between releases.
[5]. Yes, it is manual. I note the changes
to the parser and typechecker are important
but quite small, and would rebase easily.
Best wishes,
Jason
~~~
I would add credit to Lua's originators
and contributors from around the world.
Roberto Ierusalimschy et al's design
and evolution of Lua over the last
25 years make it a (perhaps surprisingly)
great tool for this purpose.
It certainly surprised me.
Lua's primary goal of acting as
an embedded scripting language for
many disparate host languages with
different inheritance/prototype/overloading
semantics has sculpted it into
a power tool that fits the job like
a glove. It is very good at
language implementation.
status update history
------
See the top of this README for the latest update.
2018 Feb 20 update
------------------
v0.9.19 has great progress getting full program to run.
A crude matrix multiplication whole program (mat_test 501)
now executes correctly, albeit slowly and untuned.
~~~
`runMultiply(500,9,9) -> 301609258250` from `_bench/mul.go`/`_bench/mul.lua`
(a) took 342.456726ms on Go
(b) took 5-7 seconds on gijit (about 20x slower)
~~~
See https://github.com/stevedonovan/luar issue #23 to
follow some tuning -- we omit Luar's type() override
with `ProxyType()` to retain LuaJIT performance on
the matrix 501 example.
2018 Feb 18 update
------------------
As of `gigit` v0.9.15, Complex numbers
fully supported, with all of the `cmplx` library
functions available. The underlying complex.lua
library works at LuaJIT natively.
There's still some cruft to clear out
in the compiler from all the javascript
support that is no longer needed. So
complex number interactive use is still
a little awkward, but this can be
quickly improved.
The revamped type system supports the
matrix multiplication benchmark.
Building on Windows, alongside OSX
and Linux, now works.
2018 Feb 14 update
------------------
`gijit` was successfully built on Windows10,
and this same approach will probably work on
earlier Windows versions.
See https://github.com/gijit/gi/issues/18
for my notes on getting mingw64 installed, and
see the `windows` branch of this repo.
OpenBLAS and sci-lua are vendored for matrix
operations. The docs are http://scilua.org/.
Also from sci-lua, some benchmarks showing
LuaJIT can be as fast as C. LuaJIT is typically faster
than Julia 0.4.1.
2018 Feb 12 update
------------------
Release v0.9.12 works under both go1.9.4 and go1.9.3, but see the
new/revised installation instructions.
Actually we recommend avoiding go1.9.4. It is
pretty broken/borked.
Use go1.9.3 and wait for
go1.9.5 before upgrading.
The installation instructions are now slightly different, so
that all actual building is done under make, where we
can set the required environment variables.
~~~
$ go get -d github.com/gijit/gi/cmd/gi
$ cd $GOPATH/src/github.com/gijit/gi && make install
~~~
2018 Feb 09 update
------------------
v0.9.11 allows building under go1.9.4.
v0.9.9 restores building under go1.9.3 after attempts
to get go1.9.4 to work messed up the build.
v0.9.7 attempted to build under the newly release go1.9.4,
but failed to do so and has been replaced.
2018 Feb 08 update
------------------
v0.9.6 fixes #20. The type checker now allows
cleanly re-defining struct types at the REPL.
2018 Feb 08 update
------------------
`gijit` v0.9.4 feature summary:
* interactively code in Go. Just-in-time for Valentine's Day, a Go REPL that is not based on re-compiling everything after every line.
* the ability to import binary Go packages. Call into native Go code from the REPL.
* use Go as a calculator. Just start the line with `=`.
Use `==` to enter calculator mode where multiple
direct math expressions can be evaluated. Return
to go mode with `:`.
* structs, interfaces, pointers, defer are all available.
* current limitation: no `go`/`select`/`chan` implementation.
* portable. Doesn't depend on Go's plugin system, or on
recompiling everything every time. We run on OSX and Linux and Windows.
# demo
~~~
$ gi -q
gi> import "math"
elapsed: '15.155µs'
gi> import "fmt"
elapsed: '16.507µs'
gi> fmt.Printf("hello expressions! %v\n", math.Exp(-0.5) * 3.3 - 2.2)
hello expressions! -0.1984488229483099
elapsed: '141.721µs'
gi> = 4.0 / 1.3 /* or, with '=', no fmt.Printf needed. */
3.0769230769231
elapsed: '112.18µs'
gi>
~~~
2018 Feb 07 update
-------
In version v0.9.3, defers pass additional
tests (that found issues that were fixed),
and the repl in raw mode can
import Go binary libraries with
the call __go_import(path).
Raw mode factilitates system debugging and tests.
Raw mode isn't needed by
end users, unless one is developing gijit. Raw
mode allows direct LuaJIT commands to be entered. It is
accessed with the ':r' enter-raw-mode command; and
':' returns one to Go mode.
~~~
gi> :r
Raw LuaJIT language mode.
elapsed: '20.042µs'
raw luajit gi> __go_import "fmt"
elapsed: '2.048215ms'
raw luajit gi> fmt.Printf("hello Go!")
hello Go!
elapsed: '124.64µs'
raw luajit gi> :
Go language mode.
gi>
~~~
In version v0.9.2, the REPL prints expressions that
produce multi-lines of Lua better. We only wrap
the final line with a print. This handles expressions
that generate anonymous pointer types gracefully.
In version v0.9.1, pointers inside structs work.
In version v0.9.0, defer handling of named
return values received some important correctness fixes.
2018 Feb 06 update
-------
In version v0.8.9, the repl received some refactoring
to make it easier to test.
In version v0.8.8 (quiet) and v0.8.7 (debug prints live),
pointer support is much improved. Cloning is restored,
and test 028 is green.
Basic assignment to pointers, and assignment through
pointers, work now. For example, the sequence
~~~
a:= 1
b := &a
c := *b
*b = 3
~~~
works as expected (ptr_test.go/Test099). As usual,
after the four statements, `c` ends as 1,
and `a` ends as 3.
Still TODO is supporting pointer members
within structs, but that should follow shortly.
2018 Feb 05 update
-------
Excellent progress.
In version v0.8.6, the majority of the type system
from GopherJS was ported over to LuaJIT in the
struct.lua file. Type assertions on interfaces
are working, cf face_test.go and tests 100, 102, 202.
The cloning of structs (test 028 in repl_test.go) is
temporarily broken while their infrastructure is being
refactored to use the new system.
2018 Feb 02 update
-------
In version v0.8.4, we began integrating the
GopherJS type system, in order to properly support
interfaces. It turns out that, because the Go
reflect system is incomplete, GopherJS and
now `gijit` both need a complete, stand-alone type system
implementation. So adding interface support
is a much bigger job than I orignally thought.
Nonetheless, with GopherJS lighting the way, we
are making progress with the port. Test 100
in face_test.go was red for a long time
while we began integrating our updated
Lua-metable based object model for types with the
GopherJS object model for types. The
integration isn't finished yet, as many
of the properties that live in the leaf
table of a new struct need to be moved
up in the properties table, but we've
got the basic machinery going and now
its simply a matter of fine tuning.
Test 100 finally went green, so we felt it
was time to mark progress with a release.
However other tests remain red, so v0.8.4 will be
an internal-only release.
In version v0.8.3, an internal release, we restrict `gijit` programs
to a subset of legal `go` programs, by imposing
some mild restrictions on the names of variables.
Minor restriction number one: variable names cannot start
with '__' two underscores.
Minor restriction number two: in `gijit`, you can't
have a variable named `int`, or `float64`, for example. These
are names of two of the pre-declared numeric types in Go.
So, while
~~~
func main() {
var int int
_ = int
}
~~~
is a legal `Go` program, `gijit` will reject it.
`gijit` won't let you re-use any of the basic,
pre-declared type names as variables. `uint`, `int`, `int8`, `int16`,
`int32`, `int64`, `uint8`, ... etc. are all off-limits.
Although in Go this is technically allowed, it can be highly confusing.
It is poor practice.
The technical reason for this restriction in `gijit` is that otherwise
the Go type checker can be corrupted by simple syntax errors
involving pre-declared identifiers. That's not an
issue for a full-recompile from the scratch each time, but for
a continuously online typechecker, it is a problem. To
stay online and functional after a syntax error like `var int w`,
(where w is unknown, provoking a syntax error yet shadowing
the pre-declared type), we disallow such variable names.
2018 Jan 31 update
-------
As of release v0.8.2, we support pointers, taking and de-referencing.
As of release v0.8.1, `gijit` works as a calculator. It will evaluate expressions at the command line.
In order to continue to detect syntax errors in Go code, we
adopt the same convention as Lua: the user must prepend an '=' equals sign to the
expression. For example:
~~~
gi> = 24/3
8LL
elapsed: '117.858µs'
gi>
~~~
Aside: the 'LL' suffix indicates a 64-bit, signed integer. Borrowed by LuaJIT from C/C++, it stands for "long long". There's also 'ULL' for uint64.
Notice, however, that without the '=', a syntax error is properly detected:
~~~
gi> 24/3
oops: 'problem detected during Go static type checking: '1:1: expected declaration, found 'INT' 24'' on input '24/3'
elapsed: '24.166µs'
gi>
~~~
Keeping Go's type checking intact at the REPL preserves one of the most important
advantages of Go. We catch typos early, at compile time.
Multiple expressions at once also work, and each is printed on its own line.
~~~
gi> = 2+4, "gophers" + " " + "rock", 7-3
6LL
`gophers rock`
4LL
elapsed: '155.55µs'
gi>
~~~
2018 Jan 29 update
-------
What is left to do: pointers, interfaces, go-routines,
and channels.
Release v0.8.0 has command line history available with
the up-arrow/down-arrow. This is a nice supplement to
the `:h` history listing and replay facility.
Like traditional shell editing, we now have ctrl-a (move
to beginning of line); ctrl-e (move to end of line);
ctrl-k (cut); and ctrl-y (paste) at the REPL.
A quick demo of the `:h` history functionality, which
is also new (and distinct from the up-arrow/liner
functionality).
Line history is stored in `$HOME/.gijit.hist`, and is preserved
across `gi` restarts. It can be edited by removing
sets of lines using the `:rm a-b` command. The `:n`
command, where `n` is a number, replays history line `n`.
With a `-` dash, a range of commands to be replayed
is specified. `:10-` replays from 10 to the end of
history, while `:-10` replays everything from the
first line in the history, up to and
including line 10. `:-` replays everything in the
history, because the range endpoints have the intuitive
defaults.
Commands executed in the current session appear after the
`----- current session: -----` delineator.
~~~
$ gi -q ## start quietly, omit the banner for the demo.
gi> :h
history:
001: greet := "hello gophers!"
----- current session: -----
gi> ## notice that stuff from past sessions is above the `current session:` line.
gi> :reset
history cleared.
gi> :h
history: empty
----- current session: -----
gi> a := 1
elapsed: '17.614µs'
gi> :h
history:
----- current session: -----
001: a := 1
gi> b := a * 2
elapsed: '50.054µs'
gi> :h
history:
----- current session: -----
001: a := 1
002: b := a * 2
gi> :1-
replay history 001 - 002:
a := 1
b := a * 2
elapsed: '41.932µs'
gi> :h
history:
----- current session: -----
001: a := 1
002: b := a * 2
003: a := 1
004: b := a * 2
gi> :3-4
replay history 003 - 004:
a := 1
b := a * 2
elapsed: '76.605µs'
gi> :-2
replay history 001 - 002:
a := 1
b := a * 2
elapsed: '91.664µs'
gi> :- ## replay everything in our history
replay history 001 - 008:
a := 1
b := a * 2
a := 1
b := a * 2
a := 1
b := a * 2
a := 1
b := a * 2
elapsed: '37.896µs'
gi> :h
history:
----- current session: -----
001: a := 1
002: b := a * 2
003: a := 1
004: b := a * 2
005: a := 1
006: b := a * 2
007: a := 1
008: b := a * 2
009: a := 1
010: b := a * 2
011: a := 1
012: b := a * 2
013: a := 1
014: b := a * 2
015: a := 1
016: b := a * 2
gi> :rm 3- ## if a range leaves off an endpoint, it defaults to the beginning/end.
remove history 003 - 016.
gi> :h
history:
----- current session: -----
001: a := 1
002: b := a * 2
gi> :rm - ## same as :reset or :clear
remove history 001 - 002.
gi> :h
history: empty
----- current session: -----
gi>
~~~
Release v0.7.9 has slice `copy` and `append` working.
`copy` allows source and destination
slices to overlap, adjusting
the copy direction automatically.
In release v0.7.7, make applied to slices works. For example,
`make([]int, 4)` will create a new length four array filled
with the zero value for `int`, and then take a slice of that array.
In release v0.7.6, taking a slice of an array works.
2018 Jan 28 update
-------
# binary imports
In release v0.7.5, we added the ability for the `gi` REPL
to import "regexp" and "os". More generally, we added
the general ability
to quickly add existing native Go packages to be imported.
The process of making an existing native Go package available
is called shadowing.
The shadowing process is fairly straightforward.
A new utility, `gen-gijit-shadow-import`
is run, passing as an argument the package to be shadowed. The utility
produces a new directory and file under `pkg/compiler/shadow`. Then
a few lines must be added to `pkg/compiler/import.go` so
that the package's exported functions will be available
to the REPL at runtime, after import. The "regexp" and "os"
shadow packages provide examples of how to do this.
As an example of shadwoing the io/ioutil package, we ran:
~~~
$ gen-gijit-shadow-import io/ioutil
writing to odir '/Users/jaten/go/src/github.com/gijit/gi/pkg/compiler/shadow/io/ioutil'
$
~~~
While shadowing (sandboxing) does
not allow arbitrary imports to be called from inside
the `gi` without prior preparation, this is
often a useful and desirable security feature. Moreover
we are able to provide these imports without using Go's
linux-only DLL loading system, so we remain portable/more
cross-platform compatible.
Interfaces are not yet implemented, and so are not yet imported.
Update: interfaces are represented in the imports, but
are not well tested. Please file issues as you find them.
2018 Jan 27 update
-------
In release v0.7.3, arrays are passed to Go native functions, and
array copy by value is implemented. Having arrays work well, now
we are well-positioned to get slices pointing to arrays working.
That will be the next focus.
2018 Jan 25 update
-------
In release v0.7.2, for range over strings produces utf8 runes.
Release v0.7.1 makes all integers work as map keys.
Go integers (int, int64, uint, etc) are represented with
cdata in LuaJIT, since otherwise all numbers default
to float64/doubles.
This was a problem because cdata are boxed, so equality
comparison on ints was comparing their addresses. Now we
translate all Go integer map keys to strings in Lua, which makes
key lookup for a Go integer key work as expected.
2018 Jan 23 update
------
Release v0.7.0 brings local variables inside
funtions, by default. The global package name space is not
changed by variables declared inside functions.
Function code will be much faster. Global level/package
level declarations are kept global, and are not
prefixed with the 'local' keyword in the Lua translation.
Release v0.6.8 brought the ability to update a method
definition at the REPL, replacing an old method
definition with a new one. Functions and variables
could already be re-defined. Now all data types can
be updated as you work at the `gi` REPL.
2018 Jan 21 update
------
Release v0.6.7 has working `fmt.Printf`.
~~~
gi> import "fmt"
import "fmt"
gi> fmt.Printf("Hello World from gi!")
Hello World from gi!
gi>
~~~
2018 Jan 20 update
------
Release v0.6.2 has a working `fmt.Sprintf`.
This needed handling vararg calls into
compiled Go code, which is working now.
A quick demo:
~~~
gi> import "fmt"
import "fmt"
gi> fmt.Sprintf("hi gi") // value not printed at the REPL (at present), so add println:
gi> println(fmt.Sprintf("hi gi"))
hi gi
gi> println(fmt.Sprintf("hi gi %v", 1))
hi gi 1
gi> println(fmt.Sprintf("hi gi %v", "hello"))
hi gi hello
gi> println(fmt.Sprintf("hi gi %v %v", "hello", 1))
hi gi hello 1
gi>
~~~
2018 Jan 18 update
------
Release v0.6.0 was aimed at putting the infrastructure in place
to support package imports. Specifically, we aimed at getting
the first `import "fmt"` and the first use of `fmt.Sprintf`
from the REPL.
The varargs and int64 handling required in `fmt.Sprintf` made this extra
tricky. And so it's not quite done.
Nonetheless, I'm releasing v0.6.0 because there were big
refactorings that provide significant new internal
functionality, and contributors will want to leverage these.
The REPL will now accept `import "fmt"` and will wire in
the `fmt.Sprintf` for you. It's hardwired for now. Auto
loading of functions from already compiled packages will
come later. Standing on the shoulders of another giant,
the `luar` package, lets
us call pre-compiled Go packages from Lua through reflection.
A quick demo:
~~~
gi> import "fmt"
import "fmt"
gi> a:=fmt.Sprintf("hello gi!")
a:=fmt.Sprintf("hello gi!")
gi> a
a
hello gi!
gi>
~~~
`luar` (https://github.com/stevedonovan/luar) is a mature
library that gives us the basis for imports.
Since `LuaJIT` provides reasonable int64 handling, we've
extended the `luar` functionality to gracefully convey
`int64` and `uint64` values. There's more extension to
do for `int32`, `int16`, `int8`, `uint32`, etc but
this should be straightforward extension of the new
functionality.
While the vararg handling to make Sprintf
actually useful beyond just the format
string is missing, this should be done shortly.
The red 051 and 052 tests in imp_test.go track the
last bits of functionality needed to make Sprintf work.
API functions
luajit_push_cdata_uint64(), luajit_push_cdata_int64(),
and luajit_ctypeid() were added to the luajit API
to support passing int64/uint64 values from Go to Lua and
back to Go without the loss of data formerly associated
with casting to double (float64) and back.
2018 Jan 13 update
------
We've moved within github to make admin easier. We are now at https://github.com/gijit/gi
len(a) now displays at the REPL. Fixes #22.
This was a minor REPL nit, but well worth addressing.
We have a new contributor! Welcome to Malhar Vora.
As of v0.5.6, integer modulo and divide now
check for divide by zero, and panic like Go when found.
The math.lua library is supplemented with
math.isnan(), math.finite(), and __truncateToInt().
There's a new section of this readme,
https://github.com/gijit/gi#translation-hints
that gives specific hints for porting the javascript ternary
operator and other constructs.
jea: I'll be offline for a day or two.
2018 Jan 12 update
------
Switch statements now work. They work at the top level
and inside a function.
2018 Jan 11 update
------
With release v0.5.0 the inital test of the `defer`/
`panic`/`recover` mechanism passes. Woot! There's more
to do here, but the design is solid so filling in
should be quick.
For a stack-unwinding `panic`, we use
what Lua offers, the `error`
mechanic -- to throw -- combined with the
`xpcall` mechanic to catch.
The only limitation I found here is on recursive `xpcall`: if
you are in a panic stack unwind, and then in a defer function,
and your code causes a second error that is *not* a deliberate panic,
then that error will be caught but recover won't return
that error value to the caller of recover. This is due to a wierd
corner case in the implementation of LuaJIT where
it does not like recursive `xpcall` invocations, and
reports "error in error handling".
I asked on the Lua and LuaJIT mailing lists about
this, and posted on Stack Overflow. So far no
replies. https://stackoverflow.com/questions/48202338/on-latest-luajit-2-1-0-beta3-is-recursive-xpcall-possible.
[Update: Mike Pall replied, (yay!) -- but (sadly),
it doesn't sound like he'll be fixing
this himself.
> Error handlers shouldn't throw errors themselves. The semantics would be too messy.
-- Mike Pall, on https://github.com/LuaJIT/LuaJIT/issues/383
]
It's a fairly minor limitation, and easy to work
around once you notice the bug: just call `panic`
directly rather than causing the error. Or don't
cause the error at all(!) Or simply use a
different side-band to pass around the value.
Lots of work arounds.
2018 Jan 10 update
------
With release v0.4.1 we have much improved map support.
In `gi`, maps now work as in Go. Multiple-valued queries
properly return the zero-value for the value-type
when the key is missing, and return the 2nd
value correctly. Nil keys and values are
handled properly. `delete` on a map works as
expected, and maintains the `len` property.
2018 Jan 9 update
------
Functions and methods can now be re-defined at the REPL. The
type checker was relaxed to allow this.
We changed over from one LuaJIT C binding to anther. The
new binding is the same one that LuaR uses, so this
enables LuaR exploration.
2018 Jan 8 update
------
Today we landed multiline support. We evalutate
Go expressions as they are entered, and these
can now span multiple lines. This lifts the
prior limitation that meant that functions
and types needed to be defined all on one line.
This was fun to put together. I used the actual gc front end that
parses regular go code. Since gc is written in Go,
why not leverage it! The advantage is that we know we
are building on correct parsing of the whole language.
Of course minor tweaks had to be made to allow statements and
expressions at global scope. Happily, from our experience
adding the same provisions to GopherJS, we knew these
were relatively minor changes. See the updated
demo transcript below in this readme for a multi-line
function definition taking effect.
2018 Jan 7: latest update
------
Today we acheived passing (light) tests for method definition and invocation!
Also a significant discovery for the object system: Steve Donovan's Luar
provides object exchange both ways between Go -> Lua and Lua -> Go.
That should influence our design of our Go source -> Lua source mapping. If we
map in a way that matches what Luar does when it translates from
Go binary -> Lua binary, then our objects will translate cleanly
into binary Go calls made by reflection.
Even more: Luar provides access to the full Go runtime and channels
via reflection. Nice! We don't have to reinvent the wheel, and we
get to use the high-performance multicore Go scheduler.
earlier summary
-----
Early stages, work in progress. Contribute!
Currently incremental type checking is applied
to all code. Slices are bounds-checked at runtime.
Functions, closures and slices, as well as
basic expressions compile and run. For-loops
including for-range loops compile and run.
If this is exciting to
you, contribute! Existing TODOs/open issues and polite improvement
suggestions can be found here
https://github.com/gijit/gi/issues
However, because we are bulding on the fantastic
front end provided by (Gopherjs)[https://github.com/gopherjs/gopherjs], and the fantastic
backend provided by (LuaJIT)[http://luajit.org/], progress has been
quite rapid.
#quick demo session
~~~
$ go get -d github.com/gijit/gi/cmd/gi
$ cd $GOPATH/src/github.com/gijit/gi && make install
$
$ ... wait for gi build to finish, it builds LuaJIT
$ using C, so it takes ~ 20 seconds to install `gi`.
$
$ gi # start me up (will be in $GOPATH/bin/gi now).
====================
gi: a go interpreter
====================
https://github.com/gijit/gi
Copyright (c) 2018, Jason E. Aten. All rights reserved.
License: MIT. See the LICENSE file at
https://github.com/gijit/gi/blob/master/LICENSE
====================
[ gi is an interactive Golang environment,
also known as a REPL or Read-Eval-Print-Loop ]
[ type ctrl-d to exit ]
[ type :help for help ]
[ gi -h for flag help ]
[ gi -q to start quietly ]
====================
built: '2018-01-08T23:46:07-0600'
last-git-commit-hash: 'db302d2acb37d3c2ba2a0d376b6f233045928730'
nearest-git-tag: 'v0.3.3'
git-branch: 'master'
go-version: 'go_version_go1.9_darwin/amd64'
luajit-version: 'LuaJIT_2.1.0-beta3_--_Copyright_(C)_2005-2017_Mike_Pall._http://luajit.org/'
==================
using this prelude directory: '/Users/jaten/go/src/github.com/gijit/gi/pkg/compiler'
using these files as prelude: array.lua, map.lua, prelude.lua, slice.lua, struct.lua
gi>
gi> a := []string{"howdy", "gophers!"}
gi> a // ^^ make data using Go's literals. inspect it by typing the variables name.
slice of length 2 is _giSlice{[0]= howdy, [1]= gophers!, }
gi> a[0] = "you rock" // data can be changed
gi> a
slice of length 2 is _giSlice{[0]= you rock, [1]= gophers!, }
gi> // the Go type checker helps you quickly catch blunders, at compile time.
gi> a[-1] = "compile-time-out-of-bounds-access"
oops: 'problem detected during Go static type checking: 'where error? err = '1:3: invalid argument: index -1 (constant of type int) must not be negative''' on input 'a[-1] = "compile-time-out-of-bounds-access"
'
gi> // runtime bounds checks are compiled in too:
gi> a[100] = "runtime-out-of-bounds-access"
error from Lua vm.Pcall(0,0,0): 'run time error'. supplied lua with: ' _gi_SetRangeCheck(a, 100, "runtime-out-of-bounds-access");'
lua stack:
String : ...rc/github.com/gijit/gi/pkg/compiler/prelude.lua:14: index out of range
gi> // We can define functions:
gi> func myFirstGiFunc(a []string) int {
>>> for i := range a {
>>> println("our input is a[",i,"] = ", a[i])
>>> };
>>> return 43
>>> }
func myFirstGiFunc(a []string) int {
for i := range a {
println("our input is a[", i, "] = ", a[i])
}
return 43
}
gi> myFirstGiFunc(a)
our input is a[ 0 ] = you rock
our input is a[ 1 ] = gophers!
gi> // ^^ and call them. They are tracing-JIT compiled on the LuaJIT vm.
gi> // more compile time type checking, because it rocks:
gi> b := []int{1,1}
gi> myFirstGiFunc(b)
oops: 'problem detected during Go static type checking: 'where error? err = '1:15: cannot use b (variable of type []int) as []string value in argument to myFirstGiFunc''' on input 'myFirstGiFunc(b)
'
gi>
~~~
# Q: can I target non-JIT environments?
Yes, LuaJIT can be compiled to run without codegen, using
only its interpreter. This can be done at
compile time by adjusting the LuaJIT Makefile, or at
runtime (http://luajit.org/ext_jit.html).
# Q: Can I use PUC Lua instead of LuaJIT?
No. We target at 64-bit environment and heavily
use the 64-bit integer support and `ffi`
functionality of LuaJIT.
# editor support
An emacs mode `gijit.el` can be found in the `emacs/` subdirectory
here https://github.com/gijit/gi/blob/master/emacs/gijit.el
M-x `run-gijit` to start the interpreter. Pressing ctrl-n will
step through any file that is in `gijit` mode.
Other editors: please contribute!
# Lua resources - development reference
LuaJIT targets Lua 5.1 with some 5.2 extensions.
a) main web site
https://www.lua.org/
b) Programming in Lua by by Roberto Ierusalimschy, the chief architect of Lua.
1st edition. html format (Lua 5.0) https://www.lua.org/pil/contents.html
2nd edition. pdf format (Lua 5.1) https://doc.lagout.org/programmation/Lua/Programming%20in%20Lua%20Second%20Edition.pdf
c) Lua 5.1 Reference Manual, by R. Ierusalimschy, L. H. de Figueiredo, W. Celes
Lua.org, August 2006
Lua 5.1 https://www.lua.org/manual/5.1/
# translation hints - developer reference
Specific javascript to Lua translation hints are below. Note
that `gijit` doesn't generate javascript. However, the
compiler package is derived from GopherJS, which did.
The job of making the full transition
from Javascript to Lua within the GopherJS-derived
code base is half-done/still in progress.
So when deciding how to change the output in the GopherJS derived code
of a particular javascript idiom, we
note the following are helpful hints.
d1) the ternary operator
~~~
x ? y : z
~~~
should be translated as
~~~
( x and {y} or {z} )[1]
~~~
d) the comma operator
~~~
x = (a, b, c) // return value of c after executing `a` and `b`
~~~
doesn't have a direct equivalent in Lua. Try
to see if you can't define a new function in
the prelude to take care of the same processing
that a,b,c does.
If `b` doesn't refer to `c` directly, and `a` doesn't
refer to `b` directly, then
~~~
x = {a, b, c}[3]
~~~
comes close. Rarely does such a construct arise,
since `a` and `b` are typically helper computations
to compute `c`. However that boxing-unboxing construct is
helpful in some tight corners, and may be your
fastest alternative.
Compared to defining and then calling a new closure,
boxing and unboxing is 100x faster.
e) join of strings:
table.concat({"a", "b", "c"}, ",")
f splitting strings, see string:split(sep)
NB: Lua has a limit of a few thousand return values.
f) s.substr(n): return the substring of s starting at n (0-indexed)
Javascript s.substr(4) is a zero-indexed substring from 4 to end of string `s`.
The Lua equivalent is string.sub(s, 5)
# origin
Author: Jason E. Aten
License summary: MIT.
Credits: some code here is dervied from the Go standard
libraries, the Go gc compiler, and from Richard Musiol's excellent Gopherjs project.
Those are licensed under the 3-clause BSD license
found in the LICENSE file. The LuaJIT vm and compiler are statically linked
using CGO, and their MIT license can be found in their sub-directories
and online at http://luajit.org/ and https://github.com/LuaJIT/LuaJIT/blob/master/COPYRIGHT
See the subdirectories of vendored and utilized libraries for their
license details.
================================================
FILE: TAGS
================================================
cmd/gi/lua.help.lua,50
function locals(11,378
function upvalues(30,808
pkg/compiler/_templates/defer.lua,17
function f(3,14
pkg/compiler/_templates/deferinit.lua,18
function ts(4,75
pkg/compiler/_templates/flow1.lua,17
function f(8,72
pkg/compiler/_templates/flow10.lua,69
function deeper(21,302
function intermed(45,914
function f(50,954
pkg/compiler/_templates/flow11.lua,19
function f(15,140
pkg/compiler/_templates/flow2.lua,17
function f(9,73
pkg/compiler/_templates/flow3.lua,17
function f(8,72
pkg/compiler/_templates/flow4.lua,17
function f(7,71
pkg/compiler/_templates/flow5.lua,17
function f(8,72
pkg/compiler/_templates/flow6.lua,17
function f(8,72
pkg/compiler/_templates/flow7.lua,43
function deeper(12,130
function f(29,446
pkg/compiler/_templates/flow8.lua,69
function deeper(13,131
function intermed(28,445
function f(34,486
pkg/compiler/_templates/flow9.lua,17
function f(7,40
pkg/compiler/_templates/luadefer1_defer_panic_a_new_val.lua,17
function f(3,14
pkg/compiler/_templates/luadefer2_defer_error_a_new_val.lua,17
function f(3,14
pkg/compiler/_templates/new.defer.lua,17
function f(3,14
pkg/compiler/_templates/q.lua,230
function stack:new(3,12
function stack:new(new3,12
function stack:pop(7,51
function stack:pop(pop7,51
function stack:push(16,178
function stack:push(push16,178
function stack:show(20,228
function stack:show(show20,228
pkg/compiler/_templates/q2.lua,230
function stack.new(4,13
function stack.new(new4,13
function stack.pop(8,52
function stack.pop(pop8,52
function stack.push(17,183
function stack.push(push17,183
function stack.show(21,239
function stack.show(show21,239
pkg/compiler/_templates/recursive.xpcall.defer.lua,17
function f(3,14
pkg/compiler/_templates/test.lua,78
local function dofuss(5,77
local function w_(9,120
local function w(11,166
pkg/compiler/allport/fin.lua,573
function ___ipairsZeroCheck(18,444
function ___assertIsArray(96,2168
function ___lenz(108,2387
function ___st(118,2599
function ___mapAndJoinStrings(191,4329
function()(292,6934
function()(319,7681
function ___newAnyArrayValue(701,18535
function(this,(this813,21448
function ___methodSet(1135,32460
function ___Chan(1373,40010
function ___interfaceStrHelper(1415,41557
function ___basicValue2kind(1469,43229
function field2strHelper(1546,45325
function typeKeyHelper(1555,45541
function ___zipairs(1742,50887
pkg/compiler/allport/full.lua,91
function __assertIsArray(3,59
function __new(13,230
function __mapAndJoinStrings(22,486
pkg/compiler/allport/half.lua,398
function __newAnyArrayValue(5,83
function __assertIsArray(45,1197
function __new(55,1368
function __mapAndJoinStrings(64,1624
function()(169,4316
function()(196,5086
function __interfaceStrHelper(1357,37078
function field2strHelper(1452,39922
function typeKeyHelper(1463,40274
function()(1573,43228
function()(1728,47870
pkg/compiler/attic/array.lua,181
local function stateless_iter(79,2467
function __gi_NewArray(100,3066
function __gi_clone2(138,3982
function __gi_UnpackArrayRaw(187,5488
function __gi_ArrayRaw(205,5806
pkg/compiler/attic/slice.lua,301
local function stateless_iter(102,3394
function __gi_NewSlice(124,4009
function __gi_UnpackSliceRaw(192,5956
function __gi_Raw(228,6707
function append(238,6876
function appendSlice(297,8401
function __copySlice(302,8487
function __subslice(344,9681
function ___gi_makeSlice(368,10402
pkg/compiler/attic/struct.lua,1333
function __starToAsterisk(50,1168
function __gi_createNewPointer(93,2353
function __st(143,3417
function __show_methods_desc(211,4978
local function stateless_iter(239,5756
function __structPrinter(250,6046
function __ifacePrinter(280,6887
function __reg:RegisterStruct(318,7921
function __reg:RegisterStruct(RegisterStruct318,7921
function __reg:RegisterInterface(353,9055
function __reg:RegisterInterface(RegisterInterface353,9055
function __reg:IsInterface(381,9823
function __reg:IsInterface(IsInterface381,9823
function __reg:GetInterfaceMethods(386,9925
function __reg:GetInterfaceMethods(GetInterfaceMethods386,9925
function __reg:GetPointeeMethodset(391,10028
function __reg:GetPointeeMethodset(GetPointeeMethodset391,10028
function __reg:NewInstance(418,10905
function __reg:NewInstance(NewInstance418,10905
function __reg:RemoveMethod(440,11453
function __reg:RemoveMethod(RemoveMethod440,11453
function __reg:AddMethod(472,12403
function __reg:AddMethod(AddMethod472,12403
function __gi_methodVal(505,13346
function __gi_count_methods(532,14131
function __gi_assertType(571,15272
function __gi_NewType(942,25680
function __ptrType(1560,47439
function __gi_mapArray(1610,48830
function __mapFuncOverTable(1628,49305
function __sliceType(1781,54832
function __arrayType(1864,56609
pkg/compiler/prelude/chan.lua,350
local function random_choice(138,4285
local function scheduler(225,6294
function __task_ready(296,8609
local function spawn(310,8943
local function altcopy(348,10054
local function altalldequeue(391,11078
local function altcanexec(401,11323
local function __fldcnt(446,12661
local function select(460,12997
local function f(671,19442
pkg/compiler/prelude/chan_test.lua,531
local function counter(7,88
local function main(14,231
local function main(31,642
local function a(53,1221
local function a(85,2339
local function b(90,2436
local function fib(108,2877
local function main(115,3028
local function main(138,3593
local function counter(166,4518
local function filter(174,4662
local function sieve(183,4873
local function main(194,5179
local function counter(213,5662
local function main(221,5806
pkg/compiler/prelude/complex.lua,1480
local function __truncateToInt(24,713
local function complex(33,872
local function real(44,1184
local function imag(57,1467
local function cexp(93,2261
local function conj(97,2303
local function cabs(103,2441
local function phase(122,2920
local function polar(128,3067
local function rect(139,3415
local function clog(150,3767
local function clogf(157,3997
local function csqrt(210,5249
function cmath.Sin(234,5626
function cmath.Sin(Sin234,5626
function cmath.Cos(238,5726
function cmath.Cos(Cos238,5726
function cmath.Tan(242,5827
function cmath.Tan(Tan242,5827
function __reducePi(249,6005
function __tanSeries(265,6515
function cmath.Cot(326,7726
function cmath.Cot(Cot326,7726
function cmath.Sinh(338,7951
function cmath.Sinh(Sinh338,7951
function cmath.Cosh(342,8052
function cmath.Cosh(Cosh342,8052
function cmath.Tanh(346,8153
function cmath.Tanh(Tanh346,8153
function cmath.Asin(366,8529
function cmath.Asin(Asin366,8529
function cmath.Acos(383,8970
function cmath.Acos(Acos383,8970
function cmath.Atan(386,9034
function cmath.Atan(Atan386,9034
function cmath.Atan2(391,9212
function cmath.Atan2(Atan2391,9212
function cmath.Asinh(400,9524
function cmath.Asinh(Asinh400,9524
function cmath.Acosh(403,9580
function cmath.Acosh(Acosh403,9580
function cmath.Atanh(406,9651
function cmath.Atanh(Atanh406,9651
function cmath.ComplexLog(413,9809
function cmath.ComplexLog(ComplexLog413,9809
function check(471,11633
pkg/compiler/prelude/defer.lua,20
function __ts(4,75
pkg/compiler/prelude/dfs.lua,392
function __isBasicTyp(13,246
local function __makeRequiredTypes(38,927
function __newDfsNode(53,1283
function __addChild(96,2419
function __markGraphUnVisited(162,4156
function __emptyOutGraph(170,4311
function __dfsHelper(178,4515
function __showDFSOrder(196,4928
function __doDFS(205,5126
function __hasTypes(213,5277
function __NewDFSState(218,5339
function __testDFS(241,5877
pkg/compiler/prelude/int64.lua,33
function __newByteArray(66,1517
pkg/compiler/prelude/math.lua,46
function __max(40,801
function __min(47,877
pkg/compiler/prelude/prelude.lua,70
function __gi_GetRangeCheck(4,84
function __gi_SetRangeCheck(21,599
pkg/compiler/prelude/rune.lua,27
function __decodeRune(1,0
pkg/compiler/prelude/tsys.lua,1483
function __storeBuiltins(35,908
function __sorted_keys(44,1106
function __gls(54,1264
function __ls(64,1478
function __lst(83,2017
function __glst(96,2357
function __minifs.renameBasedFileExists(159,3795
function __minifs.renameBasedFileExists(renameBasedFileExists159,3795
function __minifs.dirExists(170,4026
function __minifs.dirExists(dirExists170,4026
function __lenz(264,6760
function __lenzi(284,7220
function __ipairsZeroCheck(299,7534
function __assertIsArray(403,9837
function __addressof(413,10008
function __st(425,10344
function __mapAndJoinStrings(544,13706
function()(646,16355
function()(674,17190
local function stateless_iter(957,25220
function __starToAsterisk(1210,33714
function __newAnyArrayValue(1249,34866
function(getter,(getter1430,39823
function __methodSet(1970,59222
function __gijitTypeToGoType(2181,66159
function __Chan(2235,67742
function __Chan_GopherJS(2271,68643
function __addChildTypesHelper(2291,69331
function __interfaceStrHelper(2346,71720
local function stateless_iter(2557,77849
function __basicValue2kind(2683,81638
function __field2strHelper(2773,84150
function __typeKeyHelper(2782,84375
function __zipairs(3008,90609
function __elim0(3031,91155
function __unpack0(3074,91876
function __lazy_ellipsis(3090,92114
function __printHelper(3099,92276
function __gijit_printQuoted(3116,92641
function __get_local_value(3339,99562
pkg/compiler/prelude/tutil.lua,51
function __ValEq(5,51
function __expectEq(43,897
pkg/compiler/prelude/utf8.lua,986
local function utf8charbytes 82,3119
local function utf8len 179,5201
local function utf8sub 200,5699
local function utf8replace 244,6572
local function utf8upper 272,7232
local function utf8lower 277,7384
local function utf8reverse 283,7517
local function utf8char(313,8122
local function utf8gensub(389,10163
local function binsearch(411,10690
local function classMatchGenerator(432,11206
local function inRanges(543,14655
local function utf8subWithBytes 564,15139
local function matcherGenerator(613,16094
local function simple(623,16282
local function star(633,16444
local function minus(643,16618
local function question(651,16761
local function capture(661,16931
local function captureStart(676,17357
local function captureStop(682,17485
local function balancer(689,17617
local function utf8find(945,24032
local function utf8match(951,24201
local function utf8gmatch(963,24445
local function replace(978,24825
local function utf8gsub(1012,25463
pkg/compiler/prelude/zgoro.lua,22
function __go(12,331
pkg/compiler/prelude/zgoro_test.lua,57
local function counter(7,71
local function main(15,187
pkg/utf8/utf8.lua,986
local function utf8charbytes 82,3157
local function utf8len 179,5239
local function utf8sub 200,5737
local function utf8replace 244,6610
local function utf8upper 272,7270
local function utf8lower 277,7422
local function utf8reverse 283,7555
local function utf8char(313,8160
local function utf8gensub(389,10141
local function binsearch(411,10668
local function classMatchGenerator(432,11164
local function inRanges(543,14613
local function utf8subWithBytes 564,15097
local function matcherGenerator(613,16052
local function simple(623,16240
local function star(633,16402
local function minus(643,16576
local function question(651,16719
local function capture(661,16889
local function captureStart(676,17315
local function captureStop(682,17443
local function balancer(689,17575
local function utf8find(945,23990
local function utf8match(951,24159
local function utf8gmatch(963,24403
local function replace(978,24783
local function utf8gsub(1012,25421
vendor/github.com/glycerine/golua/example/calls.lua,66
function call3(3,74
function call2(9,140
function call1(15,198
vendor/github.com/LuaJIT/LuaJIT/dynasm/dasm_arm.lua,1526
local function dumpactions(67,2072
local function writeactions(77,2374
local function wputxw(90,2813
local function waction(96,3008
local function wflush(104,3323
local function wputw(113,3722
local function wpos(119,3838
local function wputpos(126,3959
local function dumpglobals(149,4660
local function writeglobals(160,4921
local function writeglobalnames(171,5204
local function dumpexterns(197,5982
local function writeexternnames(206,6184
function _M.revdef(228,6850
function _M.revdef(revdef228,6850
local function parse_gpr(536,17004
local function parse_gpr_pm(554,17460
local function parse_vr(559,17587
local function parse_reglist(571,17880
local function parse_vrlist(585,18270
local function parse_imm(600,18751
local function parse_imm12(622,19375
local function parse_imm16(637,19690
local function parse_imm_load(650,20043
local function parse_shift(672,20568
local function parse_label(688,21023
local function parse_load(718,21856
local function parse_vload(790,24257
local function parse_template(829,25356
local function dumptypes(1053,32684
function _M.section(1069,33121
function _M.section(section1069,33121
function _M.dumparch(1077,33339
function _M.dumparch(dumparch1077,33339
function _M.dumpdef(1084,33531
function _M.dumpdef(dumpdef1084,33531
function _M.passcb(1093,33759
function _M.passcb(passcb1093,33759
function _M.setup(1099,33898
function _M.setup(setup1099,33898
function _M.mergemaps(1104,34011
function _M.mergemaps(mergemaps1104,34011
vendor/github.com/LuaJIT/LuaJIT/dynasm/dasm_arm64.lua,1819
local function dumpactions(67,2075
local function writeactions(77,2377
local function wputxw(90,2816
local function waction(96,3011
local function wflush(104,3326
local function wputw(113,3725
local function wpos(119,3841
local function wputpos(126,3962
local function dumpglobals(149,4663
local function writeglobals(160,4924
local function writeglobalnames(171,5207
local function dumpexterns(197,5985
local function writeexternnames(206,6187
function _M.revdef(228,6869
function _M.revdef(revdef228,6869
local function parse_reg(249,7354
local function parse_reg_base(275,8097
local function parse_number(294,8616
local function parse_imm(305,8830
local function parse_imm12(327,9458
local function parse_imm13(344,9867
local function parse_imm6(380,11035
local function parse_imm_load(395,11412
local function parse_fpimm(411,11876
local function parse_shift(429,12391
local function parse_lslx16(436,12600
local function parse_extend(446,12884
local function parse_cond(457,13193
local function parse_load(463,13354
local function parse_load_pair(534,15434
local function parse_label(563,16369
local function branch_type(593,17202
local function op_alias(610,17849
local function alias_bfx(618,18061
local function alias_bfiz(622,18148
local function parse_template(883,26187
function op_template(976,28938
local function dumptypes(1106,33216
function _M.section(1122,33653
function _M.section(section1122,33653
function _M.dumparch(1130,33871
function _M.dumparch(dumparch1130,33871
function _M.dumpdef(1137,34063
function _M.dumpdef(dumpdef1137,34063
function _M.passcb(1146,34291
function _M.passcb(passcb1146,34291
function _M.setup(1152,34430
function _M.setup(setup1152,34430
function _M.mergemaps(1157,34543
function _M.mergemaps(mergemaps1157,34543
vendor/github.com/LuaJIT/LuaJIT/dynasm/dasm_mips.lua,1200
local function dumpactions(69,2034
local function writeactions(79,2336
local function wputxw(92,2775
local function waction(98,2970
local function wflush(106,3298
local function wputw(115,3697
local function wpos(121,3813
local function wputpos(128,3934
local function dumpglobals(147,4540
local function writeglobals(158,4801
local function writeglobalnames(169,5084
local function dumpexterns(195,5862
local function writeexternnames(204,6064
function _M.revdef(221,6615
function _M.revdef(revdef221,6615
local function parse_gpr(660,19484
local function parse_fpr(678,19948
local function parse_imm(687,20142
local function parse_disp(711,20860
local function parse_index(734,21489
local function parse_label(744,21713
local function dumptypes(948,28763
function _M.section(964,29200
function _M.section(section964,29200
function _M.dumparch(972,29418
function _M.dumparch(dumparch972,29418
function _M.dumpdef(979,29610
function _M.dumpdef(dumpdef979,29610
function _M.passcb(988,29838
function _M.passcb(passcb988,29838
function _M.setup(994,29977
function _M.setup(setup994,29977
function _M.mergemaps(999,30090
function _M.mergemaps(mergemaps999,30090
vendor/github.com/LuaJIT/LuaJIT/dynasm/dasm_ppc.lua,1483
local function dumpactions(69,2046
local function writeactions(79,2348
local function wputxw(92,2787
local function waction(98,2982
local function wflush(106,3297
local function wputw(115,3696
local function wpos(121,3810
local function wputpos(128,3931
local function dumpglobals(147,4537
local function writeglobals(158,4798
local function writeglobalnames(169,5081
local function dumpexterns(195,5859
local function writeexternnames(204,6061
function _M.revdef(221,6603
function _M.revdef(revdef221,6603
local function op_alias(235,6874
local function parse_gpr(1455,42793
local function parse_fpr(1473,43257
local function parse_vr(1482,43451
local function parse_vs(1491,43644
local function parse_cr(1500,43838
local function parse_cond(1506,44000
local function parse_number(1527,44537
local function parse_imm(1538,44751
local function parse_shiftmask(1562,45476
local function parse_disp(1580,45999
local function parse_u5disp(1599,46595
local function parse_label(1618,47212
local function dumptypes(1859,55898
function _M.section(1875,56335
function _M.section(section1875,56335
function _M.dumparch(1883,56553
function _M.dumparch(dumparch1883,56553
function _M.dumpdef(1890,56745
function _M.dumpdef(dumpdef1890,56745
function _M.passcb(1899,56973
function _M.passcb(passcb1899,56973
function _M.setup(1905,57112
function _M.setup(setup1905,57112
function _M.mergemaps(1910,57225
function _M.mergemaps(mergemaps1910,57225
vendor/github.com/LuaJIT/LuaJIT/dynasm/dasm_x86.lua,1860
local function dumpactions(110,3427
local function writeactions(120,3729
local function wputxb(140,4282
local function waction(146,4470
local function wvreg(153,4710
local function wcall(168,5109
local function dedupechunk(173,5281
local function wflush(186,5672
local function wputb(197,6101
local function dumpglobals(216,6687
local function writeglobals(227,6948
local function writeglobalnames(238,7248
local function dumpexterns(262,7980
local function writeexternnames(273,8243
local function mkrmap(301,9392
function _M.revdef(403,12660
function _M.revdef(revdef403,12660
local function dumpregs(408,12760
local function wputlabel(426,13327
local function wputsbarg(442,13664
local function wputbarg(453,13925
local function wputwarg(463,14150
local function wputdarg(473,14415
local function wputszarg(488,14765
local function wputop(497,15072
local function wputmodrm(561,16949
local function wputmrmsib(567,17158
local function opmodestr(656,20052
local function toint(666,20281
local function immexpr(677,20518
local function dispexpr(709,21328
local function rtexpr(733,22072
local function parseoperand(752,22672
local function dopattern(1791,56348
local function templatehelp(1937,61052
local function matchtm(1951,61461
function map_op.mov64_2(2034,63914
function map_op.mov64_2(mov64_22034,63914
local function op_data(2077,65188
local function dumptypes(2231,70129
function _M.section(2247,70590
function _M.section(section2247,70590
function _M.dumparch(2256,70817
function _M.dumparch(dumparch2256,70817
function _M.dumpdef(2264,71025
function _M.dumpdef(dumpdef2264,71025
function _M.passcb(2273,71253
function _M.passcb(passcb2273,71253
function _M.setup(2279,71392
function _M.setup(setup2279,71392
function _M.mergemaps(2284,71505
function _M.mergemaps(mergemaps2284,71505
vendor/github.com/LuaJIT/LuaJIT/dynasm/dynasm.lua,2323
local function wline(72,2733
local function wcomment(79,2955
local function wsync(86,3105
local function wflush(94,3342
local function wdumplines(98,3410
local function werror(112,3811
local function wfatal(117,3963
local function wwarn(123,4074
local function wprinterr(129,4258
local function opterror(153,4896
local function optparam(160,5029
function opt_map.D(196,6072
function opt_map.D(D196,6072
function opt_map.U(209,6406
function opt_map.U(U209,6406
local function definesubst_one(221,6612
local function definesubst(227,6786
local function dumpdefines(239,7099
local function cond_eval(261,7684
local function stmtskip(284,8321
local function checkconds(345,9824
local function pathopen(354,10120
local function dumpmacros(475,14219
local function checkmacros(493,14679
local function dumpcaptures(554,16287
local function checkcaptures(571,16723
local function dumpsections(609,17935
function require(622,18293
local function loadarch(631,18525
function opt_map.dumparch(642,18928
function opt_map.dumparch(dumparch642,18928
local function dumpdef(728,21238
local function splitstmt_one(743,21593
local function splitstmt(760,22052
local function doline(827,23958
local function dasmhead(874,24992
local function writefile(908,25693
local function translate(929,26139
function opt_map.help(972,27040
function opt_map.help(help972,27040
function opt_map.version(1003,28182
function opt_map.version(version1003,28182
function opt_map.outfile(1010,28379
function opt_map.outfile(outfile1010,28379
function opt_map.include(1011,28445
function opt_map.include(include1011,28445
function opt_map.ccomment(1012,28521
function opt_map.ccomment(ccomment1012,28521
function opt_map.cppcomment(1013,28601
function opt_map.cppcomment(cppcomment1013,28601
function opt_map.nocomment(1014,28680
function opt_map.nocomment(nocomment1014,28680
function opt_map.maccomment(1015,28735
function opt_map.maccomment(maccomment1015,28735
function opt_map.nolineno(1016,28793
function opt_map.nolineno(nolineno1016,28793
function opt_map.flushline(1017,28843
function opt_map.flushline(flushline1017,28843
function opt_map.dumpdef(1018,28899
function opt_map.dumpdef(dumpdef1018,28899
local function parseopt(1032,29343
local function parseargs(1042,29612
vendor/github.com/LuaJIT/LuaJIT/src/host/genlibbc.lua,343
local function usage(18,730
local function parse_arg(24,872
local function read_files(38,1139
local function transform_lua(48,1329
local function read_uleb128(63,1719
local function fixup_dump(89,2280
local function find_defs(135,3326
local function gen_header(147,3680
local function w(149,3727
local function write_file(175,4471
vendor/github.com/LuaJIT/LuaJIT/src/host/genminilua.lua,831
local function usage(14,602
local function find_sources(20,747
local function read_sources(142,4351
local function merge_includes(155,4617
local function get_license(168,5032
local function fold_lines(172,5121
local function save_str(178,5209
local function save_strings(184,5308
local function restore_strings(189,5429
local function def_istrue(195,5563
local function preprocess(216,6010
local function merge_header(261,7254
local function strip_unused1(269,7540
local function strip_unused2(275,7706
local function strip_unused3(279,7794
local function strip_comments(307,9096
local function strip_whitespace(311,9172
local function rename_tokens1(319,9380
local function rename_tokens2(325,9551
local function func_gather(330,9681
local function func_visit(383,10956
local function func_collect(398,11250
vendor/github.com/LuaJIT/LuaJIT/src/jit/bc.lua,230
local function ctlsub(57,2056
local function bcline(66,2268
local function bctargets(116,3813
local function bcdump(127,4107
local function h_list(154,4829
local function bclistoff(159,4913
local function bcliston(169,5141
vendor/github.com/LuaJIT/LuaJIT/src/jit/bcsave.lua,810
local function usage(22,800
local function check(41,1458
local function readfile(48,1597
local function savefile(54,1757
local function checkarg(75,2315
local function detecttype(81,2462
local function checkmodname(86,2588
local function detectmodname(91,2728
local function bcsave_tail(107,3207
local function bcsave_raw(113,3388
local function bcsave_c(118,3495
local function bcsave_elfobj(150,4236
local function f32(210,5851
function f16(214,5969
function fofs(217,6092
local function bcsave_peobj(294,8500
local function f32(348,9724
function f16(352,9823
local function bcsave_machobj(401,11228
local function aligned(502,13753
local function bcsave_obj(564,15849
local function bclist(578,16287
local function bcsave(583,16414
local function docmd(603,16845
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_arm.lua,343
local function putop(423,11574
local function unknown(445,12171
local function fmtload(450,12301
local function fmtvload(488,13580
local function fmtvr(500,13921
local function disass_ins(509,14194
local function disass_block(652,18482
local function create(661,18762
local function disass(673,19043
local function regname(678,19155
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_arm64.lua,471
local function putop(747,17880
local function unknown(767,18385
local function match_reg(771,18472
local function fmt_hex32(775,18574
local function decode_imm13(785,18765
local function parse_immpc(822,19894
local function parse_fpimm8(836,20342
local function prefer_bfx(843,20573
local function disass_ins(859,20956
local function disass_block(1179,30034
local function create(1188,30314
local function disass(1200,30595
local function regname(1205,30707
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_mips.lua,375
local function putop(248,8400
local function unknown(266,8893
local function get_be(270,8980
local function get_le(276,9152
local function disass_ins(283,9361
local function disass_block(392,12605
local function create(402,12920
local function create_el(414,13146
local function disass(421,13337
local function disass_el(425,13416
local function regname(430,13534
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_ppc.lua,276
local function condfmt(387,14260
local function putop(398,14578
local function unknown(416,15071
local function disass_ins(421,15195
local function disass_block(553,19404
local function create(563,19719
local function disass(575,20000
local function regname(580,20112
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_x86.lua,560
local function putop(401,16950
local function clearprefixes(444,18547
local function incomplete(451,18829
local function unknown(458,18978
local function getimm(464,19111
local function putpat(482,19578
local function getmrm(678,25818
local function dispatch(691,26093
local function dispatchmap(718,27175
local function disass_block(865,31298
local function create(880,31732
local function create64(894,32014
local function disass(903,32252
local function disass64(907,32331
local function regname(912,32447
local function regname64(917,32546
vendor/github.com/LuaJIT/LuaJIT/src/jit/dump.lua,793
local function fillsymtab_tr(85,3509
local function fillsymtab(102,3956
local function dumpwrite(133,4718
local function dump_mcode(138,4795
local function colorize_text(216,6240
local function colorize_ansi(220,6288
local function colorize_html(230,6588
local function ctlsub(292,8524
local function fmtfunc(300,8707
local function formatk(313,8955
local function printsnap(353,10095
local function dump_snap(377,10768
local function ridsp_name(388,11082
local function dumpcallfunc(400,11537
local function dumpcallargs(418,11977
local function dump_ir(439,12468
local function fmterr(541,15388
local function dump_trace(550,15605
local function dump_record(585,16869
local function dump_texit(611,17602
local function dumpoff(643,18435
local function dumpon(655,18721
vendor/github.com/LuaJIT/LuaJIT/src/jit/p.lua,209
local function prof_cb(71,2572
local function prof_top(121,3987
local function prof_annotate(151,4783
local function prof_finish(225,6765
local function prof_start(245,7210
local function start(296,8774
vendor/github.com/LuaJIT/LuaJIT/src/jit/v.lua,163
local function fmtfunc(76,3213
local function fmterr(90,3492
local function dump_trace(99,3709
local function dumpoff(142,5130
local function dumpon(152,5361
vendor/github.com/majek/lua-channels/examples/sieve.lua,116
local function counter(3,38
local function filter(11,140
local function sieve(20,303
local function main(31,549
vendor/github.com/majek/lua-channels/examples/test1.lua,42
function counter(3,38
function a(11,144
vendor/github.com/majek/lua-channels/examples/test2.lua,36
function a(4,39
function b(12,245
vendor/github.com/majek/lua-channels/lua-channels.lua,872
local function random_choice(82,2788
local function scheduler(166,4636
local function task_ready(199,5515
local function spawn(203,5586
local function altcopy(230,6390
local function altalldequeue(266,7254
local function altcanexec(276,7499
local function chanalt(312,8551
local function f(424,11677
local function counter(454,12344
local function main(461,12487
local function main(478,12898
local function a(500,13477
local function a(532,14575
local function b(537,14672
local function fib(555,15113
local function main(562,15264
local function main(585,15829
local function counter(613,16754
local function filter(621,16898
local function sieve(630,17109
local function main(641,17415
local function counter(660,17898
local function main(668,18042
vendor/github.com/stepelu/lua-sci/alg.lua,1444
local function array_alloc(48,1867
local function array_map(55,2104
local function array_copy_data(62,2339
local function array_copy_data_offset(67,2496
local function array_clear(72,2677
local function mem_stack_data(83,2973
local function new_mem_stack_ct(88,3074
local function stack_array(116,3813
local function stack_clear(122,4057
local function same_type_check_2(193,6114
local function same_type_check_3(199,6249
local function dimensions_mat(206,6426
local function dimensions_mat_same_check(214,6566
local function dimensions_mat_square_check(221,6746
local function dimensions_mul_check_2(227,6863
local function dimensions_mul_check_3(236,7121
local function dimensions_pow_check_1(242,7305
local function dimensions_pow_check_2(248,7448
local function __mul(254,7610
local function mul(269,7963
local function pow_recursive(276,8128
local function pow_dispatch(296,8696
local function __pow(310,9022
local function pow(318,9226
local function sum(326,9405
local function prod(332,9495
local function trace(338,9586
local function rep(349,9840
local function join_1(448,12081
local function join_${N}(456,12243
local function join_n(474,12729
local function unsupported_element_ct(513,13676
local function new_array_ct(517,13806
local function alg_typeof(709,19499
local function vec(723,19985
local function mat(730,20126
local function tovec(740,20359
local function tomat(752,20579
vendor/github.com/stepelu/lua-sci/complex.lua,28
local function cabs(35,925
vendor/github.com/stepelu/lua-sci/diff.lua,232
local function dnlogbeta(113,4085
local function dnbeta(121,4372
local function dphi(126,4472
local function dnmax(131,4598
local function dnmin(141,4949
local function derivativef(270,9350
local function gradientf(294,10224
vendor/github.com/stepelu/lua-sci/dist/_gamma.lua,65
local function marstang(25,987
local function sampleab(36,1325
vendor/github.com/stepelu/lua-sci/dist/_uniform.lua,31
local function mvdist(58,1476
vendor/github.com/stepelu/lua-sci/fmax.lua,29
local function tofmax(7,273
vendor/github.com/stepelu/lua-sci/fmin/_de.lua,762
local function rand_1_bin(34,1444
local function rand_2_bin(42,1674
local function randtobest_2_bin(50,1977
local function currenttorand_1(59,2335
local function sample_strategy_indices(75,2790
local function sample_int(86,3118
local function sample_distinct_indices(92,3328
local function sample_F(109,3994
local function sample_K(115,4084
local function sample_CR(123,4285
local function sample_mutations(131,4489
local function nan_to_inf(148,4873
local function compare(153,5011
local function updatemin(164,5399
local function range(174,5719
local function stop_x_range_no_violation(186,5970
local function linear_lt(203,6375
local function hyper_cube_constrain(207,6438
local function rows_as_vec(217,6631
local function optim(228,6818
vendor/github.com/stepelu/lua-sci/fmin/_lbfgs.lua,361
local function lbfgs_param(24,547
local function vecadd(132,5736
local function vecdiff(136,5813
local function vecmul(140,5889
local function vecset(145,5999
local function veccpy(149,6061
local function vecdot(153,6126
local function vecscale(159,6222
local function backtracking(187,7413
local function stop(253,9156
local function lbfgs(265,9499
vendor/github.com/stepelu/lua-sci/fmin.lua,29
local function tofmin(7,273
vendor/github.com/stepelu/lua-sci/math.lua,243
local function round(27,1001
local function step(31,1087
local function sign(35,1186
local function phi(43,1498
local function logbeta(199,6352
local function beta(205,6515
local function recmax(210,6660
local function recmin(216,6836
vendor/github.com/stepelu/lua-sci/mcmc/_nuts.lua,400
local function evalfgrad(33,1319
local function stop_iter(51,1843
local function invert(59,1957
local function factor(69,2131
local function correlate(77,2303
local function sigestimate(85,2466
local function logpdf(93,2625
local function leapfrog(110,3106
local function heuristiceps(133,3924
local function evalsr(148,4476
local function buildtree(163,5269
local function nuts(201,6632
vendor/github.com/stepelu/lua-sci/prng/_marsaglia.lua,67
local function sarg(26,1012
local function sample_double(31,1138
vendor/github.com/stepelu/lua-sci/prng/_mrg.lua,122
local function ulmat(27,821
local function modmul(33,1068
local function vvmodmul(49,1380
local function sarg(71,2014
vendor/github.com/stepelu/lua-sci/prng.lua,106
local function restore_unsafe(18,550
local function restore(26,798
local function new_parallel(36,1002
vendor/github.com/stepelu/lua-sci/qrng/_sobol.lua,70
local function compute_dn(48,1801
local function fill_state(69,2455
vendor/github.com/stepelu/lua-sci/quad/_dblexp.lua,213
local function chgedfinite(28,1094
local function chgedopenpos(37,1391
local function chgedopenneg(45,1653
local function chgedopen(56,1984
local function chgedintegrand(62,2141
local function normf(78,2810
vendor/github.com/stepelu/lua-sci/root/_newtonm.lua,94
local function rebracket(10,407
local function newton(19,585
local function halley(51,1520
vendor/github.com/stepelu/lua-sci/root/_ridders.lua,28
local function root(11,380
vendor/github.com/stepelu/lua-sci/stat.lua,532
local function clear(25,938
local function mean(31,1008
local function var(42,1185
local function cov(55,1433
local function cor(74,1857
local function chk_dim(78,1930
local function chk_eq_square(86,2106
local function dim(96,2403
local function len(100,2454
local function tos_mean(104,2505
local function tos_var(156,3737
local function covtocor(225,5481
local function tos_cor(237,5724
local function olmean(319,7825
local function olvar(329,8018
local function olcov(339,8261
local function olsamples(345,8449
vendor/github.com/stepelu/lua-xsys/_dep/templet/init.lua,379
local function parse_expression(14,369
local function parse_statement(28,766
function render_to_function(46,1220
function render_to_function(52,1394
local function render_to_string(58,1548
local function loadtemplate(71,1897
function _M.loadstring(86,2307
function _M.loadstring(loadstring86,2307
function _M.loadfile(92,2457
function _M.loadfile(loadfile92,2457
vendor/github.com/stepelu/lua-xsys/init.lua,375
local function union(29,1234
local function append(43,1549
local function getton(67,2154
local function tonumberx(71,2210
local function split(83,2600
local function trim(104,3073
local function adjustexp(108,3145
local function width(116,3307
local function testexec(159,4594
local function exec(167,4767
local function from(180,5140
local function lsb(205,6239
vendor/github.com/stepelu/lua-xsys/__meta.lua,0
vendor/github.com/stepelu/lua-sci/root.lua,0
vendor/github.com/stepelu/lua-sci/quad.lua,0
vendor/github.com/stepelu/lua-sci/quad/_dblexp_precomputed.lua,0
vendor/github.com/stepelu/lua-sci/qrng.lua,0
vendor/github.com/stepelu/lua-sci/qrng/_new-joe-kuo-6-21201.lua,0
vendor/github.com/stepelu/lua-sci/mcmc.lua,0
vendor/github.com/stepelu/lua-sci/dist.lua,0
vendor/github.com/stepelu/lua-sci/dist/_student.lua,0
vendor/github.com/stepelu/lua-sci/dist/_normal.lua,0
vendor/github.com/stepelu/lua-sci/dist/_lognormal.lua,0
vendor/github.com/stepelu/lua-sci/dist/_exponential.lua,0
vendor/github.com/stepelu/lua-sci/dist/_beta.lua,0
vendor/github.com/stepelu/lua-sci/_cblas_h.lua,0
vendor/github.com/stepelu/lua-sci/__meta.lua,0
vendor/github.com/stepelu/lua-sci/__init.lua,0
vendor/github.com/LuaJIT/LuaJIT/src/jit/zone.lua,0
vendor/github.com/LuaJIT/LuaJIT/src/jit/vmdef.lua,0
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_x64.lua,0
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_mipsel.lua,0
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_mips64el.lua,0
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_mips64.lua,0
vendor/github.com/LuaJIT/LuaJIT/src/jit/dis_arm64be.lua,0
vendor/github.com/LuaJIT/LuaJIT/dynasm/dasm_x64.lua,0
vendor/github.com/LuaJIT/LuaJIT/dynasm/dasm_mips64.lua,0
pkg/compiler/prelude/tsys_test.lua,0
pkg/compiler/prelude/string.lua,0
pkg/compiler/prelude/reflect_goro.lua,0
pkg/compiler/prelude/absnow.lua,0
pkg/compiler/attic/native_array.lua,0
pkg/compiler/allport/port.lua,0
pkg/compiler/_templates/s.lua,0
pkg/compiler/_templates/rexp.lua,0
pkg/compiler/_templates/repcall.lua,0
pkg/compiler/_templates/r.lua,0
pkg/compiler/_bench/mul.lua,0
================================================
FILE: cmd/gen_static_prelude/prep.go
================================================
// prep the prelude for static inclusion with the
// `gi` binary.
package main
import (
"fmt"
"net/http"
"os"
"github.com/shurcooL/vfsgen"
)
func main() {
gopath := os.Getenv("GOPATH")
compiler := gopath + "/src/github.com/gijit/gi/pkg/compiler"
prelude := compiler + "/prelude"
gentarget := compiler + "/prelude_static.go"
var fs http.FileSystem = http.Dir(prelude)
err := vfsgen.Generate(fs, vfsgen.Options{
Filename: gentarget,
PackageName: "compiler",
//BuildTags: "!dev",
VariableName: "preludeFiles",
})
if err != nil {
panic(err)
}
fmt.Printf("gen_static_prelude '%s' ->\n '%s'\n", prelude, gentarget)
}
================================================
FILE: cmd/gijit_build/tool.go
================================================
package main
import (
"bytes"
"errors"
"fmt"
"github.com/gijit/gi/pkg/ast"
"github.com/gijit/gi/pkg/doc"
"github.com/gijit/gi/pkg/gostd/build"
"github.com/gijit/gi/pkg/gostd/parser"
"github.com/gijit/gi/pkg/scanner"
"github.com/gijit/gi/pkg/token"
"github.com/gijit/gi/pkg/types"
"io"
"io/ioutil"
"net"
"net/http"
"os"
"os/exec"
"path"
"path/filepath"
"runtime"
"sort"
//"strconv"
"strings"
"syscall"
"text/template"
"time"
"unicode"
"unicode/utf8"
"github.com/gijit/gi/pkg/compiler"
"github.com/kisielk/gotool"
"github.com/neelance/sourcemap"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"golang.org/x/crypto/ssh/terminal"
)
var currentDirectory string
func init() {
var err error
currentDirectory, err = os.Getwd()
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
currentDirectory, err = filepath.EvalSymlinks(currentDirectory)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
gopaths := filepath.SplitList(build.Default.GOPATH)
if len(gopaths) == 0 {
fmt.Fprintf(os.Stderr, "$GOPATH not set. For more details see: go help gopath\n")
os.Exit(1)
}
}
func main() {
var (
options = &compiler.Options{CreateMapFile: true}
pkgObj string
tags string
)
flagVerbose := pflag.NewFlagSet("", 0)
flagVerbose.BoolVarP(&options.Verbose, "verbose", "v", false, "print the names of packages as they are compiled")
flagQuiet := pflag.NewFlagSet("", 0)
flagQuiet.BoolVarP(&options.Quiet, "quiet", "q", false, "suppress non-fatal warnings")
compilerFlags := pflag.NewFlagSet("", 0)
compilerFlags.BoolVarP(&options.Minify, "minify", "m", false, "minify generated code")
compilerFlags.BoolVar(&options.Color, "color", terminal.IsTerminal(int(os.Stderr.Fd())) && os.Getenv("TERM") != "dumb", "colored output")
compilerFlags.StringVar(&tags, "tags", "", "a list of build tags to consider satisfied during the build")
compilerFlags.BoolVar(&options.MapToLocalDisk, "localmap", false, "use local paths for sourcemap")
flagWatch := pflag.NewFlagSet("", 0)
flagWatch.BoolVarP(&options.Watch, "watch", "w", false, "watch for changes to the source files")
cmdBuild := &cobra.Command{
Use: "build [packages]",
Short: "compile packages and dependencies",
}
cmdBuild.Flags().StringVarP(&pkgObj, "output", "o", "", "output file")
cmdBuild.Flags().AddFlagSet(flagVerbose)
cmdBuild.Flags().AddFlagSet(flagQuiet)
cmdBuild.Flags().AddFlagSet(compilerFlags)
cmdBuild.Flags().AddFlagSet(flagWatch)
// jea: TODO, figure out when isMain should be true, and
// when it should be false. Or eliminate the flag
// and automatically take care of it.
isMain := true
cmdBuild.Run = func(cmd *cobra.Command, args []string) {
options.BuildTags = strings.Fields(tags)
for {
s := compiler.NewSession(options)
err := func() error {
// Handle "gijit_build build [files]" ad-hoc package mode.
if len(args) > 0 && (strings.HasSuffix(args[0], ".go") || strings.HasSuffix(args[0], ".inc.gijit")) {
for _, arg := range args {
if !strings.HasSuffix(arg, ".go") && !strings.HasSuffix(arg, ".inc.gijit") {
return fmt.Errorf("named files must be .go or .inc.gijit files")
}
}
if pkgObj == "" {
basename := filepath.Base(args[0])
pkgObj = basename[:len(basename)-3] + ".gijit"
}
names := make([]string, len(args))
for i, name := range args {
name = filepath.ToSlash(name)
names[i] = name
if s.Watcher != nil {
s.Watcher.Add(name)
}
}
_, err := s.BuildFiles(args, pkgObj, currentDirectory)
return err
}
// Expand import path patterns.
patternContext := compiler.NewBuildContext("", options.BuildTags)
pkgs := (&gotool.Context{BuildContext: *patternContext}).ImportPaths(args)
for _, pkgPath := range pkgs {
if s.Watcher != nil {
pkg, err := compiler.NewBuildContext(s.InstallSuffix(), options.BuildTags).Import(pkgPath, "", build.FindOnly)
if err != nil {
return err
}
s.Watcher.Add(pkg.Dir)
}
pkg, err := compiler.Import(pkgPath, 0, s.InstallSuffix(), options.BuildTags)
if err != nil {
return err
}
archive, err := s.BuildPackage(pkg)
if err != nil {
return err
}
if len(pkgs) == 1 { // Only consider writing output if single package specified.
if pkgObj == "" {
pkgObj = filepath.Base(pkg.Dir) + ".gijit"
}
if pkg.IsCommand() && !pkg.UpToDate {
if _, err := s.WriteCommandPackage(archive, pkgObj, isMain); err != nil {
return err
}
}
}
}
return nil
}()
exitCode := handleError(err, options, nil)
if s.Watcher == nil {
os.Exit(exitCode)
}
s.WaitForChange()
}
}
cmdInstall := &cobra.Command{
Use: "install [packages]",
Short: "compile and install packages and dependencies",
}
cmdInstall.Flags().AddFlagSet(flagVerbose)
cmdInstall.Flags().AddFlagSet(flagQuiet)
cmdInstall.Flags().AddFlagSet(compilerFlags)
cmdInstall.Flags().AddFlagSet(flagWatch)
cmdInstall.Run = func(cmd *cobra.Command, args []string) {
options.BuildTags = strings.Fields(tags)
for {
s := compiler.NewSession(options)
err := func() error {
// Expand import path patterns.
patternContext := compiler.NewBuildContext("", options.BuildTags)
pkgs := (&gotool.Context{BuildContext: *patternContext}).ImportPaths(args)
if cmd.Name() == "get" {
goGet := exec.Command("go", append([]string{"get", "-d", "-tags=gijit"}, pkgs...)...)
goGet.Stdout = os.Stdout
goGet.Stderr = os.Stderr
if err := goGet.Run(); err != nil {
return err
}
}
for _, pkgPath := range pkgs {
pkg, err := compiler.Import(pkgPath, 0, s.InstallSuffix(), options.BuildTags)
if s.Watcher != nil && pkg != nil { // add watch even on error
s.Watcher.Add(pkg.Dir)
}
if err != nil {
return err
}
archive, err := s.BuildPackage(pkg)
if err != nil {
return err
}
if pkg.IsCommand() && !pkg.UpToDate {
if _, err := s.WriteCommandPackage(archive, pkg.PkgObj, isMain); err != nil {
return err
}
}
}
return nil
}()
exitCode := handleError(err, options, nil)
if s.Watcher == nil {
os.Exit(exitCode)
}
s.WaitForChange()
}
}
cmdDoc := &cobra.Command{
Use: "doc [arguments]",
Short: "display documentation for the requested, package, method or symbol",
}
cmdDoc.Run = func(cmd *cobra.Command, args []string) {
goDoc := exec.Command("go", append([]string{"doc"}, args...)...)
goDoc.Stdout = os.Stdout
goDoc.Stderr = os.Stderr
goDoc.Env = append(os.Environ(), "GOARCH=js")
err := goDoc.Run()
exitCode := handleError(err, options, nil)
os.Exit(exitCode)
}
cmdGet := &cobra.Command{
Use: "get [packages]",
Short: "download and install packages and dependencies",
}
cmdGet.Flags().AddFlagSet(flagVerbose)
cmdGet.Flags().AddFlagSet(flagQuiet)
cmdGet.Flags().AddFlagSet(compilerFlags)
cmdGet.Run = cmdInstall.Run
cmdRun := &cobra.Command{
Use: "run [gofiles...] [arguments...]",
Short: "compile and run Go program",
}
cmdRun.Flags().AddFlagSet(flagVerbose)
cmdRun.Flags().AddFlagSet(flagQuiet)
cmdRun.Flags().AddFlagSet(compilerFlags)
cmdRun.Run = func(cmd *cobra.Command, args []string) {
err := func() error {
lastSourceArg := 0
for {
if lastSourceArg == len(args) || !(strings.HasSuffix(args[lastSourceArg], ".go") || strings.HasSuffix(args[lastSourceArg], ".inc.gijit")) {
break
}
lastSourceArg++
}
if lastSourceArg == 0 {
return fmt.Errorf("gijit_build run: no go files listed")
}
tempfile, err := ioutil.TempFile(currentDirectory, filepath.Base(args[0])+".")
if err != nil && strings.HasPrefix(currentDirectory, runtime.GOROOT()) {
tempfile, err = ioutil.TempFile("", filepath.Base(args[0])+".")
}
if err != nil {
return err
}
defer func() {
tempfile.Close()
os.Remove(tempfile.Name())
os.Remove(tempfile.Name() + ".map")
}()
s := compiler.NewSession(options)
if _, err := s.BuildFiles(args[:lastSourceArg], tempfile.Name(), currentDirectory); err != nil {
return err
}
if err := runNode(tempfile.Name(), args[lastSourceArg:], "", options.Quiet); err != nil {
return err
}
return nil
}()
exitCode := handleError(err, options, nil)
os.Exit(exitCode)
}
cmdTest := &cobra.Command{
Use: "test [packages]",
Short: "test packages",
}
bench := cmdTest.Flags().String("bench", "", "Run benchmarks matching the regular expression. By default, no benchmarks run. To run all benchmarks, use '--bench=.'.")
benchtime := cmdTest.Flags().String("benchtime", "", "Run enough iterations of each benchmark to take t, specified as a time.Duration (for example, -benchtime 1h30s). The default is 1 second (1s).")
count := cmdTest.Flags().String("count", "", "Run each test and benchmark n times (default 1). Examples are always run once.")
run := cmdTest.Flags().String("run", "", "Run only those tests and examples matching the regular expression.")
short := cmdTest.Flags().Bool("short", false, "Tell long-running tests to shorten their run time.")
verbose := cmdTest.Flags().BoolP("verbose", "v", false, "Log all tests as they are run. Also print all text from Log and Logf calls even if the test succeeds.")
compileOnly := cmdTest.Flags().BoolP("compileonly", "c", false, "Compile the test binary to pkg.test.gijit but do not run it (where pkg is the last element of the package's import path). The file name can be changed with the -o flag.")
outputFilename := cmdTest.Flags().StringP("output", "o", "", "Compile the test binary to the named file. The test still runs (unless -c is specified).")
cmdTest.Flags().AddFlagSet(compilerFlags)
cmdTest.Run = func(cmd *cobra.Command, args []string) {
options.BuildTags = strings.Fields(tags)
err := func() error {
// Expand import path patterns.
patternContext := compiler.NewBuildContext("", options.BuildTags)
args = (&gotool.Context{BuildContext: *patternContext}).ImportPaths(args)
pkgs := make([]*compiler.PackageData, len(args))
for i, pkgPath := range args {
var err error
pkgs[i], err = compiler.Import(pkgPath, 0, "", options.BuildTags)
if err != nil {
return err
}
}
var exitErr error
for _, pkg := range pkgs {
if len(pkg.TestGoFiles) == 0 && len(pkg.XTestGoFiles) == 0 {
fmt.Printf("? \t%s\t[no test files]\n", pkg.ImportPath)
continue
}
s := compiler.NewSession(options)
tests := &testFuncs{Package: pkg.Package}
collectTests := func(testPkg *compiler.PackageData, testPkgName string, needVar *bool) error {
if testPkgName == "_test" {
for _, file := range pkg.TestGoFiles {
if err := tests.load(filepath.Join(pkg.Package.Dir, file), testPkgName, &tests.ImportTest, &tests.NeedTest); err != nil {
return err
}
}
} else {
for _, file := range pkg.XTestGoFiles {
if err := tests.load(filepath.Join(pkg.Package.Dir, file), "_xtest", &tests.ImportXtest, &tests.NeedXtest); err != nil {
return err
}
}
}
_, err := s.BuildPackage(testPkg)
return err
}
if err := collectTests(&compiler.PackageData{
Package: &build.Package{
ImportPath: pkg.ImportPath,
Dir: pkg.Dir,
GoFiles: append(pkg.GoFiles, pkg.TestGoFiles...),
Imports: append(pkg.Imports, pkg.TestImports...),
},
IsTest: true,
JSFiles: pkg.JSFiles,
}, "_test", &tests.NeedTest); err != nil {
return err
}
if err := collectTests(&compiler.PackageData{
Package: &build.Package{
ImportPath: pkg.ImportPath + "_test",
Dir: pkg.Dir,
GoFiles: pkg.XTestGoFiles,
Imports: pkg.XTestImports,
},
IsTest: true,
}, "_xtest", &tests.NeedXtest); err != nil {
return err
}
buf := new(bytes.Buffer)
if err := testmainTmpl.Execute(buf, tests); err != nil {
return err
}
fset := token.NewFileSet()
mainFile, err := parser.ParseFile(fset, "_testmain.go", buf, 0)
if err != nil {
return err
}
importContext := &compiler.ImportContext{
Packages: s.Types,
Import: func(path string) (*compiler.Archive, error) {
if path == pkg.ImportPath || path == pkg.ImportPath+"_test" {
return s.Archives[path], nil
}
return s.BuildImportPath(path)
},
}
mainPkgArchive, err := compiler.FullPackageCompile("main", []*ast.File{mainFile}, fset, importContext, options.Minify)
if err != nil {
return err
}
if *compileOnly && *outputFilename == "" {
*outputFilename = pkg.Package.Name + "_test.gijit"
}
var outfile *os.File
if *outputFilename != "" {
outfile, err = os.Create(*outputFilename)
if err != nil {
return err
}
} else {
outfile, err = ioutil.TempFile(currentDirectory, "test.")
if err != nil {
return err
}
}
defer func() {
outfile.Close()
if *outputFilename == "" {
os.Remove(outfile.Name())
os.Remove(outfile.Name() + ".map")
}
}()
if _, err := s.WriteCommandPackage(mainPkgArchive, outfile.Name(), isMain); err != nil {
return err
}
if *compileOnly {
continue
}
var args []string
if *bench != "" {
args = append(args, "-test.bench", *bench)
}
if *benchtime != "" {
args = append(args, "-test.benchtime", *benchtime)
}
if *count != "" {
args = append(args, "-test.count", *count)
}
if *run != "" {
args = append(args, "-test.run", *run)
}
if *short {
args = append(args, "-test.short")
}
if *verbose {
args = append(args, "-test.v")
}
status := "ok "
start := time.Now()
if err := runNode(outfile.Name(), args, pkg.Dir, options.Quiet); err != nil {
if _, ok := err.(*exec.ExitError); !ok {
return err
}
exitErr = err
status = "FAIL"
}
fmt.Printf("%s\t%s\t%.3fs\n", status, pkg.ImportPath, time.Since(start).Seconds())
}
return exitErr
}()
exitCode := handleError(err, options, nil)
os.Exit(exitCode)
}
cmdServe := &cobra.Command{
Use: "serve [root]",
Short: "compile on-the-fly and serve",
}
cmdServe.Flags().AddFlagSet(flagVerbose)
cmdServe.Flags().AddFlagSet(flagQuiet)
cmdServe.Flags().AddFlagSet(compilerFlags)
var addr string
cmdServe.Flags().StringVarP(&addr, "http", "", ":8080", "HTTP bind address to serve")
cmdServe.Run = func(cmd *cobra.Command, args []string) {
options.BuildTags = strings.Fields(tags)
dirs := append(filepath.SplitList(build.Default.GOPATH), build.Default.GOROOT)
var root string
if len(args) > 1 {
cmdServe.HelpFunc()(cmd, args)
os.Exit(1)
}
if len(args) == 1 {
root = args[0]
}
sourceFiles := http.FileServer(serveCommandFileSystem{
serveRoot: root,
options: options,
dirs: dirs,
sourceMaps: make(map[string][]byte),
isMain: isMain,
})
ln, err := net.Listen("tcp", addr)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
if tcpAddr := ln.Addr().(*net.TCPAddr); tcpAddr.IP.Equal(net.IPv4zero) || tcpAddr.IP.Equal(net.IPv6zero) { // Any available addresses.
fmt.Printf("serving at http://localhost:%d and on port %d of any available addresses\n", tcpAddr.Port, tcpAddr.Port)
} else { // Specific address.
fmt.Printf("serving at http://%s\n", tcpAddr)
}
fmt.Fprintln(os.Stderr, http.Serve(tcpKeepAliveListener{ln.(*net.TCPListener)}, sourceFiles))
}
cmdVersion := &cobra.Command{
Use: "version",
Short: "print Gijit compiler version",
}
cmdVersion.Run = func(cmd *cobra.Command, args []string) {
if len(args) > 0 {
cmdServe.HelpFunc()(cmd, args)
os.Exit(1)
}
fmt.Printf("Gijit %s\n", compiler.Version)
}
rootCmd := &cobra.Command{
Use: "gijit_build",
Long: "Gijit_build is a tool for compiling Go source code to JavaScript.",
}
rootCmd.AddCommand(cmdBuild, cmdGet, cmdInstall, cmdRun, cmdTest, cmdServe, cmdVersion, cmdDoc)
err := rootCmd.Execute()
if err != nil {
os.Exit(2)
}
}
// tcpKeepAliveListener sets TCP keep-alive timeouts on accepted
// connections. It's used by ListenAndServe and ListenAndServeTLS so
// dead TCP connections (e.g. closing laptop mid-download) eventually
// go away.
type tcpKeepAliveListener struct {
*net.TCPListener
}
func (ln tcpKeepAliveListener) Accept() (c net.Conn, err error) {
tc, err := ln.AcceptTCP()
if err != nil {
return
}
tc.SetKeepAlive(true)
tc.SetKeepAlivePeriod(3 * time.Minute)
return tc, nil
}
type serveCommandFileSystem struct {
serveRoot string
options *compiler.Options
dirs []string
sourceMaps map[string][]byte
isMain bool
}
func (fs serveCommandFileSystem) Open(requestName string) (http.File, error) {
name := path.Join(fs.serveRoot, requestName[1:]) // requestName[0] == '/'
dir, file := path.Split(name)
base := path.Base(dir) // base is parent folder name, which becomes the output file name.
isPkg := file == base+".gijit"
isMap := file == base+".gijit.map"
isIndex := file == "index.html"
if isPkg || isMap || isIndex {
// If we're going to be serving our special files, make sure there's a Go command in this folder.
s := compiler.NewSession(fs.options)
pkg, err := compiler.Import(path.Dir(name), 0, s.InstallSuffix(), fs.options.BuildTags)
if err != nil || pkg.Name != "main" {
isPkg = false
isMap = false
isIndex = false
}
switch {
case isPkg:
buf := new(bytes.Buffer)
browserErrors := new(bytes.Buffer)
err := func() error {
archive, err := s.BuildPackage(pkg)
if err != nil {
return err
}
sourceMapFilter := &compiler.SourceMapFilter{Writer: buf}
m := &sourcemap.Map{File: base + ".gijit"}
sourceMapFilter.MappingCallback = compiler.NewMappingCallback(m, fs.options.GOROOT, fs.options.GOPATH, fs.options.MapToLocalDisk)
deps, err := compiler.ImportDependencies(archive, s.BuildImportPath)
if err != nil {
return err
}
if err := compiler.WriteProgramCode(deps, sourceMapFilter, fs.isMain); err != nil {
return err
}
mapBuf := new(bytes.Buffer)
m.WriteTo(mapBuf)
buf.WriteString("//# sourceMappingURL=" + base + ".gijit.map\n")
fs.sourceMaps[name+".map"] = mapBuf.Bytes()
return nil
}()
handleError(err, fs.options, browserErrors)
if err != nil {
buf = browserErrors
}
return newFakeFile(base+".gijit", buf.Bytes()), nil
case isMap:
if content, ok := fs.sourceMaps[name]; ok {
return newFakeFile(base+".gijit.map", content), nil
}
}
}
for _, d := range fs.dirs {
dir := http.Dir(filepath.Join(d, "src"))
f, err := dir.Open(name)
if err == nil {
return f, nil
}
// source maps are served outside of serveRoot
f, err = dir.Open(requestName)
if err == nil {
return f, nil
}
}
if isIndex {
// If there was no index.html file in any dirs, supply our own.
return newFakeFile("index.html", []byte(`<html><head><meta charset="utf-8"><script src="`+base+`.gijit"></script></head><body></body></html>`)), nil
}
return nil, os.ErrNotExist
}
type fakeFile struct {
name string
size int
io.ReadSeeker
}
func newFakeFile(name string, content []byte) *fakeFile {
return &fakeFile{name: name, size: len(content), ReadSeeker: bytes.NewReader(content)}
}
func (f *fakeFile) Close() error {
return nil
}
func (f *fakeFile) Readdir(count int) ([]os.FileInfo, error) {
return nil, os.ErrInvalid
}
func (f *fakeFile) Stat() (os.FileInfo, error) {
return f, nil
}
func (f *fakeFile) Name() string {
return f.name
}
func (f *fakeFile) Size() int64 {
return int64(f.size)
}
func (f *fakeFile) Mode() os.FileMode {
return 0
}
func (f *fakeFile) ModTime() time.Time {
return time.Time{}
}
func (f *fakeFile) IsDir() bool {
return false
}
func (f *fakeFile) Sys() interface{} {
return nil
}
// handleError handles err and returns an appropriate exit code.
// If browserErrors is non-nil, errors are written for presentation in browser.
func handleError(err error, options *compiler.Options, browserErrors *bytes.Buffer) int {
switch err := err.(type) {
case nil:
return 0
case compiler.ErrorList:
for _, entry := range err {
printError(entry, options, browserErrors)
}
return 1
case *exec.ExitError:
return err.Sys().(syscall.WaitStatus).ExitStatus()
default:
printError(err, options, browserErrors)
return 1
}
}
// printError prints err to Stderr with options. If browserErrors is non-nil, errors are also written for presentation in browser.
func printError(err error, options *compiler.Options, browserErrors *bytes.Buffer) {
e := sprintError(err)
options.PrintError("%s\n", e)
if browserErrors != nil {
fmt.Fprintln(browserErrors, `console.error("`+template.JSEscapeString(e)+`");`)
}
}
// sprintError returns an annotated error string without trailing newline.
func sprintError(err error) string {
makeRel := func(name string) string {
if relname, err := filepath.Rel(currentDirectory, name); err == nil {
return relname
}
return name
}
switch e := err.(type) {
case *scanner.Error:
return fmt.Sprintf("%s:%d:%d: %s", makeRel(e.Pos.Filename), e.Pos.Line, e.Pos.Column, e.Msg)
case types.Error:
pos := e.Fset.Position(e.Pos)
return fmt.Sprintf("%s:%d:%d: %s", makeRel(pos.Filename), pos.Line, pos.Column, e.Msg)
default:
return fmt.Sprintf("%s", e)
}
}
func runNode(script string, args []string, dir string, quiet bool) error {
var allArgs []string
/*
if b, _ := strconv.ParseBool(os.Getenv("SOURCE_MAP_SUPPORT")); os.Getenv("SOURCE_MAP_SUPPORT") == "" || b {
allArgs = []string{"--require", "source-map-support/register"}
if err := exec.Command("gi", "--require", "source-map-support/register", "--eval", "").Run(); err != nil {
if !quiet {
fmt.Fprintln(os.Stderr, "gijit_build: Source maps disabled. Install source-map-support module for nice stack traces. See https://github.com/gopherjs/gopherjs#gopherjs-run-gopherjs-test.")
}
allArgs = []string{}
}
}
*/
// jea: this is a node.js issue.
/*
if runtime.GOOS != "windows" {
// We've seen issues with stack space limits causing
// recursion-heavy standard library tests to fail (e.g., see
// https://github.com/gopherjs/gopherjs/pull/669#issuecomment-319319483).
//
// There are two separate limits in non-Windows environments:
//
// - OS process limit
// - Node.js (V8) limit
//
// GopherJS fetches the current OS process limit, and sets the
// Node.js limit to the same value. So both limits are kept in sync
// and can be controlled by setting OS process limit. E.g.:
//
// ulimit -s 10000 && gopherjs test
//
cur, err := sysutil.RlimitStack()
if err != nil {
return fmt.Errorf("failed to get stack size limit: %v", err)
}
allArgs = append(allArgs, fmt.Sprintf("--stack_size=%v", cur/1000)) // Convert from bytes to KB.
}
*/
allArgs = append(allArgs, script)
allArgs = append(allArgs, args...)
node := exec.Command("gi", allArgs...)
node.Dir = dir
node.Stdin = os.Stdin
node.Stdout = os.Stdout
node.Stderr = os.Stderr
err := node.Run()
if _, ok := err.(*exec.ExitError); err != nil && !ok {
err = fmt.Errorf("could not run gi: %s", err.Error())
}
return err
}
type testFuncs struct {
Tests []testFunc
Benchmarks []testFunc
Examples []testFunc
TestMain *testFunc
Package *build.Package
ImportTest bool
NeedTest bool
ImportXtest bool
NeedXtest bool
}
type testFunc struct {
Package string // imported package name (_test or _xtest)
Name string // function name
Output string // output, for examples
Unordered bool // output is allowed to be unordered.
}
var testFileSet = token.NewFileSet()
func (t *testFuncs) load(filename, pkg string, doImport, seen *bool) error {
f, err := parser.ParseFile(testFileSet, filename, nil, parser.ParseComments)
if err != nil {
return err
}
for _, d := range f.Nodes {
n, ok := d.(*ast.FuncDecl)
if !ok {
continue
}
if n.Recv != nil {
continue
}
name := n.Name.String()
switch {
case isTestMain(n):
if t.TestMain != nil {
return errors.New("multiple definitions of TestMain")
}
t.TestMain = &testFunc{pkg, name, "", false}
*doImport, *seen = true, true
case isTest(name, "Test"):
t.Tests = append(t.Tests, testFunc{pkg, name, "", false})
*doImport, *seen = true, true
case isTest(name, "Benchmark"):
t.Benchmarks = append(t.Benchmarks, testFunc{pkg, name, "", false})
*doImport, *seen = true, true
}
}
ex := doc.Examples(f)
sort.Sort(byOrder(ex))
for _, e := range ex {
*doImport = true // import test file whether executed or not
if e.Output == "" && !e.EmptyOutput {
// Don't run examples with no output.
continue
}
t.Examples = append(t.Examples, testFunc{pkg, "Example" + e.Name, e.Output, e.Unordered})
*seen = true
}
return nil
}
type byOrder []*doc.Example
func (x byOrder) Len() int { return len(x) }
func (x byOrder) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
func (x byOrder) Less(i, j int) bool { return x[i].Order < x[j].Order }
// isTestMain tells whether fn is a TestMain(m *testing.M) function.
func isTestMain(fn *ast.FuncDecl) bool {
if fn.Name.String() != "TestMain" ||
fn.Type.Results != nil && len(fn.Type.Results.List) > 0 ||
fn.Type.Params == nil ||
len(fn.Type.Params.List) != 1 ||
len(fn.Type.Params.List[0].Names) > 1 {
return false
}
ptr, ok := fn.Type.Params.List[0].Type.(*ast.StarExpr)
if !ok {
return false
}
// We can't easily check that the type is *testing.M
// because we don't know how testing has been imported,
// but at least check that it's *M or *something.M.
if name, ok := ptr.X.(*ast.Ident); ok && name.Name == "M" {
return true
}
if sel, ok := ptr.X.(*ast.SelectorExpr); ok && sel.Sel.Name == "M" {
return true
}
return false
}
// isTest tells whether name looks like a test (or benchmark, according to prefix).
// It is a Test (say) if there is a character after Test that is not a lower-case letter.
// We don't want TesticularCancer.
func isTest(name, prefix string) bool {
if !strings.HasPrefix(name, prefix) {
return false
}
if len(name) == len(prefix) { // "Test" is ok
return true
}
rune, _ := utf8.DecodeRuneInString(name[len(prefix):])
return !unicode.IsLower(rune)
}
var testmainTmpl = template.Must(template.New("main").Parse(`
package main
import (
{{if not .TestMain}}
"os"
{{end}}
"testing"
"testing/internal/testdeps"
{{if .ImportTest}}
{{if .NeedTest}}_test{{else}}_{{end}} {{.Package.ImportPath | printf "%q"}}
{{end}}
{{if .ImportXtest}}
{{if .NeedXtest}}_xtest{{else}}_{{end}} {{.Package.ImportPath | printf "%s_test" | printf "%q"}}
{{end}}
)
var tests = []testing.InternalTest{
{{range .Tests}}
{"{{.Name}}", {{.Package}}.{{.Name}}},
{{end}}
}
var benchmarks = []testing.InternalBenchmark{
{{range .Benchmarks}}
{"{{.Name}}", {{.Package}}.{{.Name}}},
{{end}}
}
var examples = []testing.InternalExample{
{{range .Examples}}
{"{{.Name}}", {{.Package}}.{{.Name}}, {{.Output | printf "%q"}}, {{.Unordered}}},
{{end}}
}
func main() {
m := testing.MainStart(testdeps.TestDeps{}, tests, benchmarks, examples)
{{with .TestMain}}
{{.Package}}.{{.Name}}(m)
{{else}}
os.Exit(m.Run())
{{end}}
}
`))
================================================
FILE: emacs/gijit.el
================================================
;;; gijit-3.92
;;;
;;; (Setq *gijit-version-string* "3.92") ; update this below when changing.
;;;
;;; gijit.el - is a pair of modes for sending lines from a
;;; script (sender) to a comint-started inferior
;;; (receiver) process. We use Ctrl-n by default as
;;; the "send this line and step" key. This enables
;;; one to step through scripts easily when working
;;; with an interpreter, such as gi for Go, Pure, R, Haskell,
;;; shell, Python, and so forth. Functions for
;;; stepping through s-expressions for Lisp and
;;; Scheme work are also available. This file is
;;; by default setup for gi, a go interpreter.
;;;
;;; License: This minimal pair of (major and inferior) modes
;;; was derived from the Emacs Octave Support modes in
;;; octave-mod.el and octave-inf.el, with a little help
;;; (and alot of inspiration) from the ess-mode.el for
;;; R. As such it falls under the GNU General Public
;;; License version 3 or later.
;;;
;;; Copyright (C) 2018, Author: Jason E. Aten, Ph.D.
;;;
;;; how to install:
;;;
;;; (1) If you are changing which interpreter you want to use, examine
;;; and adjust the "commonly-adjusted parameters" section just below.
;;;
;;; (2) Copy gijit.el into your ~/.emacs.d/ directory.
;;;
;;; (3) Then put this in your .emacs:
;;;
;;; (load "/home/yourHomeDirectory/.emacs.d/gijit.el") ; adjust path to fit your home directory.
;;; (require 'gijit-mode)
;;; (global-set-key "\C-n" 'gijit-send-line)
;;;
;;; (4) Optionally for speed, M-x byte-compile-file <enter>
;;; ~/.emacs.d/gijit.el <enter>
;;;
;;; (5) To use, do 'M-x run-gijit' to start the interpreter. Open
;;; your script and in the script buffer do 'M-x gijit-mode'.
;;;
;;; Or, open a file with an automatically recognized extension
;;; (as specified below) and press 'C-n' on the first line
;;; you want executed in the interpreter.
;; To over-ride parameters, skip down to the "commonly-adjusted
;; parameters" section below these declarations.
;;
;; Here we just document the typically overriden parameters of interest.
;; NB: these just give defaults, which the setq settings below will override.
;; Putting them here keeps the byte-compiler from complaining.
(defvar *inferior-gijit-program* "gi"
"Program invoked by `inferior-gijit'.")
(defvar *inferior-gijit-buffer* "*gijit*"
"*Name of buffer for running an inferior Gijit process.")
(defvar *inferior-gijit-regex-prompt* "[^\(gi>\)\|\(\.\.\.\)]*[gi> ]"
"Regexp to match prompts for the inferior Gijit process.")
(setq *inferior-gijit-regex-prompt* "[^\(gi>\)\|\(\.\.\.\)]*[gi> ]")
(defvar *gijit-keypress-to-sendline* (kbd "C-n")
"keypress that, when in a pure mode script, sends a line to the interpreter
and then steps to the next line.")
(defvar *gijit-keypress-to-send-sexp-jdev* (kbd "C-9")
"keypress that sends the next sexp to the repl, and advances past it.")
(defvar *gijit-keypress-to-send-sexp-jdev-prev* (kbd "C-p")
"keypress that sends the previous sexp to the repl")
(defvar *gijit-version-string* "3.92"
"version of gijit currently running.")
(defvar *gijit-gdb-terp-buffer* "*vlush2-gdb*"
"name of the *gdb-terp* buffer when running gdbterp under gijit.")
;; ================================================
;; ================================================
;; begin commonly-adjusted parameters
;; the name of the interpreter to run
(setq *inferior-gijit-program* "gi")
;; the name of the buffer to run the interpreter in
(setq *inferior-gijit-buffer* "*gijit*")
;; name of the gdb buffer
(setq *gijit-gdb-terp-buffer* "*gdb-terp*")
;; the comment character
(setq *inferior-gijit-comment-char* ";")
(setq comment-start *inferior-gijit-comment-char*)
(setq comment-end nil)
(setq comment-column 4)
;; file extensions that indicate we should automatically enter gijit mode...
(setq auto-mode-alist (cons '("\\.go$" . gijit-mode) auto-mode-alist))
;; regexp to know when interpreter output is done and we are at a prompt.
;;(setq *inferior-gijit-regex-prompt* "[^\]]*: ")
;; keypress that, when in a pure mode script, sends a line to the interpreter
;; and then steps to the next line.
(setq *gijit-keypress-to-sendline* (kbd "C-n"))
;; keypress that, when in a pure mode script, sends an sexp to the JDEV repl
;; and then steps to the next line.
(setq *gijit-keypress-to-send-sexp-jdev* (kbd "C-9"))
(setq *gijit-keypress-to-send-sexp-jdev-prev* (kbd "C-p"))
;; end commonly-adjusted parameters
;; ================================================
;; ================================================
(defvar inferior-gijit-output-list nil)
(defvar inferior-gijit-output-string nil)
(defvar inferior-gijit-receive-in-progress nil)
(defvar inferior-gijit-process nil)
(defvar gijit-mode-hook nil
"*Hook to be run when Gijit mode is started.")
(defvar gijit-send-show-buffer t
"*Non-nil means display `*inferior-gijit-buffer*' after sending to it.")
(setq gijit-send-show-buffer t)
(defvar gijit-send-line-auto-forward nil
"*Control auto-forward after sending to the inferior Gijit process.
Non-nil means always go to the next Gijit code line after sending.")
(setq gijit-send-line-auto-forward nil)
(defvar gijit-send-echo-input t
"*Non-nil means echo input sent to the inferior Gijit process.")
(setq gijit-send-echo-input t)
;; try to hide the ctrl-M carriage returns that ipython generates.
(defun remove-dos-eol ()
"Do not show ^M in files containing mixed UNIX and DOS line endings."
(interactive)
(with-current-buffer *inferior-gijit-buffer*
(setq buffer-display-table (make-display-table))
(aset buffer-display-table ?\^M [])))
;;; Motion
(defun gijit-next-code-line (&optional arg)
"Move ARG lines of Gijit code forward (backward if ARG is negative).
Skips past all empty and comment lines. Default for ARG is 1.
On success, return 0. Otherwise, go as far as possible and return -1."
(interactive "p")
(or arg (setq arg 1))
(beginning-of-line)
(let ((n 0)
(inc (if (> arg 0) 1 -1)))
(while (and (/= arg 0) (= n 0))
(setq n (forward-line inc))
(while (and (= n 0)
(looking-at "\\s-*\\($\\|\\s<\\)"))
(setq n (forward-line inc)))
(setq arg (- arg inc)))
n))
(defun gijit-previous-code-line (&optional arg)
"Move ARG lines of Gijit code backward (forward if ARG is negative).
Skips past all empty and comment lines. Default for ARG is 1.
On success, return 0. Otherwise, go as far as possible and return -1."
(interactive "p")
(or arg (setq arg 1))
(gijit-next-code-line (- arg)))
;;; Communication with the inferior Gijit process
(defun gijit-kill-process ()
"Kill inferior Gijit process and its buffer."
(interactive)
(if inferior-gijit-process
(progn
(process-send-string inferior-gijit-process "quit;\n")
(accept-process-output inferior-gijit-process)))
(if *inferior-gijit-buffer*
(kill-buffer *inferior-gijit-buffer*)))
(defun gijit-show-process-buffer ()
"Make sure that `*inferior-gijit-buffer*' is displayed."
(interactive)
(if (get-buffer *inferior-gijit-buffer*)
(display-buffer *inferior-gijit-buffer*)
;(display-buffer *gijit-gdb-terp-buffer*)
(message "No buffer named %s" *inferior-gijit-buffer*)))
(defun gijit-hide-process-buffer ()
"Delete all windows that display `*inferior-gijit-buffer*'."
(interactive)
(if (get-buffer *inferior-gijit-buffer*)
(delete-windows-on *inferior-gijit-buffer*)
(message "No buffer named %s" *inferior-gijit-buffer*)))
(defun gijit-send-region (beg end)
"Send current region to the inferior Gijit process."
(interactive "r")
(inferior-gijit t)
(let ((proc inferior-gijit-process)
(string (buffer-substring-no-properties beg end))
line)
(if (string-equal string "")
(setq string "\n"))
(with-current-buffer *inferior-gijit-buffer*
(setq inferior-gijit-output-list nil)
(while (not (string-equal string ""))
(if (string-match "\n" string)
(setq line (substring string 0 (match-beginning 0))
string (substring string (match-end 0)))
(setq line string string ""))
(setq inferior-gijit-receive-in-progress t)
(inferior-gijit-send-list-and-digest (list (concat line "\n")))
;; (inferior-gijit-send-list-and-digest (list (concat "%cpaste\n" line "\n--\n")))
(while inferior-gijit-receive-in-progress
(accept-process-output proc))
(insert-before-markers
(mapconcat 'identity
(append
(if gijit-send-echo-input (list line) (list ""))
(mapcar 'inferior-gijit-strip-ctrl-g
inferior-gijit-output-list)
(list inferior-gijit-output-string))
"\n")))))
(if gijit-send-show-buffer
(gijit-eob)))
;; test out moving the inf buffer to end...
(defun gijit-eob ()
(interactive)
(let* ((mywin (display-buffer *inferior-gijit-buffer*))
(bl (with-current-buffer *inferior-gijit-buffer*
(line-number-at-pos (point-min))))
(cl (with-current-buffer *inferior-gijit-buffer*
(line-number-at-pos (window-point mywin))))
(el (with-current-buffer *inferior-gijit-buffer*
(goto-char (point-max))
(line-number-at-pos))))
;;;(message "bl is %d, el is %d, cl is %d, el-cl is %d" bl el cl (- el cl))
(setq other-window-scroll-buffer (get-buffer *inferior-gijit-buffer*))
(scroll-other-window (- el cl))
(with-current-buffer *inferior-gijit-buffer*
(goto-char (point-max))
(set-window-point mywin (point-max)))
(display-buffer *inferior-gijit-buffer*)
))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; the entire point of gijit-mode : to enable the use
;; of gijit-send-line with a single keypress.
;;
(defun gijit-send-line (&optional arg)
"Send current Gijit code line to the inferior Gijit process.
With positive prefix ARG, send that many lines.
If `gijit-send-line-auto-forward' is non-nil, go to the next unsent
code line."
(interactive "P")
(or arg (setq arg 1))
(if (> arg 0)
(let (beg end)
(beginning-of-line)
(setq beg (point))
(gijit-next-code-line (- arg 1))
(end-of-line)
(setq end (point))
(if gijit-send-line-auto-forward
(gijit-next-code-line 1)
(forward-line 1))
(gijit-send-region beg end))))
;;;;;;; sexp-based version -- hard code in *inferior-gijit-buffer*, and remove SLIME dependencies.
;;;;;;;;;;; gijit-advance-and-eval-sexp-jdev and gijit-advance-and-eval-sexp-jdev-prev
(defun nil-to-point-max (x)
(if x
x
(point-max)
))
(defun nil-to-point-min (x)
(if x
x
(point-min)
))
(defun skip-lisp-comment-lines ()
"skip over lines that start with semi-colons before they have another non-whitespace character"
(interactive)
(let* ((done-skipping)
(startp (point))
(nextcomment)
(eol)
(nextword)
)
;;
;; if nextcomment < eol and ( nextword > nextcomment or nextword is nil ) then skip to next line
;; conversely, if nextword < eol and (nextcomment is nil or nextword < nextcomment) then stop skipping lines
(while (not done-skipping)
(setq startp (point))
(setq nextcomment (nil-to-point-max (search-forward *inferior-gijit-comment-char* nil 0 1)))
(setq eol (progn (goto-char startp) (nil-to-point-max (search-forward "\n" nil 0 1))))
(setq nextword (progn (goto-char startp) (+ (point) (skip-chars-forward "\t ;\n"))))
;; either stop at the word, or go to the end of line
(if (< nextword eol)
(if (or (< nextword nextcomment)
(= (point-max) nextcomment))
(progn
(setq done-skipping t)
(goto-char nextword)
)
(goto-char eol))
(progn
(when (= nextword eol)
(setq done-skipping t) ;; stop if nextword == eol
)
(goto-char eol)
)
)
)
)
)
(defvar DEBUG_STATUS 'off
"DEBUG_STATUS controls the DEBUG macro's behavior; legit values are 'on or 'off.")
;(setq DEBUG_STATUS 'on)
(setq DEBUG_STATUS 'off)
(defmacro DEBUG (&rest body)
"DEBUG is simple call to (@body) or nil, depending on the value of DEBUG_STATUS being 'on or not.
Makes it easy to debug when needed. You will have to recompile, of course, in order for the
macro to be able to take effect, if you change the value of DEBUG_STATUS. For efficiency's
sake, this is a compile time, not a runtime, convenience."
(if (eql DEBUG_STATUS 'on)
`(,@body)
'nil)
)
;; test
;; (DEBUG message "startp is %s" startp)
;; (macroexpand '(DEBUG message "startp is %s" startp))
(defun line-is-comment-or-whitespace ()
"determine if this line can be ignored because it is just a comment or whitespace"
(interactive)
(DEBUG message "***************** starting: (line-is-comment-or-whitespace), at %S" (line-number-at-pos))
(block block-line-is-comment-or-whitespace
(let* ((startp (point))
(nextword nil)
(nextcomment nil)
(bol nil)
(eol nil)
(prevbol nil)
)
(setq startp (point))
(setq bol (progn (goto-char startp) (nil-to-point-min (search-backward "\n" 0 0 1))))
(setq prevbol (progn (goto-char (max (point-min) (- bol 1))) (nil-to-point-min (search-backward "\n" 0 0 1))))
(setq nextcomment (progn (goto-char bol) (nil-to-point-max (search-forward *inferior-gijit-comment-char* nil 0 1))))
(setq eol (progn (goto-char startp) (nil-to-point-max (search-forward "\n" nil 0 1))))
(setq nextword (progn (goto-char bol) (+ (point) (skip-chars-forward "\t ;\n"))))
(goto-char startp)
(DEBUG message "startp is %s" startp)
(DEBUG message "bol is %s" bol)
(DEBUG message "eol is %s" eol)
(DEBUG message "prevbol is %s" prevbol)
(DEBUG message "nextcomment is %s" nextcomment)
(DEBUG message "nextword is %s" nextword)
;; when startp == 1 + bol, and nextcomment == 1 + startp, then we have a line of all comments
(when (and (= startp (+ 1 bol))
(= nextcomment (+ 1 startp)))
(DEBUG message "line is empty, returning t early")
(return-from block-line-is-comment-or-whitespace t))
;; sanity check for empty lines
(when (and (= eol (+ 1 startp))
(= bol (- startp 1))
)
(progn
(DEBUG message "line is empty, returning t early")
(return-from block-line-is-comment-or-whitespace t)))
;; if nextword > eol this is skippable.
(when (> nextword eol)
(progn
(DEBUG message "nextword > eol, returning t early")
(return-from block-line-is-comment-or-whitespace t)))
;; INVAR: bol < nextword < eol, only question left: is there a comment before the nextword?
(if (or (> nextcomment eol)
(< nextcomment bol))
;; nextcomment is not in play
(progn
(DEBUG message "nil: cannot skip b/c bol < nextword < eol, and no comment present on this line.")
(return-from block-line-is-comment-or-whitespace nil))
;; INVAR: comment is in play, and may obscucate the entire line.
(if (<= nextcomment nextword)
(progn
(DEBUG message "t: can skip")
(return-from block-line-is-comment-or-whitespace t))
;;
(progn
(DEBUG message "nil: cannot skip b/c bol < nextword < nextcomment < eol.")
(return-from block-line-is-comment-or-whitespace nil)))
) ;; endif
)))
(defun skip-lisp-comment-lines-backwards ()
"Going backwards, skip over lines that start with semi-colons before they have another non-whitespace character.
The main side-effect is to reposition point. The function returns the new position of point,
which is just following the next form back."
(interactive)
(DEBUG message "***************** starting: (skip-lisp-comment-lines-backwards)")
(block block-skip-lisp-comment-lines-backwards
(DEBUG message "--> point is starting at %s" (point))
(let* ((startp (point))
(next-word-back)
(bol)
(nextcomment)
(eol)
(start-backwards-search)
(starting-line (line-number-at-pos))
(cur-line starting-line)
)
;; back up until we find a line with something like a lisp form on it (and the whole line is not commented out)
(beginning-of-line)
;; handle the case of starting at the beginning of a non-comment line, by backing up one line before we search...
(when (and (= (point) startp)
(> startp (point-min)))
;; we started at the beginning of a line, and it's not the first line, so back up past the newline to prev line.
(goto-char (- startp 1))
(beginning-of-line))
;; main backup while loop
(while (and (line-is-comment-or-whitespace)
(> (point) (point-min)))
(forward-line -1)
)
;; if we have moved lines, reset to our new starting place...
(setq cur-line (line-number-at-pos))
(if (= cur-line starting-line)
(goto-char startp)
(progn
(end-of-line)
(setq startp (point))))
(DEBUG message "--> After revision of backing up past comments, point is at %s" (point))
;; INVAR: we are on a line with some content, or we are at the beginning of the buffer
(when (line-is-comment-or-whitespace)
;; beginning of buffer, just get to the start.
(goto-char (point-min))
(return-from block-skip-lisp-comment-lines-backwards (point-min)))
(DEBUG message "--> INVAR: we are on a line with some content")
(setq bol (progn (goto-char startp) (nil-to-point-min (search-backward "\n" 0 0 1))))
(setq nextcomment (progn (goto-char bol) (nil-to-point-max (search-forward *inferior-gijit-comment-char* nil 0 1))))
(setq eol (progn (goto-char startp) (nil-to-point-max (search-forward "\n" nil 0 1))))
;; start from eol, or from nextcomment if nextcomment is < eol
(setq start-backwards-search eol)
(when (< nextcomment eol)
(setq start-backwards-search nextcomment))
(setq next-word-back
(progn
(goto-char start-backwards-search)
(+
(point)
(skip-chars-backward "\t ;\n"))))
(goto-char next-word-back)
)))
;; debug bindings
;; (global-set-key "\C-o" 'skip-lisp-comment-lines-backwards)
;; (global-set-key "\C-o" 'line-is-comment-or-whitespace)
;; (global-set-key "\C-o" 'my-backward-sexp-ignoring-comments)
(global-set-key "\C-o" '(forward-line -1))
(defun my-forward-sexp-ignoring-comments ()
"Move forward across one balanced expression (sexp), ignoring ; comments"
(interactive "^p")
;; at end of file? return early
(if (= (point) (point-max))
nil
(progn
;; rest of function is in this big else block; we could also do try/catch (maybe later), but this is clearer.
;; first determine if we are in a comment: iff there is a semi-colon between (point) and previous newline or beginning of buffer
;; if we are in a comment, then go to the next line.
;; now skip over any additional comments, arriving at the first uncommented sexp
(setq startp (point))
(search-backward "\n" 0 0 1) ;; side effect is to move point to beginning of line
(setq bol (point))
;; find previous comment
(goto-char startp) ;; start over
(search-backward *inferior-gijit-comment-char* 0 0 1)
(setq prevcomment (point))
;; find previous double quote
(goto-char startp) ;; start over
(search-backward "\"" 0 0 1)
(setq prevdoublequote (point))
;; find end of line
(search-forward "\n" nil 0 1)
(setq eol (point))
(if (not (string= "\n" (buffer-substring startp (+ 1 startp))))
(goto-char startp))
;; rely on the fact that we are now at the beginning of the next line, and check for comments.
;; If there is a comment character that is both >= bol and also > prevdoublequote, then skip to next line
;; otherwise start over and return to original starting position.
(unless (and (>= prevcomment bol) (> prevcomment prevdoublequote))
(goto-char startp))
;; INVAR: we are at the beginning of a line or at the beginning of a non-commented sexp.
(skip-lisp-comment-lines) ;; call the above function to handle skipping to the next sexp.
(forward-sexp)
;(skip-lisp-comment-lines) ;; get to the beginning of the next form
)))
(defun my-backward-sexp-ignoring-comments ()
"Move backward across one balanced expression (sexp), ignoring comments in the form of semicolons"
(interactive)
(DEBUG message "******** starting: my-backward-sexp-ignoring-comments")
;; at beginning of file? return early
(if (= (point) (point-min))
nil
(progn
;; rest of function is in this big else block; we could also do try/catch (maybe later), but this is clearer.
(skip-lisp-comment-lines-backwards)
(if (line-is-comment-or-whitespace)
(progn
(DEBUG message "*************************** my-backward-sexp-ignoring-comments: finishing with (beginning-of-line) and t <<<<<")
(beginning-of-line)
t)
(progn
(DEBUG message "*************************** my-backward-sexp-ignoring-comments: finishing with (backward-sexp) and t <<<<<")
(backward-sexp)
t)
))))
(defun gijit-advance-and-eval-sexp-jdev ()
"advance one sexp, and copy that sexp into the
*inferior-gijit-buffer*, so as to step through lines in a lisp .cl file"
(interactive)
(inferior-gijit t)
(setq clisp-buf *inferior-gijit-buffer*)
(setq pstart (point))
(push-mark)
(my-forward-sexp-ignoring-comments)
(setq pend (point))
(skip-lisp-comment-lines) ;; get to the beginning of the next form, so point is at the beginning of next line.
;;(setq str (buffer-substring pstart pend))
(with-current-buffer clisp-buf (goto-char (point-max)))
(append-to-buffer clisp-buf pstart pend)
(with-current-buffer clisp-buf
(setq comint-eol-on-send t)
(setq comint-process-echoes nil)
(setq comint-move-point-for-output t)
(gijit-send-input)
(display-buffer clisp-buf)
(recenter)
))
(defun gijit-advance-and-eval-sexp-jdev-prev ()
"copy the previous sexp into the *inferior-gijit-buffer*"
(interactive)
(inferior-gijit t)
(setq clisp-buf *inferior-gijit-buffer*)
(if (and (my-backward-sexp-ignoring-comments)
(not (line-is-comment-or-whitespace)))
(progn
(setq pstart (point))
(push-mark)
(forward-sexp)
(setq pend (point))
(with-current-buffer clisp-buf (goto-char (point-max)))
(append-to-buffer clisp-buf pstart pend)
(with-current-buffer clisp-buf
(setq comint-eol-on-send t)
(setq comint-process-echoes nil)
(setq comint-move-point-for-output t)
(gijit-send-input)
(display-buffer clisp-buf)
(recenter)
)
;;(skip-lisp-comment-lines)
)
(beginning-of-line)))
;;;;;;;;;;;; simplest possible major mode stuff
(defvar gijit-mode-map nil
"Local keymap for gijit mode buffers.")
(setq gijit-mode-map nil)
(if gijit-mode-map
nil
(setq gijit-mode-map (make-sparse-keymap))
(define-key gijit-mode-map *gijit-keypress-to-sendline* 'gijit-send-line)
(define-key gijit-mode-map *gijit-keypress-to-send-sexp-jdev* 'gijit-advance-and-eval-sexp-jdev)
(define-key gijit-mode-map *gijit-keypress-to-send-sexp-jdev-prev* 'gijit-advance-and-eval-sexp-jdev-prev)
)
(defun gijit-mode ()
"simple send-line, aka gijit mode."
(interactive)
(kill-all-local-variables)
(setq major-mode 'gijit-mode)
(setq mode-name "gijit")
(use-local-map gijit-mode-map)
;; borrow the setup for lisp mode indentation from the other emacs lisp modes.
(lisp-mode-variables t)
(run-mode-hooks 'jdev-mode-hook))
;;; provide ourself
;;;(provide 'gijit-mod)
;;; gijit-mod.el ends here
;;; gijit-inf.el --- running Gijit as an inferior Emacs process
;;(require 'gijit-mod)
(require 'comint)
(defgroup gijit-inferior nil
"Running Gijit as an inferior Emacs process."
:group 'gijit)
(defvar inferior-gijit-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map comint-mode-map)
map)
"Keymap used in Inferior Gijit mode.")
(defvar inferior-gijit-mode-syntax-table
(let ((table (make-syntax-table)))
(modify-syntax-entry ?\` "w" table)
table)
"Syntax table in use in inferior-gijit-mode buffers.")
(defvar inferior-gijit-mode-hook nil
"*Hook to be run when Inferior Gijit mode is started.")
(defvar *inferior-gijit-startup-args* nil
"arguments to be given to the Inferior Gijit process on startup.")
;(setq *inferior-gijit-startup-args* (list "console" "--nosep" "--colors=NoColor"))
(setq *inferior-gijit-startup-args* nil) ;;(list "--pylab"))
;;; Compatibility functions
(if (not (fboundp 'comint-line-beginning-position))
;; comint-line-beginning-position is defined in Emacs 21
(defun comint-line-beginning-position ()
"Returns the buffer position of the beginning of the line, after
any prompt. The prompt is assumed to be any text at the beginning of the
line matching the regular expression `comint-prompt-regexp', a buffer local
variable."
(save-excursion (comint-bol nil) (point))))
(defvar inferior-gijit-output-list nil)
(defvar inferior-gijit-output-string nil)
(defvar inferior-gijit-receive-in-progress nil)
(defvar inferior-gijit-startup-hook nil)
(defun inferior-gijit-mode ()
"Major mode for interacting with an inferior Gijit process.
Runs Gijit as a subprocess of Emacs, with Gijit I/O through an Emacs
buffer.
Entry to this mode successively runs the hooks `comint-mode-hook' and
`inferior-gijit-mode-hook'."
(interactive)
(delay-mode-hooks (comint-mode))
(setq comint-prompt-regexp *inferior-gijit-regex-prompt*
major-mode 'inferior-gijit-mode
mode-name "Inferior Gijit"
mode-line-process '(":%s"))
(use-local-map inferior-gijit-mode-map)
(setq comint-input-ring-file-name
(or (getenv "GIJIT_HISTFILE") "~/.gijit_hist")
comint-input-ring-size (or (getenv "GIJIT_HISTSIZE") 1024))
(comint-read-input-ring t)
(make-local-variable 'kill-buffer-hook)
(add-hook 'kill-buffer-hook 'gijit-kill-buffer-function)
(run-mode-hooks 'inferior-gijit-mode-hook))
;;;###autoload
(defun inferior-gijit (&optional arg)
"Run an inferior Gijit process, I/O via `*inferior-gijit-buffer*'.
This buffer is put in Inferior Gijit mode. See `inferior-gijit-mode'.
Unless ARG is non-nil, switches to this buffer.
The elements of the list `*inferior-gijit-startup-args*' are sent as
command line arguments to the inferior Gijit process on startup.
Additional commands to be executed on startup can be provided either in
the file specified by `inferior-gijit-startup-file' or by the default
startup file, `~/.emacs-gijit'."
(interactive "P")
(let ((buffer *inferior-gijit-buffer*))
(get-buffer-create buffer)
(if (comint-check-proc buffer)
()
(with-current-buffer buffer
(comint-mode)
(inferior-gijit-startup)
(inferior-gijit-mode)))
(if (not arg)
(pop-to-buffer buffer))))
;;;###autoload
(defalias 'run-gijit 'inferior-gijit)
(defun inferior-gijit-startup ()
"Start an inferior Gijit process."
(let ((proc (comint-exec-1
(substring *inferior-gijit-buffer* 1 -1)
*inferior-gijit-buffer*
*inferior-gijit-program*
*inferior-gijit-startup-args*)))
(set-process-filter proc 'inferior-gijit-output-filter)
(setq comint-ptyp process-connection-type
inferior-gijit-process proc
inferior-gijit-output-list nil
inferior-gijit-output-string nil
inferior-gijit-receive-in-progress t)
(remove-dos-eol)
(run-hooks 'inferior-gijit-startup-hook)
(run-hooks 'inferior-gijit-startup-hook)))
(defun inferior-gijit-strip-ctrl-m (string)
(while (string-match "\r$" string)
(setq string (concat (substring string 0 (- (length string) 1)) "\n")))
string)
;; test:
;; (inferior-gijit-strip-ctrl-m "hi
")
(defun inferior-gijit-strip-ctrl-g (string)
"Strip leading `^G' character.
If STRING starts with a `^G', ring the bell and strip it."
(if (string-match "^\a" string)
(progn
(ding)
(setq string (substring string 1))))
string)
(defun inferior-gijit-output-filter (proc string)
"Standard output filter for the inferior Gijit process.
Ring Emacs bell if process output starts with an ASCII bell, and pass
the rest to `comint-output-filter'."
;; (comint-output-filter proc (inferior-gijit-strip-ctrl-m (inferior-gijit-strip-ctrl-g string))))
(comint-output-filter proc (inferior-gijit-strip-ctrl-g string)))
(defun inferior-gijit-output-digest (proc string)
"Special output filter for the inferior Gijit process.
Save all output between newlines into `inferior-gijit-output-list', and
the rest to `inferior-gijit-output-string'."
(setq string (concat inferior-gijit-output-string string))
(while (string-match "\n" string)
(setq inferior-gijit-output-list
(append inferior-gijit-output-list
(list (substring string 0 (match-beginning 0))))
string (substring string (match-end 0))))
(if (string-match *inferior-gijit-regex-prompt* string)
(setq inferior-gijit-receive-in-progress nil))
(setq inferior-gijit-output-string string))
(defun inferior-gijit-send-list-and-digest (list)
"Send LIST to the inferior Gijit process and digest the output.
The elements of LIST have to be strings and are sent one by one. All
output is passed to the filter `inferior-gijit-output-digest'."
(let* ((proc inferior-gijit-process)
(filter (process-filter proc))
string)
(set-process-filter proc 'inferior-gijit-output-digest)
(setq inferior-gijit-output-list nil)
(unwind-protect
(while (setq string (car list))
(setq inferior-gijit-output-string nil
inferior-gijit-receive-in-progress t)
(comint-send-string proc string)
(while inferior-gijit-receive-in-progress
(accept-process-output proc))
(setq list (cdr list)))
(set-process-filter proc filter))))
(defun gijit-kill-buffer-function nil
"Function run just before an GIJIT process buffer is killed.
This simply deletes the buffers process to avoid an Emacs bug
where the sentinel is run *after* the buffer is deleted."
(let ((proc (get-buffer-process (current-buffer))))
(if proc (delete-process proc))))
(defun gijit-gdb-send-input ()
"gdb-sender(): send this current text between process-mark and point to gdb
meant as a replacement for comint-send-input to send input to gdb instead
our inferior process."
(interactive)
(let ((proc (get-buffer-process (current-buffer))))
(if (not proc) (error "Current buffer has no process")
(progn
(widen)
(let* ((pmark (process-mark proc))
(intxt (buffer-substring pmark (point))))
(process-send-string (get-buffer-process gud-comint-buffer) intxt)
(process-send-string (get-buffer-process gud-comint-buffer) "\n")
)))))
(defun gijit-send-input ()
"gijit-send-input: send input to both comint-send-input and gijit-gdb-send-input"
(interactive)
;;(gijit-gdb-send-input)
(comint-send-input)
)
;;; provide ourself
(provide 'gijit-mode)
================================================
FILE: emacs/vlua.el
================================================
;;; vlua-3.92
;;;
;;; (Setq *vlua-version-string* "3.92") ; update this below when changing.
;;;
;;; vlua.el - is a pair of modes for sending lines from a
;;; script (sender) to a comint-started inferior
;;; (receiver) process. We use Ctrl-n by default as
;;; the "send this line and step" key. This enables
;;; one to step through scripts easily when working
;;; with an interpreter, such as Pure, R, Haskell,
;;; shell, Python, and so forth. Functions for
;;; stepping through s-expressions for Lisp and
;;; Scheme work are also available. This file is
;;; by default setup for ipython.
;;;
;;; License: This minimal pair of (major and inferior) modes
;;; was derived from the Emacs Octave Support modes in
;;; octave-mod.el and octave-inf.el, with a little help
;;; (and alot of inspiration) from the ess-mode.el for
;;; R. As such it falls under the GNU General Public
;;; License version 3 or later.
;;;
;;; Copyright (C) 2012, Author: Jason E. Aten
;;;
;;; how to install:
;;;
;;; (1) If you are changing which interpreter you want to use, examine
;;; and adjust the "commonly-adjusted parameters" section just below.
;;;
;;; (2) Copy vlua-mode.el into your ~/.emacs.d/ directory.
;;;
;;; (3) Then put this in your .emacs:
;;;
;;; (load "/home/jaten/.emacs.d/vlua.el") ; adjust path to fit your home directory.
;;; (require 'vlua-mode)
;;; (global-set-key "\C-n" 'vlua-send-line)
;;;
;;; (4) Optionally for speed, M-x byte-compile-file <enter>
;;; ~/.emacs.d/vlua.el <enter>
;;;
;;; (5) To use, do 'M-x run-vlua' to start the interpreter. Open
;;; your script and in the script buffer do 'M-x vlua-mode'.
;;;
;;; Or, open a file with an automatically recognized extension
;;; (as specified below) and press 'C-n' on the first line
;;; you want executed in the interpreter.
;; To over-ride parameters, skip down to the "commonly-adjusted
;; parameters" section below these declarations.
;;
;; Here we just document the typically overriden parameters of interest.
;; NB: these just give defaults, which the setq settings below will override.
;; Putting them here keeps the byte-compiler from complaining.
(defvar *inferior-vlua-program* "luajit"
"Program invoked by `inferior-vlua'.")
(defvar *inferior-vlua-buffer* "*vlua*"
"*Name of buffer for running an inferior Vlua process.")
(defvar *inferior-vlua-regex-prompt* "[^\(>\)\|\(\.\.\.\)]*[> ]"
"Regexp to match prompts for the inferior Vlua process.")
(setq *inferior-vlua-regex-prompt* "[^\(>\)\|\(>>)]*[> ]")
(defvar *vlua-keypress-to-sendline* (kbd "C-n")
"keypress that, when in a pure mode script, sends a line to the interpreter
and then steps to the next line.")
(defvar *vlua-keypress-to-send-sexp-jdev* (kbd "C-9")
"keypress that sends the next sexp to the repl, and advances past it.")
(defvar *vlua-keypress-to-send-sexp-jdev-prev* (kbd "C-p")
"keypress that sends the previous sexp to the repl")
(defvar *vlua-version-string* "3.92"
"version of vlua currently running.")
(defvar *vlua-gdb-terp-buffer* "*vlush2-gdb*"
"name of the *gdb-terp* buffer when running gdbterp under vlua.")
;; ================================================
;; ================================================
;; begin commonly-adjusted parameters
;; the name of the interpreter to run
;(setq *inferior-vlua-program* "/usr/local/bin/sbcl")
;(setq *inferior-vlua-program* "/home/jaten/uns/bin/ccl64")
;(setq *inferior-vlua-program* "/home/jaten/dj/strongref/terp")
;(setq *inferior-vlua-program* "/Users/jaten/pkg/lush/svn-lush-r908/lush2/")
(setq *inferior-vlua-program* "luajit")
;; the name of the buffer to run the interpreter in
(setq *inferior-vlua-buffer* "*vlua*")
;; name of the gdb buffer
(setq *vlua-gdb-terp-buffer* "*gdb-terp*")
;; the comment character
(setq *inferior-vlua-comment-char* ";")
(setq comment-start *inferior-vlua-comment-char*)
(setq comment-end nil)
(setq comment-column 4)
;; file extensions that indicate we should automatically enter vlua mode...
(setq auto-mode-alist (cons '("\\.lua$" . vlua-mode) auto-mode-alist))
;; regexp to know when interpreter output is done and we are at a prompt.
;;(setq *inferior-vlua-regex-prompt* "[^\]]*: ")
;; keypress that, when in a pure mode script, sends a line to the interpreter
;; and then steps to the next line.
(setq *vlua-keypress-to-sendline* (kbd "C-n"))
;; keypress that, when in a pure mode script, sends an sexp to the JDEV repl
;; and then steps to the next line.
(setq *vlua-keypress-to-send-sexp-jdev* (kbd "C-9"))
(setq *vlua-keypress-to-send-sexp-jdev-prev* (kbd "C-p"))
;; end commonly-adjusted parameters
;; ================================================
;; ================================================
(defvar inferior-vlua-output-list nil)
(defvar inferior-vlua-output-string nil)
(defvar inferior-vlua-receive-in-progress nil)
(defvar inferior-vlua-process nil)
(defvar vlua-mode-hook nil
"*Hook to be run when Vlua mode is started.")
(defvar vlua-send-show-buffer t
"*Non-nil means display `*inferior-vlua-buffer*' after sending to it.")
(setq vlua-send-show-buffer t)
(defvar vlua-send-line-auto-forward nil
"*Control auto-forward after sending to the inferior Vlua process.
Non-nil means always go to the next Vlua code line after sending.")
(setq vlua-send-line-auto-forward nil)
(defvar vlua-send-echo-input t
"*Non-nil means echo input sent to the inferior Vlua process.")
(setq vlua-send-echo-input t)
(defvar *vlua-known-lisps*)
(setq *vlua-known-lisps* '((:sysname "ccl" :syspath "/home/jaten/uns/bin/ccl64" :syspromptregex "[^[?]]*[?] ")
(:sysname "sbcl" :syspath "/usr/bin/sbcl" :syspromptregex "[^>]*> ")
(:sysname "cmucl" :syspath "/usr/local/bin/lisp" :syspromptregex "[^>]*> ")))
;; try to hide the ctrl-M carriage returns that ipython generates.
(defun remove-dos-eol ()
"Do not show ^M in files containing mixed UNIX and DOS line endings."
(interactive)
(with-current-buffer *inferior-vlua-buffer*
(setq buffer-display-table (make-display-table))
(aset buffer-display-table ?\^M [])))
;;; Motion
(defun vlua-next-code-line (&optional arg)
"Move ARG lines of Vlua code forward (backward if ARG is negative).
Skips past all empty and comment lines. Default for ARG is 1.
On success, return 0. Otherwise, go as far as possible and return -1."
(interactive "p")
(or arg (setq arg 1))
(beginning-of-line)
(let ((n 0)
(inc (if (> arg 0) 1 -1)))
(while (and (/= arg 0) (= n 0))
(setq n (forward-line inc))
(while (and (= n 0)
(looking-at "\\s-*\\($\\|\\s<\\)"))
(setq n (forward-line inc)))
(setq arg (- arg inc)))
n))
(defun vlua-previous-code-line (&optional arg)
"Move ARG lines of Vlua code backward (forward if ARG is negative).
Skips past all empty and comment lines. Default for ARG is 1.
On success, return 0. Otherwise, go as far as possible and return -1."
(interactive "p")
(or arg (setq arg 1))
(vlua-next-code-line (- arg)))
;;; Communication with the inferior Vlua process
(defun vlua-kill-process ()
"Kill inferior Vlua process and its buffer."
(interactive)
(if inferior-vlua-process
(progn
(process-send-string inferior-vlua-process "quit;\n")
(accept-process-output inferior-vlua-process)))
(if *inferior-vlua-buffer*
(kill-buffer *inferior-vlua-buffer*)))
(defun vlua-show-process-buffer ()
"Make sure that `*inferior-vlua-buffer*' is displayed."
(interactive)
(if (get-buffer *inferior-vlua-buffer*)
(display-buffer *inferior-vlua-buffer*)
;(display-buffer *vlua-gdb-terp-buffer*)
(message "No buffer named %s" *inferior-vlua-buffer*)))
(defun vlua-hide-process-buffer ()
"Delete all windows that display `*inferior-vlua-buffer*'."
(interactive)
(if (get-buffer *inferior-vlua-buffer*)
(delete-windows-on *inferior-vlua-buffer*)
(message "No buffer named %s" *inferior-vlua-buffer*)))
(defun vlua-send-region (beg end)
"Send current region to the inferior Vlua process."
(interactive "r")
(inferior-vlua t)
(let ((proc inferior-vlua-process)
(string (buffer-substring-no-properties beg end))
line)
(if (string-equal string "")
(setq string "\n"))
(with-current-buffer *inferior-vlua-buffer*
(setq inferior-vlua-output-list nil)
(while (not (string-equal string ""))
(if (string-match "\n" string)
(setq line (substring string 0 (match-beginning 0))
string (substring string (match-end 0)))
(setq line string string ""))
(setq inferior-vlua-receive-in-progress t)
(inferior-vlua-send-list-and-digest (list (concat line "\n")))
;; (inferior-vlua-send-list-and-digest (list (concat "%cpaste\n" line "\n--\n")))
(while inferior-vlua-receive-in-progress
(accept-process-output proc))
(insert-before-markers
(mapconcat 'identity
(append
(if vlua-send-echo-input (list line) (list ""))
(mapcar 'inferior-vlua-strip-ctrl-g
inferior-vlua-output-list)
(list inferior-vlua-output-string))
"\n")))))
(if vlua-send-show-buffer
(vlua-eob)))
;; test out moving the inf buffer to end...
(defun vlua-eob ()
(interactive)
(let* ((mywin (display-buffer *inferior-vlua-buffer*))
(bl (with-current-buffer *inferior-vlua-buffer*
(line-number-at-pos (point-min))))
(cl (with-current-buffer *inferior-vlua-buffer*
(line-number-at-pos (window-point mywin))))
(el (with-current-buffer *inferior-vlua-buffer*
(goto-char (point-max))
(line-number-at-pos))))
;;;(message "bl is %d, el is %d, cl is %d, el-cl is %d" bl el cl (- el cl))
(setq other-window-scroll-buffer (get-buffer *inferior-vlua-buffer*))
(scroll-other-window (- el cl))
(with-current-buffer *inferior-vlua-buffer*
(goto-char (point-max))
(set-window-point mywin (point-max)))
(display-buffer *inferior-vlua-buffer*)
))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; the entire point of vlua-mode : to enable the use
;; of vlua-send-line with a single keypress.
;;
(defun vlua-send-line (&optional arg)
"Send current Vlua code line to the inferior Vlua process.
With positive prefix ARG, send that many lines.
If `vlua-send-line-auto-forward' is non-nil, go to the next unsent
code line."
(interactive "P")
(or arg (setq arg 1))
(if (> arg 0)
(let (beg end)
(beginning-of-line)
(setq beg (point))
(vlua-next-code-line (- arg 1))
(end-of-line)
(setq end (point))
(if vlua-send-line-auto-forward
(vlua-next-code-line 1)
(forward-line 1))
(vlua-send-region beg end))))
;;;;;;; sexp-based version -- hard code in *inferior-vlua-buffer*, and remove SLIME dependencies.
;;;;;;;;;;; vlua-advance-and-eval-sexp-jdev and vlua-advance-and-eval-sexp-jdev-prev
(defun nil-to-point-max (x)
(if x
x
(point-max)
))
(defun nil-to-point-min (x)
(if x
x
(point-min)
))
(defun skip-lisp-comment-lines ()
"skip over lines that start with semi-colons before they have another non-whitespace character"
(interactive)
(let* ((done-skipping)
(startp (point))
(nextcomment)
(eol)
(nextword)
)
;;
;; if nextcomment < eol and ( nextword > nextcomment or nextword is nil ) then skip to next line
;; conversely, if nextword < eol and (nextcomment is nil or nextword < nextcomment) then stop skipping lines
(while (not done-skipping)
(setq startp (point))
(setq nextcomment (nil-to-point-max (search-forward *inferior-vlua-comment-char* nil 0 1)))
(setq eol (progn (goto-char startp) (nil-to-point-max (search-forward "\n" nil 0 1))))
(setq nextword (progn (goto-char startp) (+ (point) (skip-chars-forward "\t ;\n"))))
;; either stop at the word, or go to the end of line
(if (< nextword eol)
(if (or (< nextword nextcomment)
(= (point-max) nextcomment))
(progn
(setq done-skipping t)
(goto-char nextword)
)
(goto-char eol))
(progn
(when (= nextword eol)
(setq done-skipping t) ;; stop if nextword == eol
)
(goto-char eol)
)
)
)
)
)
(defvar DEBUG_STATUS 'off
"DEBUG_STATUS controls the DEBUG macro's behavior; legit values are 'on or 'off.")
;(setq DEBUG_STATUS 'on)
(setq DEBUG_STATUS 'off)
(defmacro DEBUG (&rest body)
"DEBUG is simple call to (@body) or nil, depending on the value of DEBUG_STATUS being 'on or not.
Makes it easy to debug when needed. You will have to recompile, of course, in order for the
macro to be able to take effect, if you change the value of DEBUG_STATUS. For efficiency's
sake, this is a compile time, not a runtime, convenience."
(if (eql DEBUG_STATUS 'on)
`(,@body)
'nil)
)
;; test
;; (DEBUG message "startp is %s" startp)
;; (macroexpand '(DEBUG message "startp is %s" startp))
(defun line-is-comment-or-whitespace ()
"determine if this line can be ignored because it is just a comment or whitespace"
(interactive)
(DEBUG message "***************** starting: (line-is-comment-or-whitespace), at %S" (line-number-at-pos))
(block block-line-is-comment-or-whitespace
(let* ((startp (point))
(nextword nil)
(nextcomment nil)
(bol nil)
(eol nil)
(prevbol nil)
)
(setq startp (point))
(setq bol (progn (goto-char startp) (nil-to-point-min (search-backward "\n" 0 0 1))))
(setq prevbol (progn (goto-char (max (point-min) (- bol 1))) (nil-to-point-min (search-backward "\n" 0 0 1))))
(setq nextcomment (progn (goto-char bol) (nil-to-point-max (search-forward *inferior-vlua-comment-char* nil 0 1))))
(setq eol (progn (goto-char startp) (nil-to-point-max (search-forward "\n" nil 0 1))))
(setq nextword (progn (goto-char bol) (+ (point) (skip-chars-forward "\t ;\n"))))
(goto-char startp)
(DEBUG message "startp is %s" startp)
(DEBUG message "bol is %s" bol)
(DEBUG message "eol is %s" eol)
(DEBUG message "prevbol is %s" prevbol)
(DEBUG message "nextcomment is %s" nextcomment)
(DEBUG message "nextword is %s" nextword)
;; when startp == 1 + bol, and nextcomment == 1 + startp, then we have a line of all comments
(when (and (= startp (+ 1 bol))
(= nextcomment (+ 1 startp)))
(DEBUG message "line is empty, returning t early")
(return-from block-line-is-comment-or-whitespace t))
;; sanity check for empty lines
(when (and (= eol (+ 1 startp))
(= bol (- startp 1))
)
(progn
(DEBUG message "line is empty, returning t early")
(return-from block-line-is-comment-or-whitespace t)))
;; if nextword > eol this is skippable.
(when (> nextword eol)
(progn
(DEBUG message "nextword > eol, returning t early")
(return-from block-line-is-comment-or-whitespace t)))
;; INVAR: bol < nextword < eol, only question left: is there a comment before the nextword?
(if (or (> nextcomment eol)
(< nextcomment bol))
;; nextcomment is not in play
(progn
(DEBUG message "nil: cannot skip b/c bol < nextword < eol, and no comment present on this line.")
(return-from block-line-is-comment-or-whitespace nil))
;; INVAR: comment is in play, and may obscucate the entire line.
(if (<= nextcomment nextword)
(progn
(DEBUG message "t: can skip")
(return-from block-line-is-comment-or-whitespace t))
;;
(progn
(DEBUG message "nil: cannot skip b/c bol < nextword < nextcomment < eol.")
(return-from block-line-is-comment-or-whitespace nil)))
) ;; endif
)))
(defun skip-lisp-comment-lines-backwards ()
"Going backwards, skip over lines that start with semi-colons before they have another non-whitespace character.
The main side-effect is to reposition point. The function returns the new position of point,
which is just following the next form back."
(interactive)
(DEBUG message "***************** starting: (skip-lisp-comment-lines-backwards)")
(block block-skip-lisp-comment-lines-backwards
(DEBUG message "--> point is starting at %s" (point))
(let* ((startp (point))
(next-word-back)
(bol)
(nextcomment)
(eol)
(start-backwards-search)
(starting-line (line-number-at-pos))
(cur-line starting-line)
)
;; back up until we find a line with something like a lisp form on it (and the whole line is not commented out)
(beginning-of-line)
;; handle the case of starting at the beginning of a non-comment line, by backing up one line before we search...
(when (and (= (point) startp)
(> startp (point-min)))
;; we started at the beginning of a line, and it's not the first line, so back up past the newline to prev line.
(goto-char (- startp 1))
(beginning-of-line))
;; main backup while loop
(while (and (line-is-comment-or-whitespace)
(> (point) (point-min)))
(forward-line -1)
)
;; if we have moved lines, reset to our new starting place...
(setq cur-line (line-number-at-pos))
(if (= cur-line starting-line)
(goto-char startp)
(progn
(end-of-line)
(setq startp (point))))
(DEBUG message "--> After revision of backing up past comments, point is at %s" (point))
;; INVAR: we are on a line with some content, or we are at the beginning of the buffer
(when (line-is-comment-or-whitespace)
;; beginning of buffer, just get to the start.
(goto-char (point-min))
(return-from block-skip-lisp-comment-lines-backwards (point-min)))
(DEBUG message "--> INVAR: we are on a line with some content")
(setq bol (progn (goto-char startp) (nil-to-point-min (search-backward "\n" 0 0 1))))
(setq nextcomment (progn (goto-char bol) (nil-to-point-max (search-forward *inferior-vlua-comment-char* nil 0 1))))
(setq eol (progn (goto-char startp) (nil-to-point-max (search-forward "\n" nil 0 1))))
;; start from eol, or from nextcomment if nextcomment is < eol
(setq start-backwards-search eol)
(when (< nextcomment eol)
(setq start-backwards-search nextcomment))
(setq next-word-back
(progn
(goto-char start-backwards-search)
(+
(point)
(skip-chars-backward "\t ;\n"))))
(goto-char next-word-back)
)))
;; debug bindings
;; (global-set-key "\C-o" 'skip-lisp-comment-lines-backwards)
;; (global-set-key "\C-o" 'line-is-comment-or-whitespace)
;; (global-set-key "\C-o" 'my-backward-sexp-ignoring-comments)
(global-set-key "\C-o" '(forward-line -1))
(defun my-forward-sexp-ignoring-comments ()
"Move forward across one balanced expression (sexp), ignoring ; comments"
(interactive "^p")
;; at end of file? return early
(if (= (point) (point-max))
nil
(progn
;; rest of function is in this big else block; we could also do try/catch (maybe later), but this is clearer.
;; first determine if we are in a comment: iff there is a semi-colon between (point) and previous newline or beginning of buffer
;; if we are in a comment, then go to the next line.
;; now skip over any additional comments, arriving at the first uncommented sexp
(setq startp (point))
(search-backward "\n" 0 0 1) ;; side effect is to move point to beginning of line
(setq bol (point))
;; find previous comment
(goto-char startp) ;; start over
(search-backward *inferior-vlua-comment-char* 0 0 1)
(setq prevcomment (point))
;; find previous double quote
(goto-char startp) ;; start over
(search-backward "\"" 0 0 1)
(setq prevdoublequote (point))
;; find end of line
(search-forward "\n" nil 0 1)
(setq eol (point))
(if (not (string= "\n" (buffer-substring startp (+ 1 startp))))
(goto-char startp))
;; rely on the fact that we are now at the beginning of the next line, and check for comments.
;; If there is a comment character that is both >= bol and also > prevdoublequote, then skip to next line
;; otherwise start over and return to original starting position.
(unless (and (>= prevcomment bol) (> prevcomment prevdoublequote))
(goto-char startp))
;; INVAR: we are at the beginning of a line or at the beginning of a non-commented sexp.
(skip-lisp-comment-lines) ;; call the above function to handle skipping to the next sexp.
(forward-sexp)
;(skip-lisp-comment-lines) ;; get to the beginning of the next form
)))
(defun my-backward-sexp-ignoring-comments ()
"Move backward across one balanced expression (sexp), ignoring comments in the form of semicolons"
(interactive)
(DEBUG message "******** starting: my-backward-sexp-ignoring-comments")
;; at beginning of file? return early
(if (= (point) (point-min))
nil
(progn
;; rest of function is in this big else block; we could also do try/catch (maybe later), but this is clearer.
(skip-lisp-comment-lines-backwards)
(if (line-is-comment-or-whitespace)
(progn
(DEBUG message "*************************** my-backward-sexp-ignoring-comments: finishing with (beginning-of-line) and t <<<<<")
(beginning-of-line)
t)
(progn
(DEBUG message "*************************** my-backward-sexp-ignoring-comments: finishing with (backward-sexp) and t <<<<<")
(backward-sexp)
t)
))))
(defun vlua-advance-and-eval-sexp-jdev ()
"advance one sexp, and copy that sexp into the
*inferior-vlua-buffer*, so as to step through lines in a lisp .cl file"
(interactive)
(inferior-vlua t)
(setq clisp-buf *inferior-vlua-buffer*)
(setq pstart (point))
(push-mark)
(my-forward-sexp-ignoring-comments)
(setq pend (point))
(skip-lisp-comment-lines) ;; get to the beginning of the next form, so point is at the beginning of next line.
;;(setq str (buffer-substring pstart pend))
(with-current-buffer clisp-buf (goto-char (point-max)))
(append-to-buffer clisp-buf pstart pend)
(with-current-buffer clisp-buf
(setq comint-eol-on-send t)
(setq comint-process-echoes nil)
(setq comint-move-point-for-output t)
(vlua-send-input)
(display-buffer clisp-buf)
(recenter)
))
(defun vlua-advance-and-eval-sexp-jdev-prev ()
"copy the previous sexp into the *inferior-vlua-buffer*"
(interactive)
(inferior-vlua t)
(setq clisp-buf *inferior-vlua-buffer*)
(if (and (my-backward-sexp-ignoring-comments)
(not (line-is-comment-or-whitespace)))
(progn
(setq pstart (point))
(push-mark)
(forward-sexp)
(setq pend (point))
(with-current-buffer clisp-buf (goto-char (point-max)))
(append-to-buffer clisp-buf pstart pend)
(with-current-buffer clisp-buf
(setq comint-eol-on-send t)
(setq comint-process-echoes nil)
(setq comint-move-point-for-output t)
(vlua-send-input)
(display-buffer clisp-buf)
(recenter)
)
;;(skip-lisp-comment-lines)
)
(beginning-of-line)))
;;;;;;;;;;;; simplest possible major mode stuff
(defvar vlua-mode-map nil
"Local keymap for vlua mode buffers.")
(setq vlua-mode-map nil)
(if vlua-mode-map
nil
(setq vlua-mode-map (make-sparse-keymap))
(define-key vlua-mode-map *vlua-keypress-to-sendline* 'vlua-send-line)
(define-key vlua-mode-map *vlua-keypress-to-send-sexp-jdev* 'vlua-advance-and-eval-sexp-jdev)
(define-key vlua-mode-map *vlua-keypress-to-send-sexp-jdev-prev* 'vlua-advance-and-eval-sexp-jdev-prev)
)
(defun vlua-mode ()
"simple send-line, aka vlua mode."
(interactive)
(kill-all-local-variables)
(setq major-mode 'vlua-mode)
(setq mode-name "vlua")
(use-local-map vlua-mode-map)
;; borrow the setup for lisp mode indentation from the other emacs lisp modes.
(lisp-mode-variables t)
(run-mode-hooks 'jdev-mode-hook))
;;; provide ourself
;;;(provide 'vlua-mod)
;;; vlua-mod.el ends here
;;; vlua-inf.el --- running Vlua as an inferior Emacs process
;;(require 'vlua-mod)
(require 'comint)
(defgroup vlua-inferior nil
"Running Vlua as an inferior Emacs process."
:group 'vlua)
(defvar inferior-vlua-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map comint-mode-map)
map)
"Keymap used in Inferior Vlua mode.")
(defvar inferior-vlua-mode-syntax-table
(let ((table (make-syntax-table)))
(modify-syntax-entry ?\` "w" table)
table)
"Syntax table in use in inferior-vlua-mode buffers.")
(defvar inferior-vlua-mode-hook nil
"*Hook to be run when Inferior Vlua mode is started.")
(defvar *inferior-vlua-startup-args* nil
"arguments to be given to the Inferior Vlua process on startup.")
;(setq *inferior-vlua-startup-args* (list "console" "--nosep" "--colors=NoColor"))
(setq *inferior-vlua-startup-args* (list "--pylab"))
;;; Compatibility functions
(if (not (fboundp 'comint-line-beginning-position))
;; comint-line-beginning-position is defined in Emacs 21
(defun comint-line-beginning-position ()
"Returns the buffer position of the beginning of the line, after
any prompt. The prompt is assumed to be any text at the beginning of the
line matching the regular expression `comint-prompt-regexp', a buffer local
variable."
(save-excursion (comint-bol nil) (point))))
(defvar inferior-vlua-output-list nil)
(defvar inferior-vlua-output-string nil)
(defvar inferior-vlua-receive-in-progress nil)
(defvar inferior-vlua-startup-hook nil)
(defun inferior-vlua-mode ()
"Major mode for interacting with an inferior Vlua process.
Runs Vlua as a subprocess of Emacs, with Vlua I/O through an Emacs
buffer.
Entry to this mode successively runs the hooks `comint-mode-hook' and
`inferior-vlua-mode-hook'."
(interactive)
(delay-mode-hooks (comint-mode))
(setq comint-prompt-regexp *inferior-vlua-regex-prompt*
major-mode 'inferior-vlua-mode
mode-name "Inferior Vlua"
mode-line-process '(":%s"))
(use-local-map inferior-vlua-mode-map)
(setq comint-input-ring-file-name
(or (getenv "VLUA_HISTFILE") "~/.vlua_hist")
comint-input-ring-size (or (getenv "VLUA_HISTSIZE") 1024))
(comint-read-input-ring t)
(make-local-variable 'kill-buffer-hook)
(add-hook 'kill-buffer-hook 'vlua-kill-buffer-function)
(run-mode-hooks 'inferior-vlua-mode-hook))
;;;###autoload
(defun inferior-vlua (&optional arg)
"Run an inferior Vlua process, I/O via `*inferior-vlua-buffer*'.
This buffer is put in Inferior Vlua mode. See `inferior-vlua-mode'.
Unless ARG is non-nil, switches to this buffer.
The elements of the list `*inferior-vlua-startup-args*' are sent as
command line arguments to the inferior Vlua process on startup.
Additional commands to be executed on startup can be provided either in
the file specified by `inferior-vlua-startup-file' or by the default
startup file, `~/.emacs-vlua'."
(interactive "P")
(let ((buffer *inferior-vlua-buffer*))
(get-buffer-create buffer)
(if (comint-check-proc buffer)
()
(with-current-buffer buffer
(comint-mode)
(inferior-vlua-startup)
(inferior-vlua-mode)))
(if (not arg)
(pop-to-buffer buffer))))
;;;###autoload
(defalias 'run-vlua 'inferior-vlua)
(defun inferior-vlua-startup ()
"Start an inferior Vlua process."
(let ((proc (comint-exec-1
(substring *inferior-vlua-buffer* 1 -1)
*inferior-vlua-buffer*
*inferior-vlua-program*
*inferior-vlua-startup-args*)))
(set-process-filter proc 'inferior-vlua-output-filter)
(setq comint-ptyp process-connection-type
inferior-vlua-process proc
inferior-vlua-output-list nil
inferior-vlua-output-string nil
inferior-vlua-receive-in-progress t)
(remove-dos-eol)
(run-hooks 'inferior-vlua-startup-hook)
(run-hooks 'inferior-vlua-startup-hook)))
(defun inferior-vlua-strip-ctrl-m (string)
(while (string-match "\r$" string)
(setq string (concat (substring string 0 (- (length string) 1)) "\n")))
string)
;; test:
;; (inferior-vlua-strip-ctrl-m "hi
")
(defun inferior-vlua-strip-ctrl-g (string)
"Strip leading `^G' character.
If STRING starts with a `^G', ring the bell and strip it."
(if (string-match "^\a" string)
(progn
(ding)
(setq string (substring string 1))))
string)
(defun inferior-vlua-output-filter (proc string)
"Standard output filter for the inferior Vlua process.
Ring Emacs bell if process output starts with an ASCII bell, and pass
the rest to `comint-output-filter'."
;; (comint-output-filter proc (inferior-vlua-strip-ctrl-m (inferior-vlua-strip-ctrl-g string))))
(comint-output-filter proc (inferior-vlua-strip-ctrl-g string)))
(defun inferior-vlua-output-digest (proc string)
"Special output filter for the inferior Vlua process.
Save all output between newlines into `inferior-vlua-output-list', and
the rest to `inferior-vlua-output-string'."
(setq string (concat inferior-vlua-output-string string))
(while (string-match "\n" string)
(setq inferior-vlua-output-list
(append inferior-vlua-output-list
(list (substring string 0 (match-beginning 0))))
string (substring string (match-end 0))))
(if (string-match *inferior-vlua-regex-prompt* string)
(setq inferior-vlua-receive-in-progress nil))
(setq inferior-vlua-output-string string))
(defun inferior-vlua-send-list-and-digest (list)
"Send LIST to the inferior Vlua process and digest the output.
The elements of LIST have to be strings and are sent one by one. All
output is passed to the filter `inferior-vlua-output-digest'."
(let* ((proc inferior-vlua-process)
(filter (process-filter proc))
string)
(set-process-filter proc 'inferior-vlua-output-digest)
(setq inferior-vlua-output-list nil)
(unwind-protect
(while (setq string (car list))
(setq inferior-vlua-output-string nil
inferior-vlua-receive-in-progress t)
(comint-send-string proc string)
(while inferior-vlua-receive-in-progress
(accept-process-output proc))
(setq list (cdr list)))
(set-process-filter proc filter))))
(defun vlua-kill-buffer-function nil
"Function run just before an VLUA process buffer is killed.
This simply deletes the buffers process to avoid an Emacs bug
where the sentinel is run *after* the buffer is deleted."
(let ((proc (get-buffer-process (current-buffer))))
(if proc (delete-process proc))))
(defun vlua-gdb-send-input ()
"gdb-sender(): send this current text between process-mark and point to gdb
meant as a replacement for comint-send-input to send input to gdb instead
our inferior process."
(interactive)
(let ((proc (get-buffer-process (current-buffer))))
(if (not proc) (error "Current buffer has no process")
(progn
(widen)
(let* ((pmark (process-mark proc))
(intxt (buffer-substring pmark (point))))
(process-send-string (get-buffer-process gud-comint-buffer) intxt)
(process-send-string (get-buffer-process gud-comint-buffer) "\n")
)))))
(defun vlua-send-input ()
"vlua-send-input: send input to both comint-send-input and vlua-gdb-send-input"
(interactive)
;;(vlua-gdb-send-input)
(comint-send-input)
)
;;; provide ourself
(provide 'vlua-mode)
================================================
FILE: macos.sh
================================================
#!/bin/sh
echo "posix.sh: Doing one time build of libluajit.a"
## recent macOS need the extra MACOSX_DEPLOYMENT_TARGET flag.
## See also https://github.com/LuaJIT/LuaJIT/issues/449
##
cd vendor/github.com/LuaJIT/LuaJIT && make clean && cd src && MACOSX_DEPLOYMENT_TARGET=10.14 XCFLAGS=-DLUAJIT_ENABLE_GC64 make libluajit.a
MACOSX_DEPLOYMENT_TARGET=10.14 make gijit_luajit && cp -p gijit_luajit ${GOPATH}/bin/
================================================
FILE: pkg/ast/ast.go
================================================
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package ast declares the types used to represent syntax trees for Go
// packages.
//
package ast
import (
"github.com/gijit/gi/pkg/token"
"strings"
"unicode"
"unicode/utf8"
)
// ----------------------------------------------------------------------------
// Interfaces
//
// There are 3 main classes of nodes: Expressions and type nodes,
// statement nodes, and declaration nodes. The node names usually
// match the corresponding Go spec production names to which they
// correspond. The node fields correspond to the individual parts
// of the respective productions.
//
// All nodes contain position information marking the beginning of
// the corresponding source text segment; it is accessible via the
// Pos accessor method. Nodes may contain additional position info
// for language constructs where comments may be found between parts
// of the construct (typically any larger, parenthesized subpart).
// That position information is needed to properly position comments
// when printing the construct.
// All node types implement the Node interface.
type Node interface {
Pos() token.Pos // position of first character belonging to the node
End() token.Pos // position of first character immediately after the node
}
// All expression nodes implement the Expr interface.
type Expr interface {
Node
exprNode()
}
// All statement nodes implement the Stmt interface.
type Stmt interface {
Node
stmtNode()
}
// All declaration nodes implement the Decl interface.
type Decl interface {
Node
declNode()
}
// ----------------------------------------------------------------------------
// Comments
// A Comment node represents a single //-style or /*-style comment.
type Comment struct {
Slash token.Pos // position of "/" starting the comment
Text string // comment text (excluding '\n' for //-style comments)
}
func (c *Comment) Pos() token.Pos { return c.Slash }
func (c *Comment) End() token.Pos { return token.Pos(int(c.Slash) + len(c.Text)) }
// A CommentGroup represents a sequence of comments
// with no other tokens and no empty lines between.
//
type CommentGroup struct {
List []*Comment // len(List) > 0
}
func (g *CommentGroup) Pos() token.Pos { return g.List[0].Pos() }
func (g *CommentGroup) End() token.Pos { return g.List[len(g.List)-1].End() }
func isWhitespace(ch byte) bool { return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r' }
func stripTrailingWhitespace(s string) string {
i := len(s)
for i > 0 && isWhitespace(s[i-1]) {
i--
}
return s[0:i]
}
// Text returns the text of the comment.
// Comment markers (//, /*, and */), the first space of a line comment, and
// leading and trailing empty lines are removed. Multiple empty lines are
// reduced to one, and trailing space on lines is trimmed. Unless the result
// is empty, it is newline-terminated.
//
func (g *CommentGroup) Text() string {
if g == nil {
return ""
}
comments := make([]string, len(g.List))
for i, c := range g.List {
comments[i] = c.Text
}
lines := make([]string, 0, 10) // most comments are less than 10 lines
for _, c := range comments {
// Remove comment markers.
// The parser has given us exactly the comment text.
switch c[1] {
case '/':
//-style comment (no newline at the end)
c = c[2:]
// strip first space - required for Example tests
if len(c) > 0 && c[0] == ' ' {
c = c[1:]
}
case '*':
/*-style comment */
c = c[2 : len(c)-2]
}
// Split on newlines.
cl := strings.Split(c, "\n")
// Walk lines, stripping trailing white space and adding to list.
for _, l := range cl {
lines = append(lines, stripTrailingWhitespace(l))
}
}
// Remove leading blank lines; convert runs of
// interior blank lines to a single blank line.
n := 0
for _, line := range lines {
if line != "" || n > 0 && lines[n-1] != "" {
lines[n] = line
n++
}
}
lines = lines[0:n]
// Add final "" entry to get trailing newline from Join.
if n > 0 && lines[n-1] != "" {
lines = append(lines, "")
}
return strings.Join(lines, "\n")
}
// ----------------------------------------------------------------------------
// Expressions and types
// A Field represents a Field declaration list in a struct type,
// a method list in an interface type, or a parameter/result declaration
// in a signature.
//
type Field struct {
Doc *CommentGroup // associated documentation; or nil
Names []*Ident // field/method/parameter names; or nil if anonymous field
Type Expr // field/method/parameter type
Tag *BasicLit // field tag; or nil
Comment *CommentGroup // line comments; or nil
}
func (f *Field) Pos() token.Pos {
if len(f.Names) > 0 {
return f.Names[0].Pos()
}
return f.Type.Pos()
}
func (f *Field) End() token.Pos {
if f.Tag != nil {
return f.Tag.End()
}
return f.Type.End()
}
// A FieldList represents a list of Fields, enclosed by parentheses or braces.
type FieldList struct {
Opening token.Pos // position of opening parenthesis/brace, if any
List []*Field // field list; or nil
Closing token.Pos // position of closing parenthesis/brace, if any
}
func (f *FieldList) Pos() token.Pos {
if f.Opening.IsValid() {
return f.Opening
}
// the list should not be empty in this case;
// be conservative and guard against bad ASTs
if len(f.List) > 0 {
return f.List[0].Pos()
}
return token.NoPos
}
func (f *FieldList) End() token.Pos {
if f.Closing.IsValid() {
return f.Closing + 1
}
// the list should not be empty in this case;
// be conservative and guard against bad ASTs
if n := len(f.List); n > 0 {
return f.List[n-1].End()
}
return token.NoPos
}
// NumFields returns the number of (named and anonymous fields) in a FieldList.
func (f *FieldList) NumFields() int {
n := 0
if f != nil {
for _, g := range f.List {
m := len(g.Names)
if m == 0 {
m = 1 // anonymous field
}
n += m
}
}
return n
}
// An expression is represented by a tree consisting of one
// or more of the following concrete expression nodes.
//
type (
// A BadExpr node is a placeholder for expressions containing
// syntax errors for which no correct expression nodes can be
// created.
//
BadExpr struct {
From, To token.Pos // position range of bad expression
}
// An Ident node represents an identifier.
Ident struct {
NamePos token.Pos // identifier position
Name string // identifier name
Obj *Object // denoted object; or nil
}
// An Ellipsis node stands for the "..." type in a
// parameter list or the "..." length in an array type.
//
Ellipsis struct {
Ellipsis token.Pos // position of "..."
Elt Expr // ellipsis element type (parameter lists only); or nil
}
// A BasicLit node represents a literal of basic type.
BasicLit struct {
ValuePos token.Pos // literal position
Kind token.Token // token.INT, token.FLOAT, token.IMAG, token.CHAR, or token.STRING
Value string // literal string; e.g. 42, 0x7f, 3.14, 1e-9, 2.4i, 'a', '\x7f', "foo" or `\m\n\o`
}
// A FuncLit node represents a function literal.
FuncLit struct {
Type *FuncType // function type
Body *BlockStmt // function body
}
// A CompositeLit node represents a composite literal.
CompositeLit struct {
Type Expr // literal type; or nil
Lbrace token.Pos // position of "{"
Elts []Expr // list of composite elements; or nil
Rbrace token.Pos // position of "}"
}
// A ParenExpr node represents a parenthesized expression.
ParenExpr struct {
Lparen token.Pos // position of "("
X Expr // parenthesized expression
Rparen token.Pos // position of ")"
}
// A SelectorExpr node represents an expression followed by a selector.
SelectorExpr struct {
X Expr // expression
Sel *Ident // field selector
}
// An IndexExpr node represents an expression followed by an index.
IndexExpr struct {
X Expr // expression
Lbrack token.Pos // position of "["
Index Expr // index expression
Rbrack token.Pos // position of "]"
}
// An SliceExpr node represents an expression followed by slice indices.
SliceExpr struct {
X Expr // expression
Lbrack token.Pos // position of "["
Low Expr // begin of slice range; or nil
High Expr // end of slice range; or nil
Max Expr // maximum capacity of slice; or nil
Slice3 bool // true if 3-index slice (2 colons present)
Rbrack token.Pos // position of "]"
}
// A TypeAssertExpr node represents an expression followed by a
// type assertion.
//
TypeAssertExpr struct {
X Expr // expression
Lparen token.Pos // position of "("
Type Expr // asserted type; nil means type switch X.(type)
Rparen token.Pos // position of ")"
}
// A CallExpr node represents an expression followed by an argument list.
CallExpr struct {
Fun Expr // function expression
Lparen token.Pos // position of "("
Args []Expr // function arguments; or nil
Ellipsis token.Pos // position of "..." (token.NoPos if there is no "...")
Rparen token.Pos // position of ")"
}
// A StarExpr node represents an expression of the form "*" Expression.
// Semantically it could be a unary "*" expression, or a pointer type.
//
StarExpr struct {
Star token.Pos // position of "*"
X Expr // operand
}
// A UnaryExpr node represents a unary expression.
// Unary "*" expressions are represented via StarExpr nodes.
//
UnaryExpr struct {
OpPos token.Pos // position of Op
Op token.Token // operator
X Expr // operand
}
// A BinaryExpr node represents a binary expression.
BinaryExpr struct {
X Expr // left operand
OpPos token.Pos // position of Op
Op token.Token // operator
Y Expr // right operand
}
// A KeyValueExpr node represents (key : value) pairs
// in composite literals.
//
KeyValueExpr struct {
Key Expr
Colon token.Pos // position of ":"
Value Expr
}
)
// The direction of a channel type is indicated by a bit
// mask including one or both of the following constants.
//
type ChanDir int
const (
SEND ChanDir = 1 << iota
RECV
)
// A type is represented by a tree consisting of one
// or more of the following type-specific expression
// nodes.
//
type (
// An ArrayType node represents an array or slice type.
ArrayType struct {
Lbrack token.Pos // position of "["
Len Expr // Ellipsis node for [...]T array types, nil for slice types
Elt Expr // element type
}
// A StructType node represents a struct type.
StructType struct {
Struct token.Pos // position of "struct" keyword
Fields *FieldList // list of field declarations
Incomplete bool // true if (source) fields are missing in the Fields list
}
// Pointer types are represented via StarExpr nodes.
// A FuncType node represents a function type.
FuncType struct {
Func token.Pos // position of "func" keyword (token.NoPos if there is no "func")
Params *FieldList // (incoming) parameters; non-nil
Results *FieldList // (outgoing) results; or nil
}
// An InterfaceType node represents an interface type.
InterfaceType struct {
Interface token.Pos // position of "interface" keyword
Methods *FieldList // list of methods
Incomplete bool // true if (source) methods are missing in the Methods list
}
// A MapType node represents a map type.
MapType struct {
Map token.Pos // position of "map" keyword
Key Expr
Value Expr
}
// A ChanType node represents a channel type.
ChanType struct {
Begin token.Pos // position of "chan" keyword or "<-" (whichever comes first)
Arrow token.Pos // position of "<-" (token.NoPos if there is no "<-")
Dir ChanDir // channel direction
Value Expr // value type
}
)
// Pos and End implementations for expression/type nodes.
func (x *BadExpr) Pos() token.Pos { return x.From }
func (x *Ident) Pos() token.Pos { return x.NamePos }
func (x *Ellipsis) Pos() token.Pos { return x.Ellipsis }
func (x *BasicLit) Pos() token.Pos { return x.ValuePos }
func (x *FuncLit) Pos() token.Pos { return x.Type.Pos() }
func (x *CompositeLit) Pos() token.Pos {
if x.Type != nil {
return x.Type.Pos()
}
return x.Lbrace
}
func (x *ParenExpr) Pos() token.Pos { return x.Lparen }
func (x *SelectorExpr) Pos() token.Pos { return x.X.Pos() }
func (x *IndexExpr) Pos() token.Pos { return x.X.Pos() }
func (x *SliceExpr) Pos() token.Pos { return x.X.Pos() }
func (x *TypeAssertExpr) Pos() token.Pos { return x.X.Pos() }
func (x *CallExpr) Pos() token.Pos { return x.Fun.Pos() }
func (x *StarExpr) Pos() token.Pos { return x.Star }
func (x *UnaryExpr) Pos() token.Pos { return x.OpPos }
func (x *BinaryExpr) Pos() token.Pos { return x.X.Pos() }
func (x *KeyValueExpr) Pos() token.Pos { return x.Key.Pos() }
func (x *ArrayType) Pos() token.Pos { return x.Lbrack }
func (x *StructType) Pos() token.Pos { return x.Struct }
func (x *FuncType) Pos() token.Pos {
if x.Func.IsValid() || x.Params == nil { // see issue 3870
return x.Func
}
return x.Params.Pos() // interface method declarations have no "func" keyword
}
func (x *InterfaceType) Pos() token.Pos { return x.Interface }
func (x *MapType) Pos() token.Pos { return x.Map }
func (x *ChanType) Pos() token.Pos { return x.Begin }
func (x *BadExpr) End() token.Pos { return x.To }
func (x *Ident) End() token.Pos { return token.Pos(int(x.NamePos) + len(x.Name)) }
func (x *Ellipsis) End() token.Pos {
if x.Elt != nil {
return x.Elt.End()
}
return x.Ellipsis + 3 // len("...")
}
func (x *BasicLit) End() token.Pos { return token.Pos(int(x.ValuePos) + len(x.Value)) }
func (x *FuncLit) End() token.Pos { return x.Body.End() }
func (x *CompositeLit) End() token.Pos { return x.Rbrace + 1 }
func (x *ParenExpr) End() token.Pos { return x.Rparen + 1 }
func (x *SelectorExpr) End() token.Pos { return x.Sel.End() }
func (x *IndexExpr) End() token.Pos { return x.Rbrack + 1 }
func (x *SliceExpr) End() token.Pos { return x.Rbrack + 1 }
func (x *TypeAssertExpr) End() token.Pos { return x.Rparen + 1 }
func (x *CallExpr) End() token.Pos { return x.Rparen + 1 }
func (x *StarExpr) End() token.Pos { return x.X.End() }
func (x *UnaryExpr) End() token.Pos { return x.X.End() }
func (x *BinaryExpr) End() token.Pos { return x.Y.End() }
func (x *KeyValueExpr) End() token.Pos { return x.Value.End() }
func (x *ArrayType) End() token.Pos { return x.Elt.End() }
func (x *StructType) End() token.Pos { return x.Fields.End() }
func (x *FuncType) End() token.Pos {
if x.Results != nil {
return x.Results.End()
}
return x.Params.End()
}
func (x *InterfaceType) End() token.Pos { return x.Methods.End() }
func (x *MapType) End() tok
Showing preview only (911K chars total). Download the full file or copy to clipboard to get everything.
gitextract_1l2cptxk/ ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── TAGS ├── cmd/ │ ├── gen_static_prelude/ │ │ └── prep.go │ └── gijit_build/ │ └── tool.go ├── emacs/ │ ├── gijit.el │ └── vlua.el ├── macos.sh ├── pkg/ │ ├── ast/ │ │ ├── ast.go │ │ ├── ast_test.go │ │ ├── commentmap.go │ │ ├── commentmap_test.go │ │ ├── example_test.go │ │ ├── filter.go │ │ ├── filter_test.go │ │ ├── import.go │ │ ├── print.go │ │ ├── print_test.go │ │ ├── resolve.go │ │ ├── scope.go │ │ └── walk.go │ ├── compiler/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── _bench/ │ │ │ ├── gonum.go │ │ │ ├── matmul.gijit │ │ │ ├── matmul.go.txt │ │ │ ├── mul.go │ │ │ ├── mul.lua │ │ │ └── r │ │ ├── _templates/ │ │ │ ├── defer.lua │ │ │ ├── deferinit.lua │ │ │ ├── diffs │ │ │ ├── flow1.go.txt │ │ │ ├── flow1.lua │ │ │ ├── flow10.go.txt │ │ │ ├── flow10.lua │ │ │ ├── flow11.go.txt │ │ │ ├── flow11.lua │ │ │ ├── flow2.go.txt │ │ │ ├── flow2.lua │ │ │ ├── flow3.go.txt │ │ │ ├── flow3.lua │ │ │ ├── flow4.go.txt │ │ │ ├── flow4.lua │ │ │ ├── flow5.go.txt │ │ │ ├── flow5.lua │ │ │ ├── flow6.go.txt │ │ │ ├── flow6.lua │ │ │ ├── flow7.go.txt │ │ │ ├── flow7.lua │ │ │ ├── flow8.go.txt │ │ │ ├── flow8.lua │ │ │ ├── flow9.go.txt │ │ │ ├── flow9.lua │ │ │ ├── godefer.go │ │ │ ├── godefer1_defer_panic_a_new_val.go.txt │ │ │ ├── luadefer1_defer_panic_a_new_val.lua │ │ │ ├── luadefer2_defer_error_a_new_val.lua │ │ │ ├── new.defer.lua │ │ │ ├── q.lua │ │ │ ├── q2.lua │ │ │ ├── r.lua │ │ │ ├── recursive.xpcall.defer.lua │ │ │ ├── repcall.lua │ │ │ ├── rexp.lua │ │ │ ├── s.lua │ │ │ ├── test.lua │ │ │ └── tests.in.go.summary │ │ ├── allport/ │ │ │ ├── fin.lua │ │ │ ├── full.lua │ │ │ ├── half.lua │ │ │ ├── lglob │ │ │ ├── port.lua │ │ │ └── tmp.js │ │ ├── analysis/ │ │ │ ├── bool.go │ │ │ ├── break.go │ │ │ ├── escape.go │ │ │ ├── info.go │ │ │ └── sideeffect.go │ │ ├── arr_test.go │ │ ├── astutil/ │ │ │ └── astutil.go │ │ ├── attic/ │ │ │ ├── array.lua │ │ │ ├── bilbo.gi │ │ │ ├── bilbo.go │ │ │ ├── native_array.lua │ │ │ ├── slice.lua │ │ │ ├── struct.lua │ │ │ └── wolf.gi │ │ ├── build.go │ │ ├── build_test.go │ │ ├── calllua_test.go │ │ ├── callzygo.go │ │ ├── callzygo_test.go │ │ ├── chan_test.go │ │ ├── cmplex_test.go │ │ ├── compiler.go │ │ ├── conv_test.go │ │ ├── cvrt_test.go │ │ ├── debug.go │ │ ├── defer_test.go │ │ ├── depend.go │ │ ├── depend_test.go │ │ ├── exists.go │ │ ├── expr_test.go │ │ ├── expressions.go │ │ ├── face_test.go │ │ ├── filter/ │ │ │ ├── assign.go │ │ │ └── incdecstmt.go │ │ ├── fullpkg.go │ │ ├── genshadow.go │ │ ├── goro.go │ │ ├── goro_test.go │ │ ├── idchk.go │ │ ├── imp.go │ │ ├── imp_test.go │ │ ├── import.go │ │ ├── import_test.go │ │ ├── incr.go │ │ ├── label_test.go │ │ ├── lj │ │ ├── luaUtil.go │ │ ├── lua_select_test.go │ │ ├── luar_test.go │ │ ├── mat_test.go │ │ ├── natives/ │ │ │ ├── doc.go │ │ │ ├── fs.go │ │ │ ├── fs_vfsdata.go │ │ │ └── src/ │ │ │ ├── bytes/ │ │ │ │ ├── bytes.go │ │ │ │ └── bytes_test.go │ │ │ ├── crypto/ │ │ │ │ ├── rand/ │ │ │ │ │ └── rand.go │ │ │ │ └── x509/ │ │ │ │ ├── x509.go │ │ │ │ └── x509_test.go │ │ │ ├── database/ │ │ │ │ └── sql/ │ │ │ │ └── driver/ │ │ │ │ └── driver_test.go │ │ │ ├── debug/ │ │ │ │ └── elf/ │ │ │ │ └── elf_test.go │ │ │ ├── encoding/ │ │ │ │ ├── gob/ │ │ │ │ │ └── gob_test.go │ │ │ │ └── json/ │ │ │ │ └── stream_test.go │ │ │ ├── fmt/ │ │ │ │ └── fmt_test.go │ │ │ ├── go/ │ │ │ │ └── token/ │ │ │ │ └── token_test.go │ │ │ ├── internal/ │ │ │ │ ├── poll/ │ │ │ │ │ └── fd_poll_js.go │ │ │ │ └── testenv/ │ │ │ │ └── testenv.go │ │ │ ├── io/ │ │ │ │ └── io_test.go │ │ │ ├── math/ │ │ │ │ ├── big/ │ │ │ │ │ ├── big.go │ │ │ │ │ └── big_test.go │ │ │ │ ├── math.go │ │ │ │ ├── math_test.go │ │ │ │ └── rand/ │ │ │ │ └── rand_test.go │ │ │ ├── net/ │ │ │ │ ├── http/ │ │ │ │ │ ├── cookiejar/ │ │ │ │ │ │ └── example_test.go │ │ │ │ │ ├── fetch.go │ │ │ │ │ └── http.go │ │ │ │ └── net.go │ │ │ ├── os/ │ │ │ │ ├── os.go │ │ │ │ └── signal/ │ │ │ │ └── signal.go │ │ │ ├── reflect/ │ │ │ │ ├── example_test.go │ │ │ │ ├── reflect.go │ │ │ │ ├── reflect_test.go │ │ │ │ └── swapper.go │ │ │ ├── regexp/ │ │ │ │ └── regexp_test.go │ │ │ ├── runtime/ │ │ │ │ ├── debug/ │ │ │ │ │ └── debug.go │ │ │ │ ├── pprof/ │ │ │ │ │ └── pprof.go │ │ │ │ └── runtime.go │ │ │ ├── strings/ │ │ │ │ ├── strings.go │ │ │ │ └── strings_test.go │ │ │ ├── sync/ │ │ │ │ ├── atomic/ │ │ │ │ │ ├── atomic.go │ │ │ │ │ └── atomic_test.go │ │ │ │ ├── cond.go │ │ │ │ ├── export_test.go │ │ │ │ ├── pool.go │ │ │ │ ├── sync.go │ │ │ │ ├── sync_test.go │ │ │ │ └── waitgroup.go │ │ │ ├── syscall/ │ │ │ │ ├── syscall.go │ │ │ │ ├── syscall_linux.go │ │ │ │ ├── syscall_nonlinux.go │ │ │ │ ├── syscall_unix.go │ │ │ │ └── syscall_windows.go │ │ │ ├── testing/ │ │ │ │ ├── example.go │ │ │ │ ├── ioutil.go │ │ │ │ └── testing.go │ │ │ ├── text/ │ │ │ │ └── template/ │ │ │ │ └── template.go │ │ │ ├── time/ │ │ │ │ └── time.go │ │ │ └── unicode/ │ │ │ └── unicode.go │ │ ├── newtyp_test.go │ │ ├── package.go │ │ ├── panicon.go │ │ ├── prelude/ │ │ │ ├── __gijit_prelude │ │ │ ├── absnow.lua │ │ │ ├── chan.lua │ │ │ ├── chan_test.lua │ │ │ ├── complex.lua │ │ │ ├── defer.lua │ │ │ ├── dfs.lua │ │ │ ├── int64.lua │ │ │ ├── math.lua │ │ │ ├── prelude.lua │ │ │ ├── reflect_goro.lua │ │ │ ├── rune.lua │ │ │ ├── string.lua │ │ │ ├── tsys.lua │ │ │ ├── tsys_test.lua │ │ │ ├── tutil.lua │ │ │ ├── utf8.lua │ │ │ ├── zgoro.lua │ │ │ ├── zgoro_test.lua │ │ │ └── zoneinfo/ │ │ │ ├── Africa/ │ │ │ │ ├── Abidjan │ │ │ │ ├── Accra │ │ │ │ ├── Addis_Ababa │ │ │ │ ├── Algiers │ │ │ │ ├── Asmara │ │ │ │ ├── Asmera │ │ │ │ ├── Bamako │ │ │ │ ├── Bangui │ │ │ │ ├── Banjul │ │ │ │ ├── Bissau │ │ │ │ ├── Blantyre │ │ │ │ ├── Brazzaville │ │ │ │ ├── Bujumbura │ │ │ │ ├── Cairo │ │ │ │ ├── Casablanca │ │ │ │ ├── Ceuta │ │ │ │ ├── Conakry │ │ │ │ ├── Dakar │ │ │ │ ├── Dar_es_Salaam │ │ │ │ ├── Djibouti │ │ │ │ ├── Douala │ │ │ │ ├── El_Aaiun │ │ │ │ ├── Freetown │ │ │ │ ├── Gaborone │ │ │ │ ├── Harare │ │ │ │ ├── Johannesburg │ │ │ │ ├── Juba │ │ │ │ ├── Kampala │ │ │ │ ├── Khartoum │ │ │ │ ├── Kigali │ │ │ │ ├── Kinshasa │ │ │ │ ├── Lagos │ │ │ │ ├── Libreville │ │ │ │ ├── Lome │ │ │ │ ├── Luanda │ │ │ │ ├── Lubumbashi │ │ │ │ ├── Lusaka │ │ │ │ ├── Malabo │ │ │ │ ├── Maputo │ │ │ │ ├── Maseru │ │ │ │ ├── Mbabane │ │ │ │ ├── Mogadishu │ │ │ │ ├── Monrovia │ │ │ │ ├── Nairobi │ │ │ │ ├── Ndjamena │ │ │ │ ├── Niamey │ │ │ │ ├── Nouakchott │ │ │ │ ├── Ouagadougou │ │ │ │ ├── Porto-Novo │ │ │ │ ├── Sao_Tome │ │ │ │ ├── Timbuktu │ │ │ │ ├── Tripoli │ │ │ │ ├── Tunis │ │ │ │ └── Windhoek │ │ │ ├── America/ │ │ │ │ ├── Adak │ │ │ │ ├── Anchorage │ │ │ │ ├── Anguilla │ │ │ │ ├── Antigua │ │ │ │ ├── Araguaina │ │ │ │ ├── Argentina/ │ │ │ │ │ ├── Buenos_Aires │ │ │ │ │ ├── Catamarca │ │ │ │ │ ├── ComodRivadavia │ │ │ │ │ ├── Cordoba │ │ │ │ │ ├── Jujuy │ │ │ │ │ ├── La_Rioja │ │ │ │ │ ├── Mendoza │ │ │ │ │ ├── Rio_Gallegos │ │ │ │ │ ├── Salta │ │ │ │ │ ├── San_Juan │ │ │ │ │ ├── San_Luis │ │ │ │ │ ├── Tucuman │ │ │ │ │ └── Ushuaia │ │ │ │ ├── Aruba │ │ │ │ ├── Asuncion │ │ │ │ ├── Atikokan │ │ │ │ ├── Atka │ │ │ │ ├── Bahia │ │ │ │ ├── Bahia_Banderas │ │ │ │ ├── Barbados │ │ │ │ ├── Belem │ │ │ │ ├── Belize │ │ │ │ ├── Blanc-Sablon │ │ │ │ ├── Boa_Vista │ │ │ │ ├── Bogota │ │ │ │ ├── Boise │ │ │ │ ├── Buenos_Aires │ │ │ │ ├── Cambridge_Bay │ │ │ │ ├── Campo_Grande │ │ │ │ ├── Cancun │ │ │ │ ├── Caracas │ │ │ │ ├── Catamarca │ │ │ │ ├── Cayenne │ │ │ │ ├── Cayman │ │ │ │ ├── Chicago │ │ │ │ ├── Chihuahua │ │ │ │ ├── Coral_Harbour │ │ │ │ ├── Cordoba │ │ │ │ ├── Costa_Rica │ │ │ │ ├── Creston │ │ │ │ ├── Cuiaba │ │ │ │ ├── Curacao │ │ │ │ ├── Danmarkshavn │ │ │ │ ├── Dawson │ │ │ │ ├── Dawson_Creek │ │ │ │ ├── Denver │ │ │ │ ├── Detroit │ │ │ │ ├── Dominica │ │ │ │ ├── Edmonton │ │ │ │ ├── Eirunepe │ │ │ │ ├── El_Salvador │ │ │ │ ├── Ensenada │ │ │ │ ├── Fort_Nelson │ │ │ │ ├── Fort_Wayne │ │ │ │ ├── Fortaleza │ │ │ │ ├── Glace_Bay │ │ │ │ ├── Godthab │ │ │ │ ├── Goose_Bay │ │ │ │ ├── Grand_Turk │ │ │ │ ├── Grenada │ │ │ │ ├── Guadeloupe │ │ │ │ ├── Guatemala │ │ │ │ ├── Guayaquil │ │ │ │ ├── Guyana │ │ │ │ ├── Halifax │ │ │ │ ├── Havana │ │ │ │ ├── Hermosillo │ │ │ │ ├── Indiana/ │ │ │ │ │ ├── Indianapolis │ │ │ │ │ ├── Knox │ │ │ │ │ ├── Marengo │ │ │ │ │ ├── Petersburg │ │ │ │ │ ├── Tell_City │ │ │ │ │ ├── Vevay │ │ │ │ │ ├── Vincennes │ │ │ │ │ └── Winamac │ │ │ │ ├── Indianapolis │ │ │ │ ├── Inuvik │ │ │ │ ├── Iqaluit │ │ │ │ ├── Jamaica │ │ │ │ ├── Jujuy │ │ │ │ ├── Juneau │ │ │ │ ├── Kentucky/ │ │ │ │ │ ├── Louisville │ │ │ │ │ └── Monticello │ │ │ │ ├── Knox_IN │ │ │ │ ├── Kralendijk │ │ │ │ ├── La_Paz │ │ │ │ ├── Lima │ │ │ │ ├── Los_Angeles │ │ │ │ ├── Louisville │ │ │ │ ├── Lower_Princes │ │ │ │ ├── Maceio │ │ │ │ ├── Managua │ │ │ │ ├── Manaus │ │ │ │ ├── Marigot │ │ │ │ ├── Martinique │ │ │ │ ├── Matamoros │ │ │ │ ├── Mazatlan │ │ │ │ ├── Mendoza │ │ │ │ ├── Menominee │ │ │ │ ├── Merida │ │ │ │ ├── Metlakatla │ │ │ │ ├── Mexico_City │ │ │ │ ├── Miquelon │ │ │ │ ├── Moncton │ │ │ │ ├── Monterrey │ │ │ │ ├── Montevideo │ │ │ │ ├── Montreal │ │ │ │ ├── Montserrat │ │ │ │ ├── Nassau │ │ │ │ ├── New_York │ │ │ │ ├── Nipigon │ │ │ │ ├── Nome │ │ │ │ ├── Noronha │ │ │ │ ├── North_Dakota/ │ │ │ │ │ ├── Beulah │ │ │ │ │ ├── Center │ │ │ │ │ └── New_Salem │ │ │ │ ├── Ojinaga │ │ │ │ ├── Panama │ │ │ │ ├── Pangnirtung │ │ │ │ ├── Paramaribo │ │ │ │ ├── Phoenix │ │ │ │ ├── Port-au-Prince │ │ │ │ ├── Port_of_Spain │ │ │ │ ├── Porto_Acre │ │ │ │ ├── Porto_Velho │ │ │ │ ├── Puerto_Rico │ │ │ │ ├── Punta_Arenas │ │ │ │ ├── Rainy_River │ │ │ │ ├── Rankin_Inlet │ │ │ │ ├── Recife │ │ │ │ ├── Regina │ │ │ │ ├── Resolute │ │ │ │ ├── Rio_Branco │ │ │ │ ├── Rosario │ │ │ │ ├── Santa_Isabel │ │ │ │ ├── Santarem │ │ │ │ ├── Santiago │ │ │ │ ├── Santo_Domingo │ │ │ │ ├── Sao_Paulo │ │ │ │ ├── Scoresbysund │ │ │ │ ├── Shiprock │ │ │ │ ├── Sitka │ │ │ │ ├── St_Barthelemy │ │ │ │ ├── St_Johns │ │ │ │ ├── St_Kitts │ │ │ │ ├── St_Lucia │ │ │ │ ├── St_Thomas │ │ │ │ ├── St_Vincent │ │ │ │ ├── Swift_Current │ │ │ │ ├── Tegucigalpa │ │ │ │ ├── Thule │ │ │ │ ├── Thunder_Bay │ │ │ │ ├── Tijuana │ │ │ │ ├── Toronto │ │ │ │ ├── Tortola │ │ │ │ ├── Vancouver │ │ │ │ ├── Virgin │ │ │ │ ├── Whitehorse │ │ │ │ ├── Winnipeg │ │ │ │ ├── Yakutat │ │ │ │ └── Yellowknife │ │ │ ├── Antarctica/ │ │ │ │ ├── Casey │ │ │ │ ├── Davis │ │ │ │ ├── DumontDUrville │ │ │ │ ├── Macquarie │ │ │ │ ├── Mawson │ │ │ │ ├── McMurdo │ │ │ │ ├── Palmer │ │ │ │ ├── Rothera │ │ │ │ ├── South_Pole │ │ │ │ ├── Syowa │ │ │ │ ├── Troll │ │ │ │ └── Vostok │ │ │ ├── Arctic/ │ │ │ │ └── Longyearbyen │ │ │ ├── Asia/ │ │ │ │ ├── Aden │ │ │ │ ├── Almaty │ │ │ │ ├── Amman │ │ │ │ ├── Anadyr │ │ │ │ ├── Aqtau │ │ │ │ ├── Aqtobe │ │ │ │ ├── Ashgabat │ │ │ │ ├── Ashkhabad │ │ │ │ ├── Atyrau │ │ │ │ ├── Baghdad │ │ │ │ ├── Bahrain │ │ │ │ ├── Baku │ │ │ │ ├── Bangkok │ │ │ │ ├── Barnaul │ │ │ │ ├── Beirut │ │ │ │ ├── Bishkek │ │ │ │ ├── Brunei │ │ │ │ ├── Calcutta │ │ │ │ ├── Chita │ │ │ │ ├── Choibalsan │ │ │ │ ├── Chongqing │ │ │ │ ├── Chungking │ │ │ │ ├── Colombo │ │ │ │ ├── Dacca │ │ │ │ ├── Damascus │ │ │ │ ├── Dhaka │ │ │ │ ├── Dili │ │ │ │ ├── Dubai │ │ │ │ ├── Dushanbe │ │ │ │ ├── Famagusta │ │ │ │ ├── Gaza │ │ │ │ ├── Harbin │ │ │ │ ├── Hebron │ │ │ │ ├── Ho_Chi_Minh │ │ │ │ ├── Hong_Kong │ │ │ │ ├── Hovd │ │ │ │ ├── Irkutsk │ │ │ │ ├── Istanbul │ │ │ │ ├── Jakarta │ │ │ │ ├── Jayapura │ │ │ │ ├── Jerusalem │ │ │ │ ├── Kabul │ │ │ │ ├── Kamchatka │ │ │ │ ├── Karachi │ │ │ │ ├── Kashgar │ │ │ │ ├── Kathmandu │ │ │ │ ├── Katmandu │ │ │ │ ├── Khandyga │ │ │ │ ├── Kolkata │ │ │ │ ├── Krasnoyarsk │ │ │ │ ├── Kuala_Lumpur │ │ │ │ ├── Kuching │ │ │ │ ├── Kuwait │ │ │ │ ├── Macao │ │ │ │ ├── Macau │ │ │ │ ├── Magadan │ │ │ │ ├── Makassar │ │ │ │ ├── Manila │ │ │ │ ├── Muscat │ │ │ │ ├── Nicosia │ │ │ │ ├── Novokuznetsk │ │ │ │ ├── Novosibirsk │ │ │ │ ├── Omsk │ │ │ │ ├── Oral │ │ │ │ ├── Phnom_Penh │ │ │ │ ├── Pontianak │ │ │ │ ├── Pyongyang │ │ │ │ ├── Qatar │ │ │ │ ├── Qyzylorda │ │ │ │ ├── Rangoon │ │ │ │ ├── Riyadh │ │ │ │ ├── Saigon │ │ │ │ ├── Sakhalin │ │ │ │ ├── Samarkand │ │ │ │ ├── Seoul │ │ │ │ ├── Shanghai │ │ │ │ ├── Singapore │ │ │ │ ├── Srednekolymsk │ │ │ │ ├── Taipei │ │ │ │ ├── Tashkent │ │ │ │ ├── Tbilisi │ │ │ │ ├── Tehran │ │ │ │ ├── Tel_Aviv │ │ │ │ ├── Thimbu │ │ │ │ ├── Thimphu │ │ │ │ ├── Tokyo │ │ │ │ ├── Tomsk │ │ │ │ ├── Ujung_Pandang │ │ │ │ ├── Ulaanbaatar │ │ │ │ ├── Ulan_Bator │ │ │ │ ├── Urumqi │ │ │ │ ├── Ust-Nera │ │ │ │ ├── Vientiane │ │ │ │ ├── Vladivostok │ │ │ │ ├── Yakutsk │ │ │ │ ├── Yangon │ │ │ │ ├── Yekaterinburg │ │ │ │ └── Yerevan │ │ │ ├── Atlantic/ │ │ │ │ ├── Azores │ │ │ │ ├── Bermuda │ │ │ │ ├── Canary │ │ │ │ ├── Cape_Verde │ │ │ │ ├── Faeroe │ │ │ │ ├── Faroe │ │ │ │ ├── Jan_Mayen │ │ │ │ ├── Madeira │ │ │ │ ├── Reykjavik │ │ │ │ ├── South_Georgia │ │ │ │ ├── St_Helena │ │ │ │ └── Stanley │ │ │ ├── Australia/ │ │ │ │ ├── ACT │ │ │ │ ├── Adelaide │ │ │ │ ├── Brisbane │ │ │ │ ├── Broken_Hill │ │ │ │ ├── Canberra │ │ │ │ ├── Currie │ │ │ │ ├── Darwin │ │ │ │ ├── Eucla │ │ │ │ ├── Hobart │ │ │ │ ├── LHI │ │ │ │ ├── Lindeman │ │ │ │ ├── Lord_Howe │ │ │ │ ├── Melbourne │ │ │ │ ├── NSW │ │ │ │ ├── North │ │ │ │ ├── Perth │ │ │ │ ├── Queensland │ │ │ │ ├── South │ │ │ │ ├── Sydney │ │ │ │ ├── Tasmania │ │ │ │ ├── Victoria │ │ │ │ ├── West │ │ │ │ └── Yancowinna │ │ │ ├── Brazil/ │ │ │ │ ├── Acre │ │ │ │ ├── DeNoronha │ │ │ │ ├── East │ │ │ │ └── West │ │ │ ├── CET │ │ │ ├── CST6CDT │ │ │ ├── Canada/ │ │ │ │ ├── Atlantic │ │ │ │ ├── Central │ │ │ │ ├── East-Saskatchewan │ │ │ │ ├── Eastern │ │ │ │ ├── Mountain │ │ │ │ ├── Newfoundland │ │ │ │ ├── Pacific │ │ │ │ ├── Saskatchewan │ │ │ │ └── Yukon │ │ │ ├── Chile/ │ │ │ │ ├── Continental │ │ │ │ └── EasterIsland │ │ │ ├── Cuba │ │ │ ├── EET │ │ │ ├── EST │ │ │ ├── EST5EDT │ │ │ ├── Egypt │ │ │ ├── Eire │ │ │ ├── Etc/ │ │ │ │ ├── GMT │ │ │ │ ├── GMT+0 │ │ │ │ ├── GMT+1 │ │ │ │ ├── GMT+10 │ │ │ │ ├── GMT+11 │ │ │ │ ├── GMT+12 │ │ │ │ ├── GMT+2 │ │ │ │ ├── GMT+3 │ │ │ │ ├── GMT+4 │ │ │ │ ├── GMT+5 │ │ │ │ ├── GMT+6 │ │ │ │ ├── GMT+7 │ │ │ │ ├── GMT+8 │ │ │ │ ├── GMT+9 │ │ │ │ ├── GMT-0 │ │ │ │ ├── GMT-1 │ │ │ │ ├── GMT-10 │ │ │ │ ├── GMT-11 │ │ │ │ ├── GMT-12 │ │ │ │ ├── GMT-13 │ │ │ │ ├── GMT-14 │ │ │ │ ├── GMT-2 │ │ │ │ ├── GMT-3 │ │ │ │ ├── GMT-4 │ │ │ │ ├── GMT-5 │ │ │ │ ├── GMT-6 │ │ │ │ ├── GMT-7 │ │ │ │ ├── GMT-8 │ │ │ │ ├── GMT-9 │ │ │ │ ├── GMT0 │ │ │ │ ├── Greenwich │ │ │ │ ├── UCT │ │ │ │ ├── UTC │ │ │ │ ├── Universal │ │ │ │ └── Zulu │ │ │ ├── Europe/ │ │ │ │ ├── Amsterdam │ │ │ │ ├── Andorra │ │ │ │ ├── Astrakhan │ │ │ │ ├── Athens │ │ │ │ ├── Belfast │ │ │ │ ├── Belgrade │ │ │ │ ├── Berlin │ │ │ │ ├── Bratislava │ │ │ │ ├── Brussels │ │ │ │ ├── Bucharest │ │ │ │ ├── Budapest │ │ │ │ ├── Busingen │ │ │ │ ├── Chisinau │ │ │ │ ├── Copenhagen │ │ │ │ ├── Dublin │ │ │ │ ├── Gibraltar │ │ │ │ ├── Guernsey │ │ │ │ ├── Helsinki │ │ │ │ ├── Isle_of_Man │ │ │ │ ├── Istanbul │ │ │ │ ├── Jersey │ │ │ │ ├── Kaliningrad │ │ │ │ ├── Kiev │ │ │ │ ├── Kirov │ │ │ │ ├── Lisbon │ │ │ │ ├── Ljubljana │ │ │ │ ├── London │ │ │ │ ├── Luxembourg │ │ │ │ ├── Madrid │ │ │ │ ├── Malta │ │ │ │ ├── Mariehamn │ │ │ │ ├── Minsk │ │ │ │ ├── Monaco │ │ │ │ ├── Moscow │ │ │ │ ├── Nicosia │ │ │ │ ├── Oslo │ │ │ │ ├── Paris │ │ │ │ ├── Podgorica │ │ │ │ ├── Prague │ │ │ │ ├── Riga │ │ │ │ ├── Rome │ │ │ │ ├── Samara │ │ │ │ ├── San_Marino │ │ │ │ ├── Sarajevo │ │ │ │ ├── Saratov │ │ │ │ ├── Simferopol │ │ │ │ ├── Skopje │ │ │ │ ├── Sofia │ │ │ │ ├── Stockholm │ │ │ │ ├── Tallinn │ │ │ │ ├── Tirane │ │ │ │ ├── Tiraspol │ │ │ │ ├── Ulyanovsk │ │ │ │ ├── Uzhgorod │ │ │ │ ├── Vaduz │ │ │ │ ├── Vatican │ │ │ │ ├── Vienna │ │ │ │ ├── Vilnius │ │ │ │ ├── Volgograd │ │ │ │ ├── Warsaw │ │ │ │ ├── Zagreb │ │ │ │ ├── Zaporozhye │ │ │ │ └── Zurich │ │ │ ├── Factory │ │ │ ├── GB │ │ │ ├── GB-Eire │ │ │ ├── GMT │ │ │ ├── GMT+0 │ │ │ ├── GMT-0 │ │ │ ├── GMT0 │ │ │ ├── Greenwich │ │ │ ├── HST │ │ │ ├── Hongkong │ │ │ ├── Iceland │ │ │ ├── Indian/ │ │ │ │ ├── Antananarivo │ │ │ │ ├── Chagos │ │ │ │ ├── Christmas │ │ │ │ ├── Cocos │ │ │ │ ├── Comoro │ │ │ │ ├── Kerguelen │ │ │ │ ├── Mahe │ │ │ │ ├── Maldives │ │ │ │ ├── Mauritius │ │ │ │ ├── Mayotte │ │ │ │ └── Reunion │ │ │ ├── Iran │ │ │ ├── Israel │ │ │ ├── Jamaica │ │ │ ├── Japan │ │ │ ├── Kwajalein │ │ │ ├── Libya │ │ │ ├── MET │ │ │ ├── MST │ │ │ ├── MST7MDT │ │ │ ├── Mexico/ │ │ │ │ ├── BajaNorte │ │ │ │ ├── BajaSur │ │ │ │ └── General │ │ │ ├── NZ │ │ │ ├── NZ-CHAT │ │ │ ├── Navajo │ │ │ ├── PRC │ │ │ ├── PST8PDT │ │ │ ├── Pacific/ │ │ │ │ ├── Apia │ │ │ │ ├── Auckland │ │ │ │ ├── Bougainville │ │ │ │ ├── Chatham │ │ │ │ ├── Chuuk │ │ │ │ ├── Easter │ │ │ │ ├── Efate │ │ │ │ ├── Enderbury │ │ │ │ ├── Fakaofo │ │ │ │ ├── Fiji │ │ │ │ ├── Funafuti │ │ │ │ ├── Galapagos │ │ │ │ ├── Gambier │ │ │ │ ├── Guadalcanal │ │ │ │ ├── Guam │ │ │ │ ├── Honolulu │ │ │ │ ├── Johnston │ │ │ │ ├── Kiritimati │ │ │ │ ├── Kosrae │ │ │ │ ├── Kwajalein │ │ │ │ ├── Majuro │ │ │ │ ├── Marquesas │ │ │ │ ├── Midway │ │ │ │ ├── Nauru │ │ │ │ ├── Niue │ │ │ │ ├── Norfolk │ │ │ │ ├── Noumea │ │ │ │ ├── Pago_Pago │ │ │ │ ├── Palau │ │ │ │ ├── Pitcairn │ │ │ │ ├── Pohnpei │ │ │ │ ├── Ponape │ │ │ │ ├── Port_Moresby │ │ │ │ ├── Rarotonga │ │ │ │ ├── Saipan │ │ │ │ ├── Samoa │ │ │ │ ├── Tahiti │ │ │ │ ├── Tarawa │ │ │ │ ├── Tongatapu │ │ │ │ ├── Truk │ │ │ │ ├── Wake │ │ │ │ ├── Wallis │ │ │ │ └── Yap │ │ │ ├── Poland │ │ │ ├── Portugal │ │ │ ├── ROC │ │ │ ├── ROK │ │ │ ├── Singapore │ │ │ ├── Turkey │ │ │ ├── UCT │ │ │ ├── US/ │ │ │ │ ├── Alaska │ │ │ │ ├── Aleutian │ │ │ │ ├── Arizona │ │ │ │ ├── Central │ │ │ │ ├── East-Indiana │ │ │ │ ├── Eastern │ │ │ │ ├── Hawaii │ │ │ │ ├── Indiana-Starke │ │ │ │ ├── Michigan │ │ │ │ ├── Mountain │ │ │ │ ├── Pacific │ │ │ │ ├── Pacific-New │ │ │ │ └── Samoa │ │ │ ├── UTC │ │ │ ├── Universal │ │ │ ├── W-SU │ │ │ ├── WET │ │ │ └── Zulu │ │ ├── prelude_js/ │ │ │ ├── goroutines.go │ │ │ ├── jsmapping.go │ │ │ ├── numeric.go │ │ │ ├── prelude.go │ │ │ └── types.go │ │ ├── prelude_lua/ │ │ │ ├── Makefile │ │ │ └── prelude.go │ │ ├── prelude_static.go │ │ ├── ptr_test.go │ │ ├── recov.go.test.txt │ │ ├── redef_test.go │ │ ├── reflect_test.go │ │ ├── repl_cfg.go │ │ ├── repl_liner.go │ │ ├── repl_luajit.go │ │ ├── repl_test.go │ │ ├── repl_util.go │ │ ├── roar/ │ │ │ └── vprint.go │ │ ├── rtyp.go │ │ ├── select_test.go │ │ ├── shadow/ │ │ │ ├── bytes/ │ │ │ │ └── bytes.genimp.go │ │ │ ├── encoding/ │ │ │ │ ├── binary/ │ │ │ │ │ └── binary.genimp.go │ │ │ │ └── encoding.genimp.go │ │ │ ├── errors/ │ │ │ │ └── errors.genimp.go │ │ │ ├── fmt/ │ │ │ │ └── fmt.genimp.go │ │ │ ├── gonum.org/ │ │ │ │ └── v1/ │ │ │ │ └── gonum/ │ │ │ │ ├── blas/ │ │ │ │ │ └── blas.genimp.go │ │ │ │ ├── diff/ │ │ │ │ │ └── fd/ │ │ │ │ │ └── fd.genimp.go │ │ │ │ ├── floats/ │ │ │ │ │ └── floats.genimp.go │ │ │ │ ├── graph/ │ │ │ │ │ └── graph.genimp.go │ │ │ │ ├── integrate/ │ │ │ │ │ └── integrate.genimp.go │ │ │ │ ├── lapack/ │ │ │ │ │ └── lapack.genimp.go │ │ │ │ ├── mat/ │ │ │ │ │ └── mat.genimp.go │ │ │ │ ├── optimize/ │ │ │ │ │ └── optimize.genimp.go │ │ │ │ ├── stat/ │ │ │ │ │ └── stat.genimp.go │ │ │ │ └── unit/ │ │ │ │ └── unit.genimp.go │ │ │ ├── io/ │ │ │ │ ├── io.genimp.go │ │ │ │ └── ioutil/ │ │ │ │ └── ioutil.genimp.go │ │ │ ├── math/ │ │ │ │ ├── math.genimp.go │ │ │ │ └── rand/ │ │ │ │ └── rand.genimp.go │ │ │ ├── os/ │ │ │ │ └── os.genimp.go │ │ │ ├── reflect/ │ │ │ │ └── reflect.genimp.go │ │ │ ├── regexp/ │ │ │ │ └── regexp.genimp.go │ │ │ ├── runtime/ │ │ │ │ ├── debug/ │ │ │ │ │ └── debug.genimp.go │ │ │ │ └── runtime.genimp.go │ │ │ ├── strconv/ │ │ │ │ └── strconv.genimp.go │ │ │ ├── strings/ │ │ │ │ └── strings.genimp.go │ │ │ ├── sync/ │ │ │ │ ├── atomic/ │ │ │ │ │ └── atomic.genimp.go │ │ │ │ └── sync.genimp.go │ │ │ └── time/ │ │ │ └── time.genimp.go │ │ ├── slc_test.go │ │ ├── source.go │ │ ├── spkg_tst/ │ │ │ └── spkg.go │ │ ├── spkg_tst2/ │ │ │ └── vprint.go │ │ ├── spkg_tst3/ │ │ │ └── errors.go │ │ ├── spkg_tst4/ │ │ │ └── rbuf.go │ │ ├── spkg_tst5/ │ │ │ ├── api.go │ │ │ └── panicon.go │ │ ├── statements.go │ │ ├── struct_test.go │ │ ├── time_test.go │ │ ├── translate.go │ │ ├── typesutil/ │ │ │ └── typesutil.go │ │ ├── utf8_test.go │ │ ├── utils.go │ │ ├── version.go │ │ ├── version_check.go │ │ └── view_test.go │ ├── constant/ │ │ ├── value.go │ │ └── value_test.go │ ├── doc/ │ │ ├── Makefile │ │ ├── comment.go │ │ ├── comment_test.go │ │ ├── doc.go │ │ ├── doc_test.go │ │ ├── example.go │ │ ├── example_test.go │ │ ├── exports.go │ │ ├── filter.go │ │ ├── headscan.go │ │ ├── reader.go │ │ ├── synopsis.go │ │ ├── synopsis_test.go │ │ └── testdata/ │ │ ├── a.0.golden │ │ ├── a.1.golden │ │ ├── a.2.golden │ │ ├── a0.go │ │ ├── a1.go │ │ ├── b.0.golden │ │ ├── b.1.golden │ │ ├── b.2.golden │ │ ├── b.go │ │ ├── benchmark.go │ │ ├── blank.0.golden │ │ ├── blank.1.golden │ │ ├── blank.2.golden │ │ ├── blank.go │ │ ├── bugpara.0.golden │ │ ├── bugpara.1.golden │ │ ├── bugpara.2.golden │ │ ├── bugpara.go │ │ ├── c.0.golden │ │ ├── c.1.golden │ │ ├── c.2.golden │ │ ├── c.go │ │ ├── d.0.golden │ │ ├── d.1.golden │ │ ├── d.2.golden │ │ ├── d1.go │ │ ├── d2.go │ │ ├── e.0.golden │ │ ├── e.1.golden │ │ ├── e.2.golden │ │ ├── e.go │ │ ├── error1.0.golden │ │ ├── error1.1.golden │ │ ├── error1.2.golden │ │ ├── error1.go │ │ ├── error2.0.golden │ │ ├── error2.1.golden │ │ ├── error2.2.golden │ │ ├── error2.go │ │ ├── example.go │ │ ├── f.0.golden │ │ ├── f.1.golden │ │ ├── f.2.golden │ │ ├── f.go │ │ ├── issue13742.0.golden │ │ ├── issue13742.1.golden │ │ ├── issue13742.2.golden │ │ ├── issue13742.go │ │ ├── issue16153.0.golden │ │ ├── issue16153.1.golden │ │ ├── issue16153.2.golden │ │ ├── issue16153.go │ │ ├── issue17788.0.golden │ │ ├── issue17788.1.golden │ │ ├── issue17788.2.golden │ │ ├── issue17788.go │ │ ├── issue18063.0.golden │ │ ├── issue18063.1.golden │ │ ├── issue18063.2.golden │ │ ├── issue18063.go │ │ ├── predeclared.0.golden │ │ ├── predeclared.1.golden │ │ ├── predeclared.2.golden │ │ ├── predeclared.go │ │ ├── template.txt │ │ ├── testing.0.golden │ │ ├── testing.1.golden │ │ ├── testing.2.golden │ │ └── testing.go │ ├── format/ │ │ ├── format.go │ │ ├── format_test.go │ │ └── internal.go │ ├── front/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── dumper.go │ │ ├── error.go │ │ ├── front.go │ │ ├── front_test.go │ │ ├── nodes.go │ │ ├── panicon.go │ │ ├── parser.go │ │ ├── pos.go │ │ ├── printer.go │ │ ├── scanner.go │ │ ├── source.go │ │ ├── syntax.go │ │ ├── tokens.go │ │ ├── vprint.go │ │ └── xpos.go │ ├── gostd/ │ │ ├── build/ │ │ │ ├── build.go │ │ │ ├── build_test.go │ │ │ ├── deps_test.go │ │ │ ├── doc.go │ │ │ ├── read.go │ │ │ ├── read_test.go │ │ │ ├── syslist.go │ │ │ ├── syslist_test.go │ │ │ └── testdata/ │ │ │ ├── empty/ │ │ │ │ └── dummy │ │ │ ├── multi/ │ │ │ │ ├── file.go │ │ │ │ └── file_appengine.go │ │ │ └── other/ │ │ │ ├── file/ │ │ │ │ └── file.go │ │ │ └── main.go │ │ └── parser/ │ │ ├── interface.go │ │ └── parser.go │ ├── importer/ │ │ ├── importer.go │ │ └── importer_test.go │ ├── luaapi/ │ │ └── luaapi.go │ ├── muse/ │ │ ├── muse.go │ │ ├── muse_test.go │ │ ├── panicon.go │ │ └── util.go │ ├── nosync/ │ │ ├── map.go │ │ ├── mutex.go │ │ ├── once.go │ │ └── pool.go │ ├── parser/ │ │ ├── error_test.go │ │ ├── example_test.go │ │ ├── interface.go │ │ ├── parser.go │ │ ├── parser_test.go │ │ ├── performance_test.go │ │ ├── short_test.go │ │ └── testdata/ │ │ ├── commas.src │ │ └── issue3106.src │ ├── printer/ │ │ ├── example_test.go │ │ ├── nodes.go │ │ ├── performance_test.go │ │ ├── printer.go │ │ ├── printer_test.go │ │ └── testdata/ │ │ ├── comments.golden │ │ ├── comments.input │ │ ├── comments.x │ │ ├── comments2.golden │ │ ├── comments2.input │ │ ├── declarations.golden │ │ ├── declarations.input │ │ ├── empty.golden │ │ ├── empty.input │ │ ├── expressions.golden │ │ ├── expressions.input │ │ ├── expressions.raw │ │ ├── linebreaks.golden │ │ ├── linebreaks.input │ │ ├── parser.go │ │ ├── slow.golden │ │ ├── slow.input │ │ ├── statements.golden │ │ └── statements.input │ ├── priv/ │ │ ├── gccgoimporter/ │ │ │ ├── gccgoinstallation.go │ │ │ ├── gccgoinstallation_test.go │ │ │ ├── importer.go │ │ │ ├── importer_test.go │ │ │ ├── parser.go │ │ │ ├── parser_test.go │ │ │ └── testdata/ │ │ │ ├── alias.gox │ │ │ ├── complexnums.go │ │ │ ├── complexnums.gox │ │ │ ├── conversions.go │ │ │ ├── conversions.gox │ │ │ ├── imports.go │ │ │ ├── imports.gox │ │ │ ├── pointer.go │ │ │ ├── pointer.gox │ │ │ ├── time.gox │ │ │ └── unicode.gox │ │ ├── gcimporter/ │ │ │ ├── bimport.go │ │ │ ├── exportdata.go │ │ │ ├── gcimporter.go │ │ │ ├── gcimporter_test.go │ │ │ └── testdata/ │ │ │ ├── a.go │ │ │ ├── b.go │ │ │ ├── exports.go │ │ │ ├── issue15920.go │ │ │ ├── issue20046.go │ │ │ ├── p.go │ │ │ └── versions/ │ │ │ ├── test.go │ │ │ ├── test_go1.7_0.a │ │ │ ├── test_go1.7_1.a │ │ │ ├── test_go1.8_4.a │ │ │ └── test_go1.8_5.a │ │ ├── srcimporter/ │ │ │ ├── srcimporter.go │ │ │ ├── srcimporter_test.go │ │ │ └── testdata/ │ │ │ └── issue20855/ │ │ │ └── issue20855.go │ │ └── testenv/ │ │ ├── testenv.go │ │ ├── testenv_cgo.go │ │ ├── testenv_notwin.go │ │ └── testenv_windows.go │ ├── scanner/ │ │ ├── errors.go │ │ ├── example_test.go │ │ ├── scanner.go │ │ └── scanner_test.go │ ├── token/ │ │ ├── position.go │ │ ├── position_test.go │ │ ├── serialize.go │ │ ├── serialize_test.go │ │ └── token.go │ ├── types/ │ │ ├── api.go │ │ ├── api_test.go │ │ ├── assignments.go │ │ ├── builtins.go │ │ ├── builtins_test.go │ │ ├── call.go │ │ ├── check.go │ │ ├── check_test.go │ │ ├── conversions.go │ │ ├── decl.go │ │ ├── errors.go │ │ ├── eval.go │ │ ├── eval_test.go │ │ ├── example_test.go │ │ ├── expr.go │ │ ├── exprstring.go │ │ ├── exprstring_test.go │ │ ├── gotype.go │ │ ├── hilbert_test.go │ │ ├── initorder.go │ │ ├── issues_test.go │ │ ├── labels.go │ │ ├── lookup.go │ │ ├── methodset.go │ │ ├── object.go │ │ ├── object_test.go │ │ ├── objset.go │ │ ├── operand.go │ │ ├── ordering.go │ │ ├── package.go │ │ ├── predicates.go │ │ ├── resolver.go │ │ ├── resolver_test.go │ │ ├── return.go │ │ ├── scope.go │ │ ├── selection.go │ │ ├── self_test.go │ │ ├── sizes.go │ │ ├── sizes_test.go │ │ ├── stdlib_test.go │ │ ├── stmt.go │ │ ├── testdata/ │ │ │ ├── blank.src │ │ │ ├── builtins.src │ │ │ ├── const0.src │ │ │ ├── const1.src │ │ │ ├── constdecl.src │ │ │ ├── conversions.src │ │ │ ├── conversions2.src │ │ │ ├── cycles.src │ │ │ ├── cycles1.src │ │ │ ├── cycles2.src │ │ │ ├── cycles3.src │ │ │ ├── cycles4.src │ │ │ ├── decls0.src │ │ │ ├── decls1.src │ │ │ ├── decls2a.src │ │ │ ├── decls2b.src │ │ │ ├── decls3.src │ │ │ ├── decls4.src │ │ │ ├── decls5.src │ │ │ ├── errors.src │ │ │ ├── expr0.src │ │ │ ├── expr1.src │ │ │ ├── expr2.src │ │ │ ├── expr3.src │ │ │ ├── gotos.src │ │ │ ├── importC.src │ │ │ ├── importdecl0a.src │ │ │ ├── importdecl0b.src │ │ │ ├── importdecl1a.src │ │ │ ├── importdecl1b.src │ │ │ ├── init0.src │ │ │ ├── init1.src │ │ │ ├── init2.src │ │ │ ├── issues.src │ │ │ ├── labels.src │ │ │ ├── methodsets.src │ │ │ ├── shifts.src │ │ │ ├── stmt0.src │ │ │ ├── stmt1.src │ │ │ └── vardecl.src │ │ ├── token_test.go │ │ ├── type.go │ │ ├── typestring.go │ │ ├── typestring_test.go │ │ ├── typexpr.go │ │ └── universe.go │ ├── utf8/ │ │ ├── utf8.go │ │ └── utf8.lua │ └── verb/ │ └── vprint.go ├── posix.sh ├── vendor/ │ ├── github.com/ │ │ ├── LuaJIT/ │ │ │ └── LuaJIT/ │ │ │ ├── .gitignore │ │ │ ├── COPYRIGHT │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── doc/ │ │ │ │ ├── bluequad-print.css │ │ │ │ ├── bluequad.css │ │ │ │ ├── changes.html │ │ │ │ ├── contact.html │ │ │ │ ├── ext_c_api.html │ │ │ │ ├── ext_ffi.html │ │ │ │ ├── ext_ffi_api.html │ │ │ │ ├── ext_ffi_semantics.html │ │ │ │ ├── ext_ffi_tutorial.html │ │ │ │ ├── ext_jit.html │ │ │ │ ├── ext_profiler.html │ │ │ │ ├── extensions.html │ │ │ │ ├── faq.html │ │ │ │ ├── install.html │ │ │ │ ├── luajit.html │ │ │ │ ├── running.html │ │ │ │ └── status.html │ │ │ ├── dot.git/ │ │ │ │ ├── COMMIT_EDITMSG │ │ │ │ ├── FETCH_HEAD │ │ │ │ ├── HEAD │ │ │ │ ├── ORIG_HEAD │ │ │ │ ├── config │ │ │ │ ├── description │ │ │ │ ├── hooks/ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ ├── post-update.sample │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ └── update.sample │ │ │ │ ├── index │ │ │ │ ├── info/ │ │ │ │ │ └── exclude │ │ │ │ ├── logs/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ ├── gijit-on-v21 │ │ │ │ │ │ ├── master │ │ │ │ │ │ └── v2.1 │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── master │ │ │ │ │ ├── v2.0 │ │ │ │ │ └── v2.1 │ │ │ │ ├── objects/ │ │ │ │ │ ├── 03/ │ │ │ │ │ │ └── cd5aa749c1bc3bb4b7d4289236b6096cb3dc85 │ │ │ │ │ ├── 04/ │ │ │ │ │ │ └── 6129dbdda5261c1b17469a2895a113d14c070a │ │ │ │ │ ├── 08/ │ │ │ │ │ │ └── f386500b43aa84a9bcd66cad8e7b86e9aa630c │ │ │ │ │ ├── 0a/ │ │ │ │ │ │ └── 3f8e52757773619f8839f2c38d74aa8cd6fe95 │ │ │ │ │ ├── 0b/ │ │ │ │ │ │ └── f46e1edf94c43795b5e491efe682ab70974ce7 │ │ │ │ │ ├── 0e/ │ │ │ │ │ │ └── 18dc5feefc1aac29dd55cda5fb6e0beca24abe │ │ │ │ │ ├── 13/ │ │ │ │ │ │ └── a1ded7ce8b6a7858ee2ecd6dca972935cd9063 │ │ │ │ │ ├── 16/ │ │ │ │ │ │ └── 2163a2474668cd784b7073c5df3b638fa75b4a │ │ │ │ │ ├── 19/ │ │ │ │ │ │ ├── 9cfc9a43024e0759cf0ef574d9d6641182d10b │ │ │ │ │ │ └── f632ffea8bc5eb9461afc98131ecc73675dff5 │ │ │ │ │ ├── 1c/ │ │ │ │ │ │ ├── 050eba2fa7571d772f756a1af506a31d2c4ce2 │ │ │ │ │ │ └── 5ce010c6f94e370ef7f0b67362f75e61712c50 │ │ │ │ │ ├── 1d/ │ │ │ │ │ │ └── 404ccdb7cb90989f021ad514b6b8c1c9988093 │ │ │ │ │ ├── 26/ │ │ │ │ │ │ └── 9ab05d5459262ae0cbb095e7a218548621d9b7 │ │ │ │ │ ├── 27/ │ │ │ │ │ │ └── c8e02729cbe27382f68aeaca89331906b0351e │ │ │ │ │ ├── 29/ │ │ │ │ │ │ └── 86e78adc707df585ad7aabb97b1a759c3ddf87 │ │ │ │ │ ├── 2b/ │ │ │ │ │ │ └── 6571b2f1a55514da439060812421d286ef6c0f │ │ │ │ │ ├── 2e/ │ │ │ │ │ │ └── 97dc133d0c48ca7e5181c681a0283a24df264c │ │ │ │ │ ├── 37/ │ │ │ │ │ │ └── cf072c3c91a671f1ca3bedff1ff3394cdd59cb │ │ │ │ │ ├── 3a/ │ │ │ │ │ │ └── 3ec2475361f4ec50378a914e7e0d8f53ea9106 │ │ │ │ │ ├── 3b/ │ │ │ │ │ │ └── 0a5dd7cd7c24abfe5c2876dd2d0c10baf2a589 │ │ │ │ │ ├── 42/ │ │ │ │ │ │ └── a27a546b55f87f281a64d6f20e28adbf25fcc1 │ │ │ │ │ ├── 43/ │ │ │ │ │ │ └── 0d9f8f7ebb779948dbd43944b876b1a3f58551 │ │ │ │ │ ├── 46/ │ │ │ │ │ │ ├── 60dbfa8a4f9eea5218b739075d04faadfeeef6 │ │ │ │ │ │ └── af03492461745f185d3018fdc7393a6b4b2ee0 │ │ │ │ │ ├── 4b/ │ │ │ │ │ │ └── b825149a1bb4f130eea1e477b41642b20a44c0 │ │ │ │ │ ├── 4d/ │ │ │ │ │ │ └── 920c94f519fcb50965fd158dcb9b7dc4799b97 │ │ │ │ │ ├── 4e/ │ │ │ │ │ │ └── fe395edd023d6df512d975b03502dfdbde3d04 │ │ │ │ │ ├── 52/ │ │ │ │ │ │ └── b765e8b0894ff6d8f67f08b20cfb000a0b14c0 │ │ │ │ │ ├── 58/ │ │ │ │ │ │ └── d0dde0a2df49abc991decbabff15230010829a │ │ │ │ │ ├── 5a/ │ │ │ │ │ │ └── 7f38d6e678834409b4df237104a3200240c8ae │ │ │ │ │ ├── 5e/ │ │ │ │ │ │ └── 96ce2da5161ebd49fb564fe5aa73805b3391b7 │ │ │ │ │ ├── 5f/ │ │ │ │ │ │ └── 83779e143e922b565a8f9a85b40496e65306ca │ │ │ │ │ ├── 64/ │ │ │ │ │ │ └── f082031376f8ceb98c5406f2e20e57e08387b8 │ │ │ │ │ ├── 66/ │ │ │ │ │ │ └── c1614828d0041baece3ab2002763f2a2fd83b3 │ │ │ │ │ ├── 67/ │ │ │ │ │ │ ├── 3301374959c5ce16b7ebb8ab44b135c8187094 │ │ │ │ │ │ └── 854951f6c91e6c16fff5493628a5b2943ed364 │ │ │ │ │ ├── 69/ │ │ │ │ │ │ └── 27c67e7cf3446dc1e18fb4846ae5e852e165cd │ │ │ │ │ ├── 6b/ │ │ │ │ │ │ └── b6b6af97ecb575711a329121bdf7c4697241ad │ │ │ │ │ ├── 71/ │ │ │ │ │ │ └── a835b20abb024b9dfcc0df07e61e72aac0f07f │ │ │ │ │ ├── 72/ │ │ │ │ │ │ └── da76a1626f578076422dea9e5d80462a6b83f3 │ │ │ │ │ ├── 74/ │ │ │ │ │ │ └── c544d68c07bcd416225598cdf15f88e62fd457 │ │ │ │ │ ├── 75/ │ │ │ │ │ │ └── 29b04961112bd1fb91816bd8413d27c9066bab │ │ │ │ │ ├── 7a/ │ │ │ │ │ │ ├── 647a3e3b7edb09d4178e3b60ae4c75a282d901 │ │ │ │ │ │ └── e6387f7cef3aa60dbbfef68c5f8add5b68413b │ │ │ │ │ ├── 7b/ │ │ │ │ │ │ └── a4d6aa73003054366077e645c6ae542e2821b6 │ │ │ │ │ ├── 80/ │ │ │ │ │ │ ├── 71aa4ad65cf09e3b7adda4a7787d8897e5314c │ │ │ │ │ │ └── aaaeee99d7f7b06c9e75ed3a457c49d86fc4db │ │ │ │ │ ├── 81/ │ │ │ │ │ │ └── b9a76bc9f3c92bf21cdc398b979e1ef5b66fd0 │ │ │ │ │ ├── 82/ │ │ │ │ │ │ └── fc8245dbb66fb1d5edd3cfa50499cb9fd00b44 │ │ │ │ │ ├── 83/ │ │ │ │ │ │ ├── 483d952d4d3b7e56be6a820816f399f0e3bb00 │ │ │ │ │ │ └── fc030aad7ea3f1072a76c59cd016b01070a596 │ │ │ │ │ ├── 86/ │ │ │ │ │ │ ├── 134eff715d84f388e7e01ab96387520970fd42 │ │ │ │ │ │ └── b03242d883aad9f816c3f73c3bcd07c10312fd │ │ │ │ │ ├── 88/ │ │ │ │ │ │ └── 50d2414fc18a6741e04294fa0096d20f7cd512 │ │ │ │ │ ├── 89/ │ │ │ │ │ │ └── c679d1f7b02bb2b7e0a3a7aa459516dac4e0d5 │ │ │ │ │ ├── 8a/ │ │ │ │ │ │ └── e911df185c7b484e088289a0a4f61da835a333 │ │ │ │ │ ├── 96/ │ │ │ │ │ │ └── e40391834535cdf3bd8ff2624a42bb5b1de462 │ │ │ │ │ ├── 99/ │ │ │ │ │ │ ├── 2dcf59bf8e28f9fd8d036db9f7640f59a4b111 │ │ │ │ │ │ └── a984bef4bb91e2c75813c95d7e39b893ecdc3d │ │ │ │ │ ├── 9d/ │ │ │ │ │ │ └── 4b4d64d61e938ce4c516be343ea50a2cbf9333 │ │ │ │ │ ├── 9e/ │ │ │ │ │ │ ├── aad8574f5b2271b981cd31966b1e832cd8de12 │ │ │ │ │ │ └── de59c14c9303030855a24d601a5ef16245be58 │ │ │ │ │ ├── a6/ │ │ │ │ │ │ └── b5713002ec27664a5574c92353cafc661dc05d │ │ │ │ │ ├── a7/ │ │ │ │ │ │ └── 3267db7dcabdd4de45c0cf846860f6c5b81bc0 │ │ │ │ │ ├── ab/ │ │ │ │ │ │ └── f176e5c93f6ad1a3fd59dda16b604b3d13ebe1 │ │ │ │ │ ├── ad/ │ │ │ │ │ │ └── b3d4df9392bc2ffa97985b2ab508d4b1b87673 │ │ │ │ │ ├── b0/ │ │ │ │ │ │ └── 3a56f28ec360bbcf43091afd0607890a4a33c7 │ │ │ │ │ ├── b2/ │ │ │ │ │ │ └── c4acca7d0515dd78db13acea7d5e1010f2377b │ │ │ │ │ ├── b6/ │ │ │ │ │ │ └── 78b1f023d3e687a9d537294f378169d6f13f8f │ │ │ │ │ ├── c1/ │ │ │ │ │ │ ├── 6363e7fa36d7911ac0ef200ef259349ce0190e │ │ │ │ │ │ ├── d267a5cb922bcdc1a7bf509e3cb8e568a609cd │ │ │ │ │ │ └── e595c974f6531e053b4daecf2875c8cdb24467 │ │ │ │ │ ├── c3/ │ │ │ │ │ │ └── 4596cacf720d9916a34e1b129d24049bbb9a6d │ │ │ │ │ ├── c5/ │ │ │ │ │ │ └── 1666d3dbc310d22064c23644603befcb6c6b04 │ │ │ │ │ ├── c6/ │ │ │ │ │ │ └── d3a9987ff63b9fb7982bc0c7e3212fdc7e39cd │ │ │ │ │ ├── c8/ │ │ │ │ │ │ ├── 8602f080dcafea6ba222a2f7cc1ea0e41ef3cc │ │ │ │ │ │ └── efafadb368fa2821a4de72d58a2ffd31d92cfd │ │ │ │ │ ├── cd/ │ │ │ │ │ │ └── 8db1f5da7f2bfbecc4092f2646665128dad227 │ │ │ │ │ ├── d4/ │ │ │ │ │ │ └── ee80342770d1281e2ce877f8ae8ab1d99e6528 │ │ │ │ │ ├── d7/ │ │ │ │ │ │ └── 67a4216f340f860d74ec113be36bf1d6c13537 │ │ │ │ │ ├── dc/ │ │ │ │ │ │ └── 14d8837ea84f414da8221a82b54dc31e266e87 │ │ │ │ │ ├── dd/ │ │ │ │ │ │ └── 7186f6de2810d68084d87ca751afafc4508780 │ │ │ │ │ ├── e1/ │ │ │ │ │ │ └── 80bc5a5b92a3eba053b9484ffb97c308da949a │ │ │ │ │ ├── e8/ │ │ │ │ │ │ └── ca6face0a82f440512ad01067c17390fdf5ae8 │ │ │ │ │ ├── ea/ │ │ │ │ │ │ ├── 0fdf1266209d0822b3d51b7e3b7dadaf2de4fe │ │ │ │ │ │ └── 1ddd7cbf4f116afe17a7e4f9d505de078511e0 │ │ │ │ │ ├── ef/ │ │ │ │ │ │ └── e5dca859f80a947fa02ee43eaa3981e6b64394 │ │ │ │ │ ├── f1/ │ │ │ │ │ │ └── 11537dcf6596d01e7f98cffd35e75191b643eb │ │ │ │ │ ├── f2/ │ │ │ │ │ │ └── f3c0b0c02f8319d06036673c7f5331a2d15630 │ │ │ │ │ ├── f3/ │ │ │ │ │ │ └── f50d962082d70e728f30c219051bf2a7d76300 │ │ │ │ │ ├── fc/ │ │ │ │ │ │ └── ebd84b282b08838f5ed4785bdcd764e65c513a │ │ │ │ │ ├── fd/ │ │ │ │ │ │ └── def924097f28c46a0a5b45483a6086b33cab81 │ │ │ │ │ ├── fe/ │ │ │ │ │ │ └── 651bf6e2b4d02b624be3c289378c08bab2fa9b │ │ │ │ │ └── pack/ │ │ │ │ │ ├── pack-bd606bfbd2e3fef67196a99e946ff2be1145b8b3.idx │ │ │ │ │ └── pack-bd606bfbd2e3fef67196a99e946ff2be1145b8b3.pack │ │ │ │ ├── packed-refs │ │ │ │ └── refs/ │ │ │ │ ├── heads/ │ │ │ │ │ ├── gijit-on-v21 │ │ │ │ │ ├── master │ │ │ │ │ └── v2.1 │ │ │ │ └── remotes/ │ │ │ │ └── origin/ │ │ │ │ ├── HEAD │ │ │ │ ├── master │ │ │ │ ├── v2.0 │ │ │ │ └── v2.1 │ │ │ ├── dynasm/ │ │ │ │ ├── dasm_arm.h │ │ │ │ ├── dasm_arm.lua │ │ │ │ ├── dasm_arm64.h │ │ │ │ ├── dasm_arm64.lua │ │ │ │ ├── dasm_mips.h │ │ │ │ ├── dasm_mips.lua │ │ │ │ ├── dasm_mips64.lua │ │ │ │ ├── dasm_ppc.h │ │ │ │ ├── dasm_ppc.lua │ │ │ │ ├── dasm_proto.h │ │ │ │ ├── dasm_x64.lua │ │ │ │ ├── dasm_x86.h │ │ │ │ ├── dasm_x86.lua │ │ │ │ └── dynasm.lua │ │ │ ├── etc/ │ │ │ │ ├── luajit.1 │ │ │ │ └── luajit.pc │ │ │ ├── src/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── Makefile.dep │ │ │ │ ├── host/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README │ │ │ │ │ ├── buildvm.c │ │ │ │ │ ├── buildvm.h │ │ │ │ │ ├── buildvm_asm.c │ │ │ │ │ ├── buildvm_fold.c │ │ │ │ │ ├── buildvm_lib.c │ │ │ │ │ ├── buildvm_libbc.h │ │ │ │ │ ├── buildvm_peobj.c │ │ │ │ │ ├── genlibbc.lua │ │ │ │ │ ├── genminilua.lua │ │ │ │ │ └── minilua.c │ │ │ │ ├── jit/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── bc.lua │ │ │ │ │ ├── bcsave.lua │ │ │ │ │ ├── dis_arm.lua │ │ │ │ │ ├── dis_arm64.lua │ │ │ │ │ ├── dis_arm64be.lua │ │ │ │ │ ├── dis_mips.lua │ │ │ │ │ ├── dis_mips64.lua │ │ │ │ │ ├── dis_mips64el.lua │ │ │ │ │ ├── dis_mipsel.lua │ │ │ │ │ ├── dis_ppc.lua │ │ │ │ │ ├── dis_x64.lua │ │ │ │ │ ├── dis_x86.lua │ │ │ │ │ ├── dump.lua │ │ │ │ │ ├── p.lua │ │ │ │ │ ├── v.lua │ │ │ │ │ └── zone.lua │ │ │ │ ├── lauxlib.h │ │ │ │ ├── lib_aux.c │ │ │ │ ├── lib_base.c │ │ │ │ ├── lib_bit.c │ │ │ │ ├── lib_debug.c │ │ │ │ ├── lib_ffi.c │ │ │ │ ├── lib_init.c │ │ │ │ ├── lib_io.c │ │ │ │ ├── lib_jit.c │ │ │ │ ├── lib_math.c │ │ │ │ ├── lib_os.c │ │ │ │ ├── lib_package.c │ │ │ │ ├── lib_string.c │ │ │ │ ├── lib_table.c │ │ │ │ ├── lj.supp │ │ │ │ ├── lj_alloc.c │ │ │ │ ├── lj_alloc.h │ │ │ │ ├── lj_api.c │ │ │ │ ├── lj_arch.h │ │ │ │ ├── lj_asm.c │ │ │ │ ├── lj_asm.h │ │ │ │ ├── lj_asm_arm.h │ │ │ │ ├── lj_asm_arm64.h │ │ │ │ ├── lj_asm_mips.h │ │ │ │ ├── lj_asm_ppc.h │ │ │ │ ├── lj_asm_x86.h │ │ │ │ ├── lj_bc.c │ │ │ │ ├── lj_bc.h │ │ │ │ ├── lj_bcdump.h │ │ │ │ ├── lj_bcread.c │ │ │ │ ├── lj_bcwrite.c │ │ │ │ ├── lj_buf.c │ │ │ │ ├── lj_buf.h │ │ │ │ ├── lj_carith.c │ │ │ │ ├── lj_carith.h │ │ │ │ ├── lj_ccall.c │ │ │ │ ├── lj_ccall.h │ │ │ │ ├── lj_ccallback.c │ │ │ │ ├── lj_ccallback.h │ │ │ │ ├── lj_cconv.c │ │ │ │ ├── lj_cconv.h │ │ │ │ ├── lj_cdata.c │ │ │ │ ├── lj_cdata.h │ │ │ │ ├── lj_char.c │ │ │ │ ├── lj_char.h │ │ │ │ ├── lj_clib.c │ │ │ │ ├── lj_clib.h │ │ │ │ ├── lj_cparse.c │ │ │ │ ├── lj_cparse.h │ │ │ │ ├── lj_crecord.c │ │ │ │ ├── lj_crecord.h │ │ │ │ ├── lj_ctype.c │ │ │ │ ├── lj_ctype.h │ │ │ │ ├── lj_debug.c │ │ │ │ ├── lj_debug.h │ │ │ │ ├── lj_def.h │ │ │ │ ├── lj_dispatch.c │ │ │ │ ├── lj_dispatch.h │ │ │ │ ├── lj_emit_arm.h │ │ │ │ ├── lj_emit_arm64.h │ │ │ │ ├── lj_emit_mips.h │ │ │ │ ├── lj_emit_ppc.h │ │ │ │ ├── lj_emit_x86.h │ │ │ │ ├── lj_err.c │ │ │ │ ├── lj_err.h │ │ │ │ ├── lj_errmsg.h │ │ │ │ ├── lj_ff.h │ │ │ │ ├── lj_ffrecord.c │ │ │ │ ├── lj_ffrecord.h │ │ │ │ ├── lj_frame.h │ │ │ │ ├── lj_func.c │ │ │ │ ├── lj_func.h │ │ │ │ ├── lj_gc.c │ │ │ │ ├── lj_gc.h │ │ │ │ ├── lj_gdbjit.c │ │ │ │ ├── lj_gdbjit.h │ │ │ │ ├── lj_ir.c │ │ │ │ ├── lj_ir.h │ │ │ │ ├── lj_ircall.h │ │ │ │ ├── lj_iropt.h │ │ │ │ ├── lj_jit.h │ │ │ │ ├── lj_lex.c │ │ │ │ ├── lj_lex.h │ │ │ │ ├── lj_lib.c │ │ │ │ ├── lj_lib.h │ │ │ │ ├── lj_load.c │ │ │ │ ├── lj_mcode.c │ │ │ │ ├── lj_mcode.h │ │ │ │ ├── lj_meta.c │ │ │ │ ├── lj_meta.h │ │ │ │ ├── lj_obj.c │ │ │ │ ├── lj_obj.h │ │ │ │ ├── lj_opt_dce.c │ │ │ │ ├── lj_opt_fold.c │ │ │ │ ├── lj_opt_loop.c │ │ │ │ ├── lj_opt_mem.c │ │ │ │ ├── lj_opt_narrow.c │ │ │ │ ├── lj_opt_sink.c │ │ │ │ ├── lj_opt_split.c │ │ │ │ ├── lj_parse.c │ │ │ │ ├── lj_parse.h │ │ │ │ ├── lj_profile.c │ │ │ │ ├── lj_profile.h │ │ │ │ ├── lj_record.c │ │ │ │ ├── lj_record.h │ │ │ │ ├── lj_snap.c │ │ │ │ ├── lj_snap.h │ │ │ │ ├── lj_state.c │ │ │ │ ├── lj_state.h │ │ │ │ ├── lj_str.c │ │ │ │ ├── lj_str.h │ │ │ │ ├── lj_strfmt.c │ │ │ │ ├── lj_strfmt.h │ │ │ │ ├── lj_strfmt_num.c │ │ │ │ ├── lj_strscan.c │ │ │ │ ├── lj_strscan.h │ │ │ │ ├── lj_tab.c │ │ │ │ ├── lj_tab.h │ │ │ │ ├── lj_target.h │ │ │ │ ├── lj_target_arm.h │ │ │ │ ├── lj_target_arm64.h │ │ │ │ ├── lj_target_mips.h │ │ │ │ ├── lj_target_ppc.h │ │ │ │ ├── lj_target_x86.h │ │ │ │ ├── lj_trace.c │ │ │ │ ├── lj_trace.h │ │ │ │ ├── lj_traceerr.h │ │ │ │ ├── lj_udata.c │ │ │ │ ├── lj_udata.h │ │ │ │ ├── lj_vm.h │ │ │ │ ├── lj_vmevent.c │ │ │ │ ├── lj_vmevent.h │ │ │ │ ├── lj_vmmath.c │ │ │ │ ├── ljamalg.c │ │ │ │ ├── lua.h │ │ │ │ ├── lua.hpp │ │ │ │ ├── luaconf.h │ │ │ │ ├── luajit-ffi-ctypeid.c │ │ │ │ ├── luajit-ffi-ctypeid.h │ │ │ │ ├── luajit.c │ │ │ │ ├── luajit.h │ │ │ │ ├── lualib.h │ │ │ │ ├── msvcbuild.bat │ │ │ │ ├── ps4build.bat │ │ │ │ ├── psvitabuild.bat │ │ │ │ ├── vm_arm.dasc │ │ │ │ ├── vm_arm64.dasc │ │ │ │ ├── vm_mips.dasc │ │ │ │ ├── vm_mips64.dasc │ │ │ │ ├── vm_ppc.dasc │ │ │ │ ├── vm_x64.dasc │ │ │ │ ├── vm_x86.dasc │ │ │ │ ├── xb1build.bat │ │ │ │ └── xedkbuild.bat │ │ │ └── version │ │ ├── fsnotify/ │ │ │ └── fsnotify/ │ │ │ ├── AUTHORS │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── fen.go │ │ │ ├── fsnotify.go │ │ │ ├── inotify.go │ │ │ ├── inotify_poller.go │ │ │ ├── kqueue.go │ │ │ ├── open_mode_bsd.go │ │ │ ├── open_mode_darwin.go │ │ │ └── windows.go │ │ ├── glycerine/ │ │ │ ├── golua/ │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── TODO │ │ │ │ ├── VERSION │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── COMMIT_EDITMSG │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── pre-receive.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ ├── aa/ │ │ │ │ │ │ │ ├── afitz-dev │ │ │ │ │ │ │ ├── lua5.2 │ │ │ │ │ │ │ ├── lua5.3 │ │ │ │ │ │ │ ├── master │ │ │ │ │ │ │ ├── tests │ │ │ │ │ │ │ └── travis │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── master │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 01/ │ │ │ │ │ │ │ └── fa282bb80be5907505d44b4692d3fa40fad140 │ │ │ │ │ │ ├── 02/ │ │ │ │ │ │ │ └── a0eafa332a08a26b292f8ed86b1f54c1e4e4ad │ │ │ │ │ │ ├── 03/ │ │ │ │ │ │ │ └── 494a7a9e6835419f87a702531658ca06ca9dab │ │ │ │ │ │ ├── 04/ │ │ │ │ │ │ │ ├── 45b2b1dac256186903c543b5c889e165f095dd │ │ │ │ │ │ │ ├── 50f1f684b5677be353bd3e9b37c507ba8c1246 │ │ │ │ │ │ │ ├── c6d06ddffa760d4f4f3814ec99d337cfb83ad1 │ │ │ │ │ │ │ └── cb5a350703de538a3773f2f9a741b5369915c2 │ │ │ │ │ │ ├── 05/ │ │ │ │ │ │ │ ├── 0fb4dd24a4860e4173002183e2c0eec15cb389 │ │ │ │ │ │ │ └── d24d5aa87caa32a2c51ad08a3f7c606189ebc1 │ │ │ │ │ │ ├── 06/ │ │ │ │ │ │ │ ├── 0a9f89750b376e11ee52b1d501b427fef57744 │ │ │ │ │ │ │ └── fdfda4f3f8586c0270c97f5ed5cc9d78361b16 │ │ │ │ │ │ ├── 07/ │ │ │ │ │ │ │ └── e9002dc5a3e19a8afad2b0e3fe209a59e7eeb0 │ │ │ │ │ │ ├── 08/ │ │ │ │ │ │ │ ├── 39668c748561034ee80de78fbac38d064e3fe6 │ │ │ │ │ │ │ └── f7cfa6ac5ea35565bdcd0874906073cf82ad6d │ │ │ │ │ │ ├── 0a/ │ │ │ │ │ │ │ └── 0b66c909acb5f7e4833b289e854b2085d3c09c │ │ │ │ │ │ ├── 0b/ │ │ │ │ │ │ │ └── d4d8429b65a5ecaa5068b4e227e86341f870a4 │ │ │ │ │ │ ├── 0c/ │ │ │ │ │ │ │ ├── 220a8886684bdc1f2428972d794850260c8731 │ │ │ │ │ │ │ ├── c23e82a73df504283684cbcf00cb7872f37b8e │ │ │ │ │ │ │ └── ccfd78cd786256eb2633d3e419f616b808c910 │ │ │ │ │ │ ├── 0d/ │ │ │ │ │ │ │ ├── 263db79fdd78626360b93f1025d1169627b637 │ │ │ │ │ │ │ └── fe7f9807550301a227540061e46840ac5e40c5 │ │ │ │ │ │ ├── 0e/ │ │ │ │ │ │ │ └── a89c7486a2539e05fb1a0231a9141bc44b20c2 │ │ │ │ │ │ ├── 0f/ │ │ │ │ │ │ │ └── 9330893fdea4de73d0da82c49aa336f4e556d5 │ │ │ │ │ │ ├── 11/ │ │ │ │ │ │ │ ├── 1705358e4b86cbfdbd80100543eacc38a5e9f6 │ │ │ │ │ │ │ ├── 6998e1e8f1f9b8137635cd122fda412e76d255 │ │ │ │ │ │ │ └── f23efe44deef5cab432d9475c4efca056ed614 │ │ │ │ │ │ ├── 13/ │ │ │ │ │ │ │ ├── 63c4f327247d33cf254ea05a42880ec301492e │ │ │ │ │ │ │ ├── 6e98e8963ef198f2d8a4cd08b325794570feaf │ │ │ │ │ │ │ └── b8230dc83eec3f20b9b2479e5676350fff20ce │ │ │ │ │ │ ├── 18/ │ │ │ │ │ │ │ └── 49afe585e21985b2743921f5c6b1297f492f18 │ │ │ │ │ │ ├── 19/ │ │ │ │ │ │ │ ├── 3cf01f939df93a211dd4f5e7496c3f49c899af │ │ │ │ │ │ │ └── 55429f0b81dcbd9fb3852c87eea8991e228579 │ │ │ │ │ │ ├── 1a/ │ │ │ │ │ │ │ ├── 07bf75bf2cab9cf872a6d87ec350611dfab446 │ │ │ │ │ │ │ ├── 2b1c5d5bf430e196670e24401f7d9ed6854836 │ │ │ │ │ │ │ ├── 30573c9ffb71e56587852fa3feeb873a8fee87 │ │ │ │ │ │ │ └── fd61187a75e47ab52b3eadd29582b4c06817ae │ │ │ │ │ │ ├── 1c/ │ │ │ │ │ │ │ ├── a243011fbd9e6801f83888b19ef1736c9fe113 │ │ │ │ │ │ │ └── c7eed782f0d1d1e98332c51dc2687d2e96091a │ │ │ │ │ │ ├── 20/ │ │ │ │ │ │ │ └── 90f7e8a9b431f277cb01a14ed5cc4ef2383269 │ │ │ │ │ │ ├── 21/ │ │ │ │ │ │ │ ├── 1ae7b922ad4cb0d12ef9d09f012b6b5c25b3ec │ │ │ │ │ │ │ ├── 7f7c8904f2d2a83abc006e4b73d3730e7d409b │ │ │ │ │ │ │ ├── 8abd260f4c89d4d124a7450e9313dab6a54988 │ │ │ │ │ │ │ ├── ac8ad05acda8303321ca5571dfee02f52ed57e │ │ │ │ │ │ │ └── c3c2ace704e5169fe713f6448af2ffaee39a44 │ │ │ │ │ │ ├── 22/ │ │ │ │ │ │ │ ├── ca0a1a249173e149ed2eb34ccb20ff0dac0ce1 │ │ │ │ │ │ │ └── cae741f3f818426eec4186af102b68786c389c │ │ │ │ │ │ ├── 23/ │ │ │ │ │ │ │ └── 51a96df15bbd40ff7451865b77d8d860fceb12 │ │ │ │ │ │ ├── 24/ │ │ │ │ │ │ │ ├── 0ec878daf8eb4656ea6922eec7568fea2c3004 │ │ │ │ │ │ │ ├── 17f3242aaaa7ee9b09807ecb1978866089c8c9 │ │ │ │ │ │ │ └── 3c1a5e22a9e1ff93690d0891ceb6a1a4bb8be2 │ │ │ │ │ │ ├── 25/ │ │ │ │ │ │ │ ├── 53d97e7f0734dbc28e01e9056baf1ddfc60ee0 │ │ │ │ │ │ │ └── e938cb7e190f2609bce7d7bbcac5d4bd5856f6 │ │ │ │ │ │ ├── 26/ │ │ │ │ │ │ │ ├── 4dedc16e9c4e8b806b4051efc603e8ec546f67 │ │ │ │ │ │ │ └── 8ac104f5834c65427aaf190b2105b2261f5270 │ │ │ │ │ │ ├── 28/ │ │ │ │ │ │ │ └── 19481b6de0a66255348e9577dcb54f41e82c5d │ │ │ │ │ │ ├── 29/ │ │ │ │ │ │ │ ├── 56fdb6cd04681e3dc53ef12292aa32d35fe764 │ │ │ │ │ │ │ └── a953dc872800ea86c7c5907406d9c671796bd9 │ │ │ │ │ │ ├── 2a/ │ │ │ │ │ │ │ ├── af5b2c4f735e16f47461574e8f50965899e008 │ │ │ │ │ │ │ └── eb1b29244c99a3964c394ede8e6d6696813c13 │ │ │ │ │ │ ├── 2b/ │ │ │ │ │ │ │ ├── 1470af505f0b29ac28c33b56ed02bab698b968 │ │ │ │ │ │ │ ├── 1cb5ef292ae8115f489f90221987a79a704969 │ │ │ │ │ │ │ ├── 4c530a3ee4926abd93bbbba599d822562a447b │ │ │ │ │ │ │ ├── 9ae9d2231602713c536af69b899359d8cbb905 │ │ │ │ │ │ │ └── ea652bf81740c129029fcdcdad85e143fcd9f7 │ │ │ │ │ │ ├── 2c/ │ │ │ │ │ │ │ ├── 930743ddf9f506743980766b9c9226c6ec5147 │ │ │ │ │ │ │ └── 9ae3d643a7015480b2123a988fafc961460bda │ │ │ │ │ │ ├── 2d/ │ │ │ │ │ │ │ └── 2f8194cfd5ab28eb70816cbb5d617ae6ce15b8 │ │ │ │ │ │ ├── 2e/ │ │ │ │ │ │ │ ├── b2bb7bb334fe2d95d17f05ef601aed7b65ab6a │ │ │ │ │ │ │ └── d370e96786a78db7c08c890464cca7d13a9799 │ │ │ │ │ │ ├── 31/ │ │ │ │ │ │ │ └── d65a00dba0239a03eaf7b959533db75b632171 │ │ │ │ │ │ ├── 32/ │ │ │ │ │ │ │ └── f595afff235e28e5b4e6d3ca64f275aadc7bd1 │ │ │ │ │ │ ├── 33/ │ │ │ │ │ │ │ └── fa8657262781270312f672145d645d0f6e0932 │ │ │ │ │ │ ├── 34/ │ │ │ │ │ │ │ └── 7ed3aad733953ffc04501f39386d9b7811ce9d │ │ │ │ │ │ ├── 35/ │ │ │ │ │ │ │ └── 6f792459bfdaf696a844fc909aa6f7cb781342 │ │ │ │ │ │ ├── 36/ │ │ │ │ │ │ │ └── 50066440a431d6aebdf8831690e6f56a28b6e5 │ │ │ │ │ │ ├── 37/ │ │ │ │ │ │ │ ├── bfa40f2faf58f74310de70bf154fc253044ab8 │ │ │ │ │ │ │ └── ec9d78007dc269c0e10f6c66c6b7c2d84b50e7 │ │ │ │ │ │ ├── 39/ │ │ │ │ │ │ │ └── 91dc65353d1a82e3bf084d9febb8bb8f773410 │ │ │ │ │ │ ├── 3a/ │ │ │ │ │ │ │ ├── 4679b8553099d39d0e73232e337c7d55b535b4 │ │ │ │ │ │ │ ├── 757870aa34d05980894479ee75a9a3994f3f1f │ │ │ │ │ │ │ ├── 7ee9b0e9a8af26800c689eec21c983d6f517bb │ │ │ │ │ │ │ └── f3eb9208c22e5ce467cfc40ead18589ba3596f │ │ │ │ │ │ ├── 3b/ │ │ │ │ │ │ │ └── 407450d5824b892c75116d6288cfa156b05b1e │ │ │ │ │ │ ├── 3d/ │ │ │ │ │ │ │ └── 42f826b0ef77488a8db17861a17aaa7efc6d56 │ │ │ │ │ │ ├── 41/ │ │ │ │ │ │ │ └── 42082bcb939bbc17985a69ba748491ac6b62a5 │ │ │ │ │ │ ├── 42/ │ │ │ │ │ │ │ └── 9cbac0b0d7679820f191b8b86e2f6e9c13232a │ │ │ │ │ │ ├── 43/ │ │ │ │ │ │ │ ├── 595b31dbbb52bb038c97598f46ee6d2f5f9234 │ │ │ │ │ │ │ └── 71233d2b47accba02fb5e4e8c4df63f549eb5c │ │ │ │ │ │ ├── 44/ │ │ │ │ │ │ │ └── fa379f2c70245274df63d081ba37a29ebff946 │ │ │ │ │ │ ├── 47/ │ │ │ │ │ │ │ ├── c0cfd34af5938e824e6aa00311b444b0fc80f9 │ │ │ │ │ │ │ └── e1e074939ae75c4f1c50635b1d1d29f89acf13 │ │ │ │ │ │ ├── 48/ │ │ │ │ │ │ │ ├── 3221dfd0efe560e707ba8b0b73012c7927b5d4 │ │ │ │ │ │ │ └── c5e7c7f5a0bfe2f552bfb26fd6246274895b99 │ │ │ │ │ │ ├── 49/ │ │ │ │ │ │ │ └── 8b267a8c7812490d6479839c5577eaaec79d62 │ │ │ │ │ │ ├── 4b/ │ │ │ │ │ │ │ └── 49fd8c7c62ec86a00d0cd9340b1ca27206bde4 │ │ │ │ │ │ ├── 4c/ │ │ │ │ │ │ │ └── 031e2cd67e42451cdd6918ee151fae66dc817c │ │ │ │ │ │ ├── 4f/ │ │ │ │ │ │ │ └── 17e40141684572859ec1ed7d1c34f7c938a7dd │ │ │ │ │ │ ├── 50/ │ │ │ │ │ │ │ ├── 0e2855af97fc6f4d96b74ab5a1c481c10aba5a │ │ │ │ │ │ │ └── feff014d046b29e61e73e3344e90d377290186 │ │ │ │ │ │ ├── 52/ │ │ │ │ │ │ │ └── 0023ae218c19a6f96f392d9f08dda349d7eeed │ │ │ │ │ │ ├── 55/ │ │ │ │ │ │ │ ├── 51b1f1cef9b63d290d66c5811e8873bb66ac01 │ │ │ │ │ │ │ └── 8f78fa0c5e97f5c6fac9bf93a4b8c22076f5c8 │ │ │ │ │ │ ├── 56/ │ │ │ │ │ │ │ └── 36b23a6ec5bebd03c8d7cb79a8cbd04ea2edf7 │ │ │ │ │ │ ├── 59/ │ │ │ │ │ │ │ ├── 17c00bc6fe43331eeb47e3ec7ae884bcdad0e6 │ │ │ │ │ │ │ ├── 62f3afb02992bd65deaefc9dbb4c3ce7e3de7e │ │ │ │ │ │ │ └── d9e2b2dd7869cdd025968aec17d84d8da7ffcc │ │ │ │ │ │ ├── 5b/ │ │ │ │ │ │ │ ├── 139bd3f43e3fde83f8a786a637b50bd5ab836b │ │ │ │ │ │ │ ├── aece67e63e875746cc823eabc3259ec92bc3da │ │ │ │ │ │ │ ├── b0f5dca24ef3dee3152fe5bf070c0a92f180de │ │ │ │ │ │ │ └── da51a21376137c178984ae25891f44b29a7297 │ │ │ │ │ │ ├── 5d/ │ │ │ │ │ │ │ └── 6795f88e338fdb9e8f3298673f7c3309d7989b │ │ │ │ │ │ ├── 5e/ │ │ │ │ │ │ │ ├── 05caeaf5d880950fa736354266ea29233aaa56 │ │ │ │ │ │ │ ├── 1daaf54b7670f322d61951503d0289ec0e2d04 │ │ │ │ │ │ │ └── c21a7979af14d09170af2f669b4654c01665a2 │ │ │ │ │ │ ├── 61/ │ │ │ │ │ │ │ ├── 4265903ac96b6c04c44c78f22931d55946d16e │ │ │ │ │ │ │ └── 87dbf4390fc6e28445dd3d988aefb9d1111988 │ │ │ │ │ │ ├── 62/ │ │ │ │ │ │ │ └── e1c165909bd2656630258189e5c6d07233cfbb │ │ │ │ │ │ ├── 63/ │ │ │ │ │ │ │ ├── 2dd07e5f9c28d9a37b616a02cc853528fc93b1 │ │ │ │ │ │ │ └── 9dad87684e16f88fd0b7e93c5465a030165e97 │ │ │ │ │ │ ├── 65/ │ │ │ │ │ │ │ └── 10eb04bbc372344faf2881a63c9fe6a223741e │ │ │ │ │ │ ├── 66/ │ │ │ │ │ │ │ ├── 6b0abca8139c68f8f20103430323f03c1a2be6 │ │ │ │ │ │ │ └── 9bbe9240385262008970447f0cee6c37b5552f │ │ │ │ │ │ ├── 67/ │ │ │ │ │ │ │ └── d976bf0c009fc7ce8861267e22b30fb5b1978b │ │ │ │ │ │ ├── 68/ │ │ │ │ │ │ │ ├── d62d5446d963dc69006ad9a83907c6690f92c1 │ │ │ │ │ │ │ └── e16d76fc9a59088b20b79bb8792fb3751c992e │ │ │ │ │ │ ├── 69/ │ │ │ │ │ │ │ └── a45f281e9081edf48c066aba42b4a84559e3f9 │ │ │ │ │ │ ├── 6b/ │ │ │ │ │ │ │ └── 4d04095955fb6c6dc4f95c79e490fa72cd1ddf │ │ │ │ │ │ ├── 6d/ │ │ │ │ │ │ │ └── a4c7d4b4ee67ec095a60ca06754b91b0263ea1 │ │ │ │ │ │ ├── 6e/ │ │ │ │ │ │ │ ├── 1d9017e624bce59f7ac81f46c35951206b826b │ │ │ │ │ │ │ ├── d40025ae076fa48318e747d74b15991613b137 │ │ │ │ │ │ │ ├── fa48c7f2d3b2f6daa8e8d157ca398d18a038ba │ │ │ │ │ │ │ └── fe28fff834a94fbc20cac51fe9cd65ecc78d43 │ │ │ │ │ │ ├── 6f/ │ │ │ │ │ │ │ ├── 5a05cce5169e8d9ccd912369304c4c9608a609 │ │ │ │ │ │ │ ├── ac43ec3ea6acf987cbd999abfc567d134c493e │ │ │ │ │ │ │ └── b0dda08cd3a3e6d40ff7e4b6420b1f67fa7139 │ │ │ │ │ │ ├── 70/ │ │ │ │ │ │ │ └── 8a5a11fdb0eacca397df32eb0bf6f349c5244d │ │ │ │ │ │ ├── 71/ │ │ │ │ │ │ │ ├── b8c03339e3f6043cfc247799e125845bf6fc90 │ │ │ │ │ │ │ ├── bde7598dc4dbd7324b735718d10bf781251567 │ │ │ │ │ │ │ └── e34945e8aa1f7a5a5e7f3b1ce98af22ee149a2 │ │ │ │ │ │ ├── 73/ │ │ │ │ │ │ │ └── b45724735194ccf6f5cbb24aa9d2e0b159370e │ │ │ │ │ │ ├── 74/ │ │ │ │ │ │ │ └── 0687b355d020a21229806a9d0d13c4c40255fa │ │ │ │ │ │ ├── 75/ │ │ │ │ │ │ │ ├── 38d6533f5a28f6ae84bae94ace999ae92eb8ab │ │ │ │ │ │ │ └── 3fe6bd1ded96d9929132c7dbd6ea3cce2aabc6 │ │ │ │ │ │ ├── 76/ │ │ │ │ │ │ │ ├── 2ac2a0c6e67d5dd75702a5473beeb978f03ef0 │ │ │ │ │ │ │ └── b0730aca34b813466526ece19a5cb4575e3fb2 │ │ │ │ │ │ ├── 78/ │ │ │ │ │ │ │ ├── 0cc16e6dedac3588f497541ff0c1b77711c157 │ │ │ │ │ │ │ └── a4e34a09032946ef0136e67ae540c4a823f452 │ │ │ │ │ │ ├── 79/ │ │ │ │ │ │ │ ├── 150286cfc3d29cb1d6c65858c2f36af0708a23 │ │ │ │ │ │ │ └── ac3ccea1ef2e6b1204ba5c1a5581c6ea0e9d40 │ │ │ │ │ │ ├── 7b/ │ │ │ │ │ │ │ └── e105863d3bdacb778ee804abd07417b8dec4f7 │ │ │ │ │ │ ├── 7e/ │ │ │ │ │ │ │ ├── 491d16b6379e49f0dee27ebf662f6d552d4a60 │ │ │ │ │ │ │ └── b389e2fa597224c9b66b5029de41705c725ad4 │ │ │ │ │ │ ├── 80/ │ │ │ │ │ │ │ ├── 50fbb7b6c9486016a0d34aa56c72f58cce0111 │ │ │ │ │ │ │ ├── 57a7508c2447487d89d564dd7fdba6566bddcd │ │ │ │ │ │ │ └── ba94135cc378364af9d3cb2450df48e51faf2c │ │ │ │ │ │ ├── 83/ │ │ │ │ │ │ │ └── cfd1128b399d2be977a28e82e4ef24515dca14 │ │ │ │ │ │ ├── 84/ │ │ │ │ │ │ │ ├── 7e84a555778ad59c4ec6156c5b0f2a5c20a79d │ │ │ │ │ │ │ └── 9d7a27772502a0c0c4d29a79c6a6c0d6650ee4 │ │ │ │ │ │ ├── 85/ │ │ │ │ │ │ │ ├── 0bd796ca1d33c28983fe819b7210b040fd15c4 │ │ │ │ │ │ │ └── c1e405bd7d66746ad2fa23d38aaa83f335dc3d │ │ │ │ │ │ ├── 86/ │ │ │ │ │ │ │ └── 640804bed70feb397d7e6c2e9848cd87d7b3be │ │ │ │ │ │ ├── 8a/ │ │ │ │ │ │ │ └── 5f735d7c315e4c2bc577e69787dbc2ed1af589 │ │ │ │ │ │ ├── 8d/ │ │ │ │ │ │ │ └── cae957f0efa9e8c5f3d6918c4dbe554861fba4 │ │ │ │ │ │ ├── 90/ │ │ │ │ │ │ │ ├── 1751b98139cf32b8d25a4d6144ce5197206d7e │ │ │ │ │ │ │ └── 3ecb09d80136eabd914ab8fa2fc739d3120f69 │ │ │ │ │ │ ├── 91/ │ │ │ │ │ │ │ ├── 8d15c126e2f173ee7cacdc016b395d9b1e0e93 │ │ │ │ │ │ │ ├── 994320d25268cb6a1468940c2aa02d8c524470 │ │ │ │ │ │ │ └── af2e1d43d075ce95ecba27e68643973709625a │ │ │ │ │ │ ├── 92/ │ │ │ │ │ │ │ ├── 6086feafd6503f88b88f84f18ad96a94343058 │ │ │ │ │ │ │ └── 71f68a117cc04e2d99ee1c6dd55f950a348327 │ │ │ │ │ │ ├── 93/ │ │ │ │ │ │ │ ├── 4de9859c730656ec28f7e66ae96f9aaa80aa08 │ │ │ │ │ │ │ └── d374d2494c6ba8432cc5570f0592852c249422 │ │ │ │ │ │ ├── 95/ │ │ │ │ │ │ │ └── 9dc289c7c696b0a1b8b7c4a08d75e424a14b21 │ │ │ │ │ │ ├── 97/ │ │ │ │ │ │ │ ├── 63ed466fe451d0abed8fc1688cb3ef697fe99f │ │ │ │ │ │ │ └── 73ed4cb298f6883adcd1269de5c9f97fc6d8fe │ │ │ │ │ │ ├── 98/ │ │ │ │ │ │ │ └── 73b47e356a6b9bcccfd553b96ba2ca184c80d5 │ │ │ │ │ │ ├── 9a/ │ │ │ │ │ │ │ └── 31d9a10a6e5b8f7d07980695c47deeb55f3fd6 │ │ │ │ │ │ ├── 9b/ │ │ │ │ │ │ │ └── 3883b7450e2b64d25ceb186399f82f74584c40 │ │ │ │ │ │ ├── 9c/ │ │ │ │ │ │ │ └── 73dc594efc1f47309d6c9b73d7719c3a9e04df │ │ │ │ │ │ ├── 9e/ │ │ │ │ │ │ │ └── 78d49ac3c68612927f735fd016c263b127fd07 │ │ │ │ │ │ ├── 9f/ │ │ │ │ │ │ │ └── c761c75fd45218c5af4f80fa1e48120e41cb8d │ │ │ │ │ │ ├── a0/ │ │ │ │ │ │ │ └── 03fb4f6bf5c9d0d25695e3695e466d476d4625 │ │ │ │ │ │ ├── a1/ │ │ │ │ │ │ │ ├── 2b8e62f3b532cf3e0a462ed69af9b5a1a3e044 │ │ │ │ │ │ │ └── 6d112fdc6e257c16083f1873ff1410e4cad082 │ │ │ │ │ │ ├── a3/ │ │ │ │ │ │ │ └── 315e54a486449667e91e733d4443d47eecfbef │ │ │ │ │ │ ├── a4/ │ │ │ │ │ │ │ ├── 051694445bb3f16e43eafbd1fb0f7e174d1314 │ │ │ │ │ │ │ ├── 3f7c6645c8f3203272240459889ea26a3a3d5e │ │ │ │ │ │ │ └── 4f0272b3ab0745b0ce798d377b40d2cce113cd │ │ │ │ │ │ ├── a5/ │ │ │ │ │ │ │ ├── 196d1be8fb59edf8062bef36d3a602e0812139 │ │ │ │ │ │ │ ├── 97692cab4afe338046677532fb33d03a6bce3e │ │ │ │ │ │ │ ├── 9ba3f46351a7d20b2315bb6acc4c322468ca71 │ │ │ │ │ │ │ └── d7b84a673458d14d9aab082183a1968c2c7492 │ │ │ │ │ │ ├── a6/ │ │ │ │ │ │ │ ├── 6a8d95049ee8ccfcd69733e0b24f41c76ab25f │ │ │ │ │ │ │ └── d8785c630db47b0f0805598e9e023b039ac547 │ │ │ │ │ │ ├── a7/ │ │ │ │ │ │ │ ├── 173326acb77e341bf6b9e2f8d214f899e07f03 │ │ │ │ │ │ │ ├── 8cd25144602376d6b5575dee52c15b64217ca6 │ │ │ │ │ │ │ └── 8f1746e8f4086443b827e498f869903bc48963 │ │ │ │ │ │ ├── a8/ │ │ │ │ │ │ │ └── cdad386307149e9da8c3c1d2dfe22afd19b938 │ │ │ │ │ │ ├── ab/ │ │ │ │ │ │ │ └── fcdaa76e98a1ad4ae6f063323c87db5ce8424c │ │ │ │ │ │ ├── ad/ │ │ │ │ │ │ │ └── 462c63e517c0dd48be4ed2944b517ce814ee5d │ │ │ │ │ │ ├── af/ │ │ │ │ │ │ │ └── 54dc7f11f1428d4570b8f880ca6b088efb7d14 │ │ │ │ │ │ ├── b2/ │ │ │ │ │ │ │ ├── 31d3e811e33a033155f8e2607098cc9d8d3b6b │ │ │ │ │ │ │ └── 600bd5905e5e2ab4f8708c9f8440b94d03e03f │ │ │ │ │ │ ├── b3/ │ │ │ │ │ │ │ └── 6fb8e369dffd0f141b51f2043deff57feefd98 │ │ │ │ │ │ ├── b4/ │ │ │ │ │ │ │ └── 0964da6a6d9e56241a1bdad79e880a36d210cf │ │ │ │ │ │ ├── b5/ │ │ │ │ │ │ │ └── 8d1184a9d43a39c0d95f32453efc78581877d6 │ │ │ │ │ │ ├── b6/ │ │ │ │ │ │ │ └── be357e79182bf821d06b838133bed81b3b86f7 │ │ │ │ │ │ ├── b8/ │ │ │ │ │ │ │ └── 638de6a08d8c55412faa55a4f45512692e3e64 │ │ │ │ │ │ ├── b9/ │ │ │ │ │ │ │ └── 0428dc48f5e82a33eaaa96c642291546877d73 │ │ │ │ │ │ ├── ba/ │ │ │ │ │ │ │ └── d1060bbc9b312f7a3cd74c58d6029c651ceeb1 │ │ │ │ │ │ ├── bb/ │ │ │ │ │ │ │ ├── 2e8603df1c87bb543e7e902f02f752531cc552 │ │ │ │ │ │ │ ├── 6593aeaeb532e446cccd95c7b07b8f26a333a3 │ │ │ │ │ │ │ └── aa1568c4474fec79b905d94c013653a8847492 │ │ │ │ │ │ ├── bd/ │ │ │ │ │ │ │ └── 0321b834bc29c556e66867e61a3c411c96b184 │ │ │ │ │ │ ├── be/ │ │ │ │ │ │ │ ├── 2c4bf2d51d8a99641012f02eb6bb56c7de220e │ │ │ │ │ │ │ └── 9e75cfc0bb436cae7c19a278ff19f08d8ac361 │ │ │ │ │ │ ├── bf/ │ │ │ │ │ │ │ └── c130a1a89153ea1444ed1d83208380d0a32848 │ │ │ │ │ │ ├── c1/ │ │ │ │ │ │ │ └── 65def47551f9093aa64b82cbaa26e5d5cb4649 │ │ │ │ │ │ ├── c2/ │ │ │ │ │ │ │ ├── 19ffac0a897f2551c8f7786aa5d07ba83fe43f │ │ │ │ │ │ │ ├── d29d9492203524fcda6c6dadcabe40ce186624 │ │ │ │ │ │ │ └── dd776991fe3ade39a9c464e566a4132ca558e5 │ │ │ │ │ │ ├── c3/ │ │ │ │ │ │ │ ├── a95afb9403909b44a3180b975342a1c4798088 │ │ │ │ │ │ │ └── c86d34b1dd9f8f5a8c4d0ec61305a18956434c │ │ │ │ │ │ ├── c4/ │ │ │ │ │ │ │ ├── 0565c340d16f58e0a997f3cdd26684b5d30c39 │ │ │ │ │ │ │ ├── 374928ab5f06b6758c35c8f37527e938463e31 │ │ │ │ │ │ │ └── 91c601432e52510cd3a6ead244bfd87a95fb69 │ │ │ │ │ │ ├── c5/ │ │ │ │ │ │ │ ├── 5794a68927701e28691ccb70c6807c38a04113 │ │ │ │ │ │ │ └── c991a377af7650de28481af2abdc2ab05322a9 │ │ │ │ │ │ ├── c7/ │ │ │ │ │ │ │ └── e47422bf9918ab7a15ea036bc8740786896cde │ │ │ │ │ │ ├── c8/ │ │ │ │ │ │ │ └── 8b2a15165058d5921a3ffd7cdffe9fd5c73f48 │ │ │ │ │ │ ├── c9/ │ │ │ │ │ │ │ └── 79a44839c949306c81e805e084f721d5e6b398 │ │ │ │ │ │ ├── ca/ │ │ │ │ │ │ │ ├── d6ca654688ddbb43d3b7fdaa98a94f6e7e1898 │ │ │ │ │ │ │ └── e2d2f0727a37cbcbfe52110a9f8ea913f93cb3 │ │ │ │ │ │ ├── cb/ │ │ │ │ │ │ │ ├── a5fb7149e6f39d266be93b6bfc302112d3146f │ │ │ │ │ │ │ └── b186d31668d7899dd2354fe33f3983818830a8 │ │ │ │ │ │ ├── cc/ │ │ │ │ │ │ │ └── 177d39e8b5184481d6b6ff4851c6d0fdb188f4 │ │ │ │ │ │ ├── cd/ │ │ │ │ │ │ │ └── 96ca4b4f94f6ae03e0c7b902d80eba972792d7 │ │ │ │ │ │ ├── ce/ │ │ │ │ │ │ │ └── eab6994ff3cce9cbd9f2daf883b18abc293a3c │ │ │ │ │ │ ├── d1/ │ │ │ │ │ │ │ └── 7a5754d40d6e1c220be04812143665a8272cf2 │ │ │ │ │ │ ├── d3/ │ │ │ │ │ │ │ └── 245f3568156c7aebd4c2f9ca125e5e1bf42ce8 │ │ │ │ │ │ ├── d5/ │ │ │ │ │ │ │ ├── 714ee1f70937727b09c4b7ac630b7499a18b20 │ │ │ │ │ │ │ └── 79f4d416a8f6f039d66b8e0f699de24f1aa35d │ │ │ │ │ │ ├── d7/ │ │ │ │ │ │ │ ├── 893ce981be557a556398d45bcd193eac0653c8 │ │ │ │ │ │ │ └── cc9693bebfec04c415bd4a83495aa81f5883cf │ │ │ │ │ │ ├── d8/ │ │ │ │ │ │ │ └── 5b47f8013e1529c59944c402e4a37bc0640e87 │ │ │ │ │ │ ├── de/ │ │ │ │ │ │ │ ├── 23fabdceac3a82f69562d2a74764557a2c2f8c │ │ │ │ │ │ │ └── e8bdccd1919573a4c7b5ec9a021f8e4dd44c11 │ │ │ │ │ │ ├── e4/ │ │ │ │ │ │ │ ├── 088bcbd20371f2af53f7a7c5cf40f5b4d6179e │ │ │ │ │ │ │ ├── 6e3ef0f9a3d57b01dd73e8c88c0dcc4f73348e │ │ │ │ │ │ │ └── a7defe7af8e6ce10c48511e341e0549683f254 │ │ │ │ │ │ ├── e6/ │ │ │ │ │ │ │ └── 7bb24c497e39377ae44d009273ee32ca3b7de2 │ │ │ │ │ │ ├── e7/ │ │ │ │ │ │ │ └── 77d5d536bba9ffdd938e61d9c84078e69f7fa7 │ │ │ │ │ │ ├── e8/ │ │ │ │ │ │ │ └── bdeb37d4def31c2833f0da2f20ffc81f95ff59 │ │ │ │ │ │ ├── ec/ │ │ │ │ │ │ │ ├── 17ec1939b7c3e86b7cb6c0c4de6b0818a7e75e │ │ │ │ │ │ │ └── 9aa33b4bf5fc62f5e3fb110b9c4acdb9715496 │ │ │ │ │ │ ├── ee/ │ │ │ │ │ │ │ └── 33aeb3a8eb15fadaaf37e6131856d17766f864 │ │ │ │ │ │ ├── ef/ │ │ │ │ │ │ │ ├── 5b824c1b318124f50ac4e8343b6cf49d3a5c96 │ │ │ │ │ │ │ └── 9dda2da66316654bd78d8ed4e2861eb0e076b0 │ │ │ │ │ │ ├── f0/ │ │ │ │ │ │ │ ├── 847e931e5716e41a44d75443e1708b547c7ee5 │ │ │ │ │ │ │ └── 93a02ec49918ab15e920f455979fd5ed732cf6 │ │ │ │ │ │ ├── f1/ │ │ │ │ │ │ │ ├── 12b5bc87051408110412932cb28abc1d9a0e52 │ │ │ │ │ │ │ └── f28623fa9874a251e263f833c689294d5f0ad5 │ │ │ │ │ │ ├── f2/ │ │ │ │ │ │ │ └── 71a42d327c4f2112b00e46828b39f0da950758 │ │ │ │ │ │ ├── f3/ │ │ │ │ │ │ │ └── 7e7927a43e03192fbcb8ab32df18a9dcec39e9 │ │ │ │ │ │ ├── f4/ │ │ │ │ │ │ │ ├── 06a328da90a31a997c43f49449c8d4e16ef026 │ │ │ │ │ │ │ └── b2010af2fec241c8fbc73da1fcbd0674578fd9 │ │ │ │ │ │ ├── f5/ │ │ │ │ │ │ │ ├── 98da9afddf228ad18f43011606d167424283e5 │ │ │ │ │ │ │ └── f35c96028062ed35992c020c70193b99519de5 │ │ │ │ │ │ ├── f6/ │ │ │ │ │ │ │ └── 9b11f01fdd474a7ceb1688b3ca54dd99ce6f49 │ │ │ │ │ │ ├── f7/ │ │ │ │ │ │ │ └── 3974dd7f9e0d6b4c010a431631c35080d6273c │ │ │ │ │ │ ├── f8/ │ │ │ │ │ │ │ └── 7a7cf3422b02c2b590ba3522205a01097d8d01 │ │ │ │ │ │ ├── fa/ │ │ │ │ │ │ │ └── 702c4e989089f9ef5ae078463b09c0a74091de │ │ │ │ │ │ ├── fc/ │ │ │ │ │ │ │ └── c9dac5920adb657a460c06eaada77664235749 │ │ │ │ │ │ ├── fd/ │ │ │ │ │ │ │ ├── 59e2817534c8d0613a6217791fa53029745f7d │ │ │ │ │ │ │ └── fc6ec0c6ef37cf17497dcc4abffd4ee0a0cab0 │ │ │ │ │ │ ├── fe/ │ │ │ │ │ │ │ └── 4751c0ead3a38e57625127e86f5d46193bc23c │ │ │ │ │ │ ├── ff/ │ │ │ │ │ │ │ └── 54c3f488a288c1536c2e57e3f802a4828e3eb3 │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-a7777ed642943a2ddc71e3822b7168707c84a42b.idx │ │ │ │ │ │ ├── pack-a7777ed642943a2ddc71e3822b7168707c84a42b.pack │ │ │ │ │ │ ├── pack-ce73ce8dc7f62c7410d204a6aee7a4c24ad6e2de.idx │ │ │ │ │ │ └── pack-ce73ce8dc7f62c7410d204a6aee7a4c24ad6e2de.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ ├── aa/ │ │ │ │ │ │ ├── afitz-dev │ │ │ │ │ │ ├── lua5.2 │ │ │ │ │ │ ├── lua5.3 │ │ │ │ │ │ ├── master │ │ │ │ │ │ ├── tests │ │ │ │ │ │ └── travis │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── example/ │ │ │ │ │ ├── alloc.go │ │ │ │ │ ├── basic.go │ │ │ │ │ ├── calls.lua │ │ │ │ │ ├── error.go │ │ │ │ │ ├── panic.go │ │ │ │ │ ├── quickstart.go │ │ │ │ │ └── userdata.go │ │ │ │ └── lua/ │ │ │ │ ├── c-golua.c │ │ │ │ ├── golua.go │ │ │ │ ├── golua.h │ │ │ │ ├── lauxlib.go │ │ │ │ ├── lua.go │ │ │ │ ├── lua_defs.go │ │ │ │ └── lua_test.go │ │ │ ├── idem/ │ │ │ │ ├── .gitignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── master │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 05/ │ │ │ │ │ │ │ └── c38eab6d6563c4dbe331db11b66f2c5f5977e2 │ │ │ │ │ │ ├── 09/ │ │ │ │ │ │ │ └── 521e6ad64894845e87e8d9e7cba60ac67ca887 │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ └── cd169f9a6a054db85fffafa2da772195c6eea3 │ │ │ │ │ │ ├── 16/ │ │ │ │ │ │ │ └── 9b33d0d83b00a42c0f45a47dd21df903d8d293 │ │ │ │ │ │ ├── 3a/ │ │ │ │ │ │ │ └── 04018e8512b2ab5e0bf784a72e25cef99a7bd9 │ │ │ │ │ │ ├── 4b/ │ │ │ │ │ │ │ └── ecbc53969f1badfef30309acab597dc499fa6b │ │ │ │ │ │ ├── 64/ │ │ │ │ │ │ │ └── 4ded95278885faad1dca729aecf4d478fbcbd1 │ │ │ │ │ │ ├── 68/ │ │ │ │ │ │ │ └── 3b01466e1fd8b1e2392ec8f13621f388266e99 │ │ │ │ │ │ ├── 75/ │ │ │ │ │ │ │ └── c8fcc4ac946003e13a04f32ecb3b385d21bdc8 │ │ │ │ │ │ ├── 7f/ │ │ │ │ │ │ │ └── fa4d57efb149b6ddff1100959e237f31abce58 │ │ │ │ │ │ ├── 85/ │ │ │ │ │ │ │ └── d66eb9094390762e8943c962978456fc5336a8 │ │ │ │ │ │ ├── a0/ │ │ │ │ │ │ │ └── 7fefd3f52181130e0bb2da140b889a2b89ed1d │ │ │ │ │ │ ├── b7/ │ │ │ │ │ │ │ └── a889ca886397a2bb7ac592fe1778b434730408 │ │ │ │ │ │ ├── bc/ │ │ │ │ │ │ │ └── e3e74f5b8995c8e987c27fe41212019e193a18 │ │ │ │ │ │ ├── c8/ │ │ │ │ │ │ │ └── e1f3046b6235f5ee91f3889122adeb5eb2c2e0 │ │ │ │ │ │ ├── cd/ │ │ │ │ │ │ │ └── a9d5065df1a6d3197c434d96760a7f4f37dc6e │ │ │ │ │ │ └── da/ │ │ │ │ │ │ └── f913b1b347aae6de6f48d599bc89ef8c8693d6 │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── halter.go │ │ │ │ └── halter_test.go │ │ │ ├── liner/ │ │ │ │ ├── COPYING │ │ │ │ ├── README.md │ │ │ │ ├── bsdinput.go │ │ │ │ ├── common.go │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── COMMIT_EDITMSG │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── master │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 6a/ │ │ │ │ │ │ │ └── 74f61703145de9abcdf62b969202ad68079d1b │ │ │ │ │ │ ├── 9d/ │ │ │ │ │ │ │ └── 1f43dd7d8d11b2c37b3839c106b24834275b94 │ │ │ │ │ │ ├── b2/ │ │ │ │ │ │ │ └── 3ae6ade1e30d8371b7d1080a7d4a266e8aa58e │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-ecf1bc7cb2dc77ce5fb385c0bcedc04270996fa7.idx │ │ │ │ │ │ └── pack-ecf1bc7cb2dc77ce5fb385c0bcedc04270996fa7.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── fallbackinput.go │ │ │ │ ├── input.go │ │ │ │ ├── input_darwin.go │ │ │ │ ├── input_linux.go │ │ │ │ ├── input_test.go │ │ │ │ ├── input_windows.go │ │ │ │ ├── line.go │ │ │ │ ├── line_test.go │ │ │ │ ├── output.go │ │ │ │ ├── output_windows.go │ │ │ │ ├── prefix_test.go │ │ │ │ ├── race_test.go │ │ │ │ ├── signal.go │ │ │ │ ├── signal_legacy.go │ │ │ │ ├── unixmode.go │ │ │ │ ├── width.go │ │ │ │ └── width_test.go │ │ │ ├── luar/ │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── VERSION │ │ │ │ ├── bench_test.go │ │ │ │ ├── doc.go │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── COMMIT_EDITMSG │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ ├── jea │ │ │ │ │ │ │ ├── master │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ ├── origin/ │ │ │ │ │ │ │ └── jea │ │ │ │ │ │ └── sd/ │ │ │ │ │ │ ├── cycle-detection │ │ │ │ │ │ ├── master │ │ │ │ │ │ ├── nopanic │ │ │ │ │ │ ├── proxy-nesting │ │ │ │ │ │ ├── proxy-nesting2 │ │ │ │ │ │ ├── proxyarith │ │ │ │ │ │ ├── proxytype │ │ │ │ │ │ └── v2 │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 04/ │ │ │ │ │ │ │ └── 56aab0b8747dfc70903557bd05243a8aea5e44 │ │ │ │ │ │ ├── 05/ │ │ │ │ │ │ │ └── 5e2a470af2a39df9f5b65bf994f58a47ef6cf4 │ │ │ │ │ │ ├── 0f/ │ │ │ │ │ │ │ └── 28b93239c9bb788c80b50e1bba55dae9a55bd0 │ │ │ │ │ │ ├── 11/ │ │ │ │ │ │ │ └── e9ae402947ee139599cbddda9c524fdd8fffb1 │ │ │ │ │ │ ├── 14/ │ │ │ │ │ │ │ └── 5f0cd2ea747cb4cf9fa2ae03ae68995b04ace7 │ │ │ │ │ │ ├── 21/ │ │ │ │ │ │ │ └── 9ee94ef2e9748391d4ac641bfe0f5da9e4f397 │ │ │ │ │ │ ├── 2a/ │ │ │ │ │ │ │ └── b776faa62d2242f6f154228c5d0b3187b349aa │ │ │ │ │ │ ├── 2e/ │ │ │ │ │ │ │ └── b609faf391d2e04f7d5dba3a3419c36e30808a │ │ │ │ │ │ ├── 36/ │ │ │ │ │ │ │ ├── 100c396c5725398539b23d1b1221a704cd6fb7 │ │ │ │ │ │ │ └── 6ab981ef9e9783725271121945167ab3d4bd68 │ │ │ │ │ │ ├── 42/ │ │ │ │ │ │ │ └── 18a27b7dd031d03b0879b3617a2e6ce60df9a9 │ │ │ │ │ │ ├── 46/ │ │ │ │ │ │ │ └── 26d943f661b70867785847a7964951c9488ac7 │ │ │ │ │ │ ├── 47/ │ │ │ │ │ │ │ └── 9ca0a2eaac5c26b53783037609d805ffcaff7d │ │ │ │ │ │ ├── 51/ │ │ │ │ │ │ │ └── f4ce41e1cacbe02143a39d11a4ed1ce32a3f38 │ │ │ │ │ │ ├── 58/ │ │ │ │ │ │ │ └── 6f11560581c1dea26a844f2197188b40805f0c │ │ │ │ │ │ ├── 63/ │ │ │ │ │ │ │ └── 4004d87d6952838efb4b65ae8d86f3757d2418 │ │ │ │ │ │ ├── 66/ │ │ │ │ │ │ │ └── 8658a3101830c820b1b8860d3e62e949250ffd │ │ │ │ │ │ ├── 68/ │ │ │ │ │ │ │ └── 1f3c9f03c76e4c8675404c93877a7a82194c0c │ │ │ │ │ │ ├── 6b/ │ │ │ │ │ │ │ └── 27f04ae17cdad8186fa320fbc8e88f1f879661 │ │ │ │ │ │ ├── 6e/ │ │ │ │ │ │ │ └── e95a1b672948ff579d7e2ef862d53b31cc29d3 │ │ │ │ │ │ ├── 70/ │ │ │ │ │ │ │ └── 74294cd3f89f5831da235063fa6a1e811e4e2c │ │ │ │ │ │ ├── 72/ │ │ │ │ │ │ │ └── 3c14a1341a39fe927f60cc946889224e0b8b17 │ │ │ │ │ │ ├── 74/ │ │ │ │ │ │ │ └── 41bf995f433c3b57a4359d07a1489970f35427 │ │ │ │ │ │ ├── 81/ │ │ │ │ │ │ │ └── 47793e6b521bc434ba0d2ac102f1297918a1d4 │ │ │ │ │ │ ├── 85/ │ │ │ │ │ │ │ ├── 499c74b9bd6ef6bdda592424fb2d0c874a4a2b │ │ │ │ │ │ │ ├── 7b791bc25d7122ba0b60a61c766aef8d8999bf │ │ │ │ │ │ │ └── 84fab0552f97827ce8b88fdadbcd08dcdb5a1f │ │ │ │ │ │ ├── 8a/ │ │ │ │ │ │ │ └── ce2b197ebd0e8292abdee1b641ef04179c6c7e │ │ │ │ │ │ ├── 94/ │ │ │ │ │ │ │ └── 66eb0a618d192def623d7432c5ba97810a314a │ │ │ │ │ │ ├── 97/ │ │ │ │ │ │ │ └── 83ff646db1c2a7e870d35e8c6da2efcb3bb754 │ │ │ │ │ │ ├── 9b/ │ │ │ │ │ │ │ └── 605710655823af255298bf376f969eeb14bec9 │ │ │ │ │ │ ├── a7/ │ │ │ │ │ │ │ ├── 2f09ef049c3e984a6b3761ec58dc90ef2cc3d0 │ │ │ │ │ │ │ └── b314cb1b3984ec3c5d766e990625c7462d38f8 │ │ │ │ │ │ ├── a9/ │ │ │ │ │ │ │ └── 92b6f52423167820d7118fd4f665dbdb500327 │ │ │ │ │ │ ├── b6/ │ │ │ │ │ │ │ └── 474b51e28be9fa5ec825cf7bb4d2c8361ce383 │ │ │ │ │ │ ├── c6/ │ │ │ │ │ │ │ └── 77636a23c919a44eb4d435222582918c7d0e3e │ │ │ │ │ │ ├── d5/ │ │ │ │ │ │ │ └── 54af741b872bca580b12741fa59d57e9fc3db8 │ │ │ │ │ │ ├── dc/ │ │ │ │ │ │ │ └── 5f7e47d49bb2d1883e5a969297f77c7900584f │ │ │ │ │ │ ├── dd/ │ │ │ │ │ │ │ └── 27e8e1a0e3a39d8286ed21c20a356783fc99c0 │ │ │ │ │ │ ├── e6/ │ │ │ │ │ │ │ └── 97e0836eb57f533afbe7db0317b23c5ffebd1e │ │ │ │ │ │ ├── e7/ │ │ │ │ │ │ │ └── 61ec921bc7ad38e4a05657be86f8bb961257cf │ │ │ │ │ │ ├── e9/ │ │ │ │ │ │ │ └── af524d078cd3c176ffd1111a90c87ceec95325 │ │ │ │ │ │ ├── f0/ │ │ │ │ │ │ │ └── faa5c627448901a06ad2bc08aaaf3c46f821dc │ │ │ │ │ │ ├── f6/ │ │ │ │ │ │ │ ├── 00dbd48695ba764294a23ff4e92bb0ccdb8129 │ │ │ │ │ │ │ └── 6ec3ac1c34fae86f66ad936e3d6b1ade4f27e1 │ │ │ │ │ │ ├── ff/ │ │ │ │ │ │ │ └── 04db08e6ba984d4da090e09199a3854eb81e5b │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-86671189f5836c322e520e64fa512177f6e78ee1.idx │ │ │ │ │ │ ├── pack-86671189f5836c322e520e64fa512177f6e78ee1.pack │ │ │ │ │ │ ├── pack-e45d0f921623775f978499fdb9da4eaa5d542276.idx │ │ │ │ │ │ └── pack-e45d0f921623775f978499fdb9da4eaa5d542276.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ ├── jea │ │ │ │ │ │ ├── master │ │ │ │ │ │ └── v2 │ │ │ │ │ ├── remotes/ │ │ │ │ │ │ ├── origin/ │ │ │ │ │ │ │ └── jea │ │ │ │ │ │ └── sd/ │ │ │ │ │ │ ├── cycle-detection │ │ │ │ │ │ ├── master │ │ │ │ │ │ ├── nopanic │ │ │ │ │ │ ├── proxy-nesting │ │ │ │ │ │ ├── proxy-nesting2 │ │ │ │ │ │ ├── proxyarith │ │ │ │ │ │ ├── proxytype │ │ │ │ │ │ └── v2 │ │ │ │ │ └── tags/ │ │ │ │ │ └── 1.3 │ │ │ │ ├── example_test.go │ │ │ │ ├── examples/ │ │ │ │ │ └── luar │ │ │ │ ├── luaobject.go │ │ │ │ ├── luar.go │ │ │ │ ├── luar_test.go │ │ │ │ ├── proxy.go │ │ │ │ ├── proxyfuncs.go │ │ │ │ └── proxymm.go │ │ │ └── zygomys/ │ │ │ └── zygo/ │ │ │ ├── address.go │ │ │ ├── arrayutils.go │ │ │ ├── basetypes.go │ │ │ ├── blake2.go │ │ │ ├── bsave.go │ │ │ ├── builders.go │ │ │ ├── callgo.go │ │ │ ├── callgo_test.go │ │ │ ├── cfg.go │ │ │ ├── channels.go │ │ │ ├── check.go │ │ │ ├── closing.go │ │ │ ├── comment.go │ │ │ ├── comparisons.go │ │ │ ├── coroutines.go │ │ │ ├── datastack.go │ │ │ ├── demo_go_structs.go │ │ │ ├── demo_go_structs_gen.go │ │ │ ├── demo_go_structs_gen_test.go │ │ │ ├── doc.go │ │ │ ├── environment.go │ │ │ ├── environment_test.go │ │ │ ├── exists.go │ │ │ ├── expressions.go │ │ │ ├── func.go │ │ │ ├── functions.go │ │ │ ├── generator.go │ │ │ ├── gitcommit.go │ │ │ ├── gob.go │ │ │ ├── gotypereg.go │ │ │ ├── hashutils.go │ │ │ ├── import.go │ │ │ ├── jsonmsgp.go │ │ │ ├── jsonmsgp_test.go │ │ │ ├── lexer.go │ │ │ ├── lexer_test.go │ │ │ ├── liner.go │ │ │ ├── listutils.go │ │ │ ├── makego.go │ │ │ ├── msgpackmap.go │ │ │ ├── numerictower.go │ │ │ ├── panicon.go │ │ │ ├── parser.go │ │ │ ├── pratt.go │ │ │ ├── printstate.go │ │ │ ├── printstate_test.go │ │ │ ├── ptrcheck.go │ │ │ ├── random.go │ │ │ ├── rawutils.go │ │ │ ├── regexp.go │ │ │ ├── repl.go │ │ │ ├── reuse_test.go │ │ │ ├── scopes.go │ │ │ ├── slurp.go │ │ │ ├── source.go │ │ │ ├── stack.go │ │ │ ├── stack_test.go │ │ │ ├── strutils.go │ │ │ ├── system.go │ │ │ ├── time.go │ │ │ ├── typeutils.go │ │ │ ├── version.go │ │ │ ├── vm.go │ │ │ └── vprint.go │ │ ├── gopherjs/ │ │ │ └── gopherjs/ │ │ │ ├── LICENSE │ │ │ └── js/ │ │ │ └── js.go │ │ ├── jtolds/ │ │ │ └── gls/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── context.go │ │ │ ├── gen_sym.go │ │ │ ├── gid.go │ │ │ ├── id_pool.go │ │ │ ├── stack_tags.go │ │ │ ├── stack_tags_js.go │ │ │ └── stack_tags_main.go │ │ ├── kisielk/ │ │ │ └── gotool/ │ │ │ ├── .travis.yml │ │ │ ├── LEGAL │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── go13.go │ │ │ ├── go14-15.go │ │ │ ├── go16-18.go │ │ │ ├── internal/ │ │ │ │ └── load/ │ │ │ │ ├── match_test.go │ │ │ │ ├── path.go │ │ │ │ ├── pkg.go │ │ │ │ └── search.go │ │ │ ├── match.go │ │ │ ├── match18.go │ │ │ ├── match18_test.go │ │ │ └── tool.go │ │ ├── majek/ │ │ │ └── lua-channels/ │ │ │ ├── .travis.yml │ │ │ ├── COPYING │ │ │ ├── LICENSE-MIT-lua-channels │ │ │ ├── README.md │ │ │ ├── dot.git/ │ │ │ │ ├── FETCH_HEAD │ │ │ │ ├── HEAD │ │ │ │ ├── ORIG_HEAD │ │ │ │ ├── config │ │ │ │ ├── description │ │ │ │ ├── hooks/ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ ├── post-update.sample │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ └── update.sample │ │ │ │ ├── index │ │ │ │ ├── info/ │ │ │ │ │ └── exclude │ │ │ │ ├── logs/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ ├── origin/ │ │ │ │ │ │ └── HEAD │ │ │ │ │ └── timeout/ │ │ │ │ │ └── master │ │ │ │ ├── objects/ │ │ │ │ │ ├── 00/ │ │ │ │ │ │ └── ba8df4ef75a7ec4369775752848e9c75997305 │ │ │ │ │ ├── 04/ │ │ │ │ │ │ └── 1f4c8ed6d869dc28b0333826dda6d366bc14d3 │ │ │ │ │ ├── 06/ │ │ │ │ │ │ └── 75739626c9e2c96315d54432ba3a966baa1325 │ │ │ │ │ ├── 09/ │ │ │ │ │ │ └── ed92250dca054c5c1678b5632b3d5d7463eb22 │ │ │ │ │ ├── 0c/ │ │ │ │ │ │ └── 7a10263b6578d15ae85f3c33bc64cccabeb48a │ │ │ │ │ ├── 16/ │ │ │ │ │ │ └── 7d1ce26c1ff4a64c34fe1b35d273646efd7ac5 │ │ │ │ │ ├── 1c/ │ │ │ │ │ │ └── e58d9ed6556bb1bdca6fde9dd3576c28bd327c │ │ │ │ │ ├── 1e/ │ │ │ │ │ │ ├── 95d7ac798c2963fd500ec7fb445b0d047fddb8 │ │ │ │ │ │ └── d246faab7247d4a881eb639fe55b1e096bc348 │ │ │ │ │ ├── 2a/ │ │ │ │ │ │ └── 32bbdfd67bb046ea26a48396b16c9a54224fcc │ │ │ │ │ ├── 2f/ │ │ │ │ │ │ └── f9d09ccbfd7d078f12449014fd688d9b39b80c │ │ │ │ │ ├── 37/ │ │ │ │ │ │ └── 571943a73567a9e54ab6d2ce55532ae58020cc │ │ │ │ │ ├── 3a/ │ │ │ │ │ │ └── ba51ff9cabd896720a76823cab4752b6ab187b │ │ │ │ │ ├── 3c/ │ │ │ │ │ │ └── 38e98503cbfadb5df2175cef6d4735e4c99af0 │ │ │ │ │ ├── 3f/ │ │ │ │ │ │ └── ded2304485db1174c96e6bbd3b37e55985d204 │ │ │ │ │ ├── 44/ │ │ │ │ │ │ └── e4e248fc461624f6ce9020bacd64867ab5a586 │ │ │ │ │ ├── 46/ │ │ │ │ │ │ └── 995e0e0cd3702c408dd4b0e7e09821a09501f4 │ │ │ │ │ ├── 4d/ │ │ │ │ │ │ ├── 1f53eba2bb2888a5971d2c31528138aee47aba │ │ │ │ │ │ ├── 33cc5d265d65ccd12ebfa9b5887537ac24db57 │ │ │ │ │ │ └── a8f13df4791d8f42caca4838c0260e08de752e │ │ │ │ │ ├── 4e/ │ │ │ │ │ │ └── 0ec67a459442b5f545af413d893e0ba20ece8a │ │ │ │ │ ├── 50/ │ │ │ │ │ │ └── f802aa2a525eda4523ee7ca1707073a39e5b7b │ │ │ │ │ ├── 51/ │ │ │ │ │ │ └── 6705d8001ce59b25304ec467c22f1dae5524dd │ │ │ │ │ ├── 55/ │ │ │ │ │ │ ├── c45224a934465fe71cf3d91b6a9ecba7a8436c │ │ │ │ │ │ └── cfd34bfe511ef1e2ed229b3fbe994bda23ac94 │ │ │ │ │ ├── 58/ │ │ │ │ │ │ ├── 24d50388867ef522e1c01c088c0d14b33e5062 │ │ │ │ │ │ └── 677136780f2ef7670d5b4b250c1439ecfeb9a7 │ │ │ │ │ ├── 59/ │ │ │ │ │ │ └── 9b27ee7496cef488a057aad86e1ce472190a78 │ │ │ │ │ ├── 5b/ │ │ │ │ │ │ └── 4b880c0bf3cb3c2f621047b50651f6ebd61951 │ │ │ │ │ ├── 63/ │ │ │ │ │ │ ├── 458b24d70c096d0ad9da59c938016130b0a598 │ │ │ │ │ │ └── a9474091d8581a8b98fb5cc28eafe8a78d9d67 │ │ │ │ │ ├── 66/ │ │ │ │ │ │ └── 008fdc736b340388e0da77949296d7965f21b0 │ │ │ │ │ ├── 70/ │ │ │ │ │ │ └── 3b772d80442503b71e4a89aa51a6f7b1f76da9 │ │ │ │ │ ├── 75/ │ │ │ │ │ │ └── e4e783e4b0f4573c26c32a0b4fdfb379ff0896 │ │ │ │ │ ├── 7d/ │ │ │ │ │ │ └── b95eca201955d6e99f7b7255a2777298650c4b │ │ │ │ │ ├── 7e/ │ │ │ │ │ │ └── 785d676738fe06bd54db0fe5a73c5ce1c2b374 │ │ │ │ │ ├── 80/ │ │ │ │ │ │ └── e1719d70da1f7dcb79823d7da7daaba56cffef │ │ │ │ │ ├── 81/ │ │ │ │ │ │ └── 3c5cf500aa563a2ac90f0af4c063f45eeabd2a │ │ │ │ │ ├── 82/ │ │ │ │ │ │ └── 95cfb97df7a560abd4022f238a9b92e65d9899 │ │ │ │ │ ├── 83/ │ │ │ │ │ │ └── 508d3fdafb2a0c827dcc069f3b91bff40c8ab2 │ │ │ │ │ ├── 8d/ │ │ │ │ │ │ └── 3c277783aa05a1dd80543d04b90525564cc8a1 │ │ │ │ │ ├── 94/ │ │ │ │ │ │ └── c7b083c782bd31a8f57f07724759a8990deaa5 │ │ │ │ │ ├── 9b/ │ │ │ │ │ │ └── 5eebbe8234bc5ea04f06d44915d4d0b2f48f9d │ │ │ │ │ ├── 9e/ │ │ │ │ │ │ ├── 829b9ab71e2b1852facf236317a0ce4512e7bb │ │ │ │ │ │ └── eac895048364c926988f9b0ae1c512eefdebe9 │ │ │ │ │ ├── a0/ │ │ │ │ │ │ └── 1bdca749e1dcd2a54bd510307f2b075df1d50c │ │ │ │ │ ├── a1/ │ │ │ │ │ │ └── ee381c9ee4ce48bdbaa4c541fd94a2aa28949c │ │ │ │ │ ├── a2/ │ │ │ │ │ │ └── f02fb43c7fb85018017ac766e0eab432bad630 │ │ │ │ │ ├── a8/ │ │ │ │ │ │ └── 1e037b1115877eee14a956f89e94710a5df83a │ │ │ │ │ ├── a9/ │ │ │ │ │ │ ├── e0fe3b387846004f5d43a8c724859998f01dfa │ │ │ │ │ │ └── e5e0899d941f995004c39fd843a850e789eff9 │ │ │ │ │ ├── ad/ │ │ │ │ │ │ └── cd612a544c7f3ccb8864927b8805f070c592bd │ │ │ │ │ ├── b1/ │ │ │ │ │ │ └── 32d8f1e7422982a774343e3ba1eb6db00a6c2f │ │ │ │ │ ├── b4/ │ │ │ │ │ │ └── ed2d76ca3206658940a7de3bd9fa56e88d65f7 │ │ │ │ │ ├── b7/ │ │ │ │ │ │ └── 40de380a5f78983ddd78be543a0f0ae96c4466 │ │ │ │ │ ├── ba/ │ │ │ │ │ │ ├── 1f9cb86aea3af7145848a40aec427ba693fa0d │ │ │ │ │ │ ├── 3d7b2470f8875283d9a808d1388c2780b57792 │ │ │ │ │ │ └── 78a7e33777f73bc09a5c2720434a03421cee0f │ │ │ │ │ ├── bd/ │ │ │ │ │ │ └── 5a34747855e49aa51c3327b2a602f0a35cc284 │ │ │ │ │ ├── be/ │ │ │ │ │ │ └── d979e67e3542933393cdbb6382a09e2a1da7fc │ │ │ │ │ ├── c1/ │ │ │ │ │ │ └── 62d124cfc295dbc63bd703befb855d10d2b39f │ │ │ │ │ ├── c2/ │ │ │ │ │ │ └── d6fc2576324a52fc6a3082bba91a546020a740 │ │ │ │ │ ├── c3/ │ │ │ │ │ │ └── 938036f6f53800d72dba39bbe2adddee590640 │ │ │ │ │ ├── c5/ │ │ │ │ │ │ └── 839141f1d840746a042229c830a1f47f807636 │ │ │ │ │ ├── d8/ │ │ │ │ │ │ └── feadb3f3419e67c5e27453cb5186174075ff6a │ │ │ │ │ ├── dd/ │ │ │ │ │ │ └── b4de5af0900bc8747992d5dadc723f39800188 │ │ │ │ │ ├── de/ │ │ │ │ │ │ └── 1a600fc22ab21fafa82e4ade243f64a3fd3080 │ │ │ │ │ ├── e0/ │ │ │ │ │ │ ├── 7cc8889074e511b606eee803649e317e3ec299 │ │ │ │ │ │ └── b945e07ee8c419ec6d78a47d1f6ffcb3c1a358 │ │ │ │ │ ├── e4/ │ │ │ │ │ │ └── 4acdce96f4005d038168c14b5488231e67c7b2 │ │ │ │ │ ├── e5/ │ │ │ │ │ │ └── 2e2c6aa1edd6f313ba9fab4f988fcd672fa2f6 │ │ │ │ │ ├── e6/ │ │ │ │ │ │ └── 2f2ce7cbaa9baaacae21bad943ccfbbf177bb9 │ │ │ │ │ ├── e7/ │ │ │ │ │ │ └── 98fd618a4d0728eecb0f70dcba1fc6c4326138 │ │ │ │ │ ├── e9/ │ │ │ │ │ │ └── 5d3dd4488622f567f40750715dd30799076e60 │ │ │ │ │ ├── ec/ │ │ │ │ │ │ ├── 0c5a5693f482f4f543d9598a24e8b88a01b6e6 │ │ │ │ │ │ └── 6198b5968909f400a1180103f6f47ced47000e │ │ │ │ │ ├── ef/ │ │ │ │ │ │ └── e34c3f05068e772b9947ea2f4231ccc06ac603 │ │ │ │ │ ├── f2/ │ │ │ │ │ │ └── 10155af3440703ba0264f8897cd6947261fff7 │ │ │ │ │ ├── f3/ │ │ │ │ │ │ └── aea3954d1a98c58a56da79135a2ecf193c80d4 │ │ │ │ │ └── fc/ │ │ │ │ │ └── 41512186a305a7680df18c9dfaa18e97f81537 │ │ │ │ ├── packed-refs │ │ │ │ └── refs/ │ │ │ │ ├── heads/ │ │ │ │ │ └── master │ │ │ │ └── remotes/ │ │ │ │ ├── origin/ │ │ │ │ │ └── HEAD │ │ │ │ └── timeout/ │ │ │ │ └── master │ │ │ ├── examples/ │ │ │ │ ├── sieve.lua │ │ │ │ ├── test1.lua │ │ │ │ └── test2.lua │ │ │ ├── lua-channels-0.1.0-0.rockspec │ │ │ └── lua-channels.lua │ │ ├── neelance/ │ │ │ ├── astrewrite/ │ │ │ │ ├── LICENSE │ │ │ │ └── simplify.go │ │ │ └── sourcemap/ │ │ │ ├── LICENSE │ │ │ └── sourcemap.go │ │ ├── shurcooL/ │ │ │ ├── go/ │ │ │ │ └── importgraphutil/ │ │ │ │ └── importgraphutil.go │ │ │ ├── httpfs/ │ │ │ │ ├── .travis.yml │ │ │ │ ├── README.md │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ └── HEAD │ │ │ │ │ ├── objects/ │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-9b617a4a248157ac1632edafcf6d72ab0c12e72d.idx │ │ │ │ │ │ └── pack-9b617a4a248157ac1632edafcf6d72ab0c12e72d.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ └── HEAD │ │ │ │ ├── filter/ │ │ │ │ │ ├── filter.go │ │ │ │ │ ├── filter_test.go │ │ │ │ │ └── filters.go │ │ │ │ ├── html/ │ │ │ │ │ └── vfstemplate/ │ │ │ │ │ └── vfstemplate.go │ │ │ │ ├── httputil/ │ │ │ │ │ └── httputil.go │ │ │ │ ├── path/ │ │ │ │ │ └── vfspath/ │ │ │ │ │ └── match.go │ │ │ │ ├── union/ │ │ │ │ │ ├── union.go │ │ │ │ │ └── union_test.go │ │ │ │ └── vfsutil/ │ │ │ │ ├── file.go │ │ │ │ ├── vfsutil.go │ │ │ │ ├── walk.go │ │ │ │ └── walk_test.go │ │ │ └── vfsgen/ │ │ │ ├── .travis.yml │ │ │ ├── CONTRIBUTING.md │ │ │ ├── README.md │ │ │ ├── cmd/ │ │ │ │ └── vfsgendev/ │ │ │ │ ├── generate.go │ │ │ │ ├── main.go │ │ │ │ └── parse.go │ │ │ ├── commentwriter.go │ │ │ ├── doc.go │ │ │ ├── dot.git/ │ │ │ │ ├── FETCH_HEAD │ │ │ │ ├── HEAD │ │ │ │ ├── ORIG_HEAD │ │ │ │ ├── config │ │ │ │ ├── description │ │ │ │ ├── hooks/ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ ├── post-update.sample │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ └── update.sample │ │ │ │ ├── index │ │ │ │ ├── info/ │ │ │ │ │ └── exclude │ │ │ │ ├── logs/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── objects/ │ │ │ │ │ ├── 43/ │ │ │ │ │ │ ├── 205b89421587a39b140735340dc8ec40f03669 │ │ │ │ │ │ └── fd3e7f60bd116513b8b1cb0f153cb6732594bd │ │ │ │ │ ├── 7e/ │ │ │ │ │ │ └── ef8b9b64a09d1f3cf8ec5830669c0c130d6bf0 │ │ │ │ │ ├── 82/ │ │ │ │ │ │ └── 88c8b501cacb7145a8ba8ff0f9191e7df13eb1 │ │ │ │ │ ├── 98/ │ │ │ │ │ │ └── e5953780ef509453c0396b759dd4dd96c7a6bd │ │ │ │ │ ├── 9b/ │ │ │ │ │ │ ├── 2b259cfd2a2fde1285bc2cc42b2043ac0c6581 │ │ │ │ │ │ └── 7ff06f1d238b9b71a197c1534c4f4abc2d050d │ │ │ │ │ ├── a9/ │ │ │ │ │ │ └── 5c81cb09738e01bc795dff234b57a78155e1c7 │ │ │ │ │ ├── f0/ │ │ │ │ │ │ └── c74c495ba70c07fddfe1c57216468fac6ce298 │ │ │ │ │ ├── f6/ │ │ │ │ │ │ └── 61a453d88b63eadf311650560b58db5a207e8c │ │ │ │ │ ├── ff/ │ │ │ │ │ │ └── b13db8def02f545acc58bd288ec6057c2bbfb9 │ │ │ │ │ └── pack/ │ │ │ │ │ ├── pack-5921b49fb1ac00aa5bb80334d7b32dd24bf86d14.idx │ │ │ │ │ └── pack-5921b49fb1ac00aa5bb80334d7b32dd24bf86d14.pack │ │ │ │ ├── packed-refs │ │ │ │ └── refs/ │ │ │ │ ├── heads/ │ │ │ │ │ └── master │ │ │ │ └── remotes/ │ │ │ │ └── origin/ │ │ │ │ ├── HEAD │ │ │ │ └── master │ │ │ ├── generator.go │ │ │ ├── generator_test.go │ │ │ ├── options.go │ │ │ ├── stringwriter.go │ │ │ └── test/ │ │ │ ├── doc.go │ │ │ ├── test_gen.go │ │ │ ├── test_test.go │ │ │ └── test_vfsdata_test.go │ │ ├── spf13/ │ │ │ ├── afero/ │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── afero.go │ │ │ │ ├── afero_test.go │ │ │ │ ├── appveyor.yml │ │ │ │ ├── basepath.go │ │ │ │ ├── basepath_test.go │ │ │ │ ├── cacheOnReadFs.go │ │ │ │ ├── composite_test.go │ │ │ │ ├── const_bsds.go │ │ │ │ ├── const_win_unix.go │ │ │ │ ├── copyOnWriteFs.go │ │ │ │ ├── copyOnWriteFs_test.go │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── master │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 00/ │ │ │ │ │ │ │ └── 4aeaa559f671850936d737f6830b6c86225e3c │ │ │ │ │ │ ├── 06/ │ │ │ │ │ │ │ └── 37db726dee970868dea6a9c05ff2728371c378 │ │ │ │ │ │ ├── 08/ │ │ │ │ │ │ │ └── b3b7e0146bbfcda9b902776c6750021c3832ea │ │ │ │ │ │ ├── 09/ │ │ │ │ │ │ │ ├── 36e8d1b24a604a476472a4deb642202e852b43 │ │ │ │ │ │ │ ├── 498e70fbaa6e350ba699a1895d602cd957a496 │ │ │ │ │ │ │ └── d8680f670faddee10819f1b42ebe00f5aaa256 │ │ │ │ │ │ ├── 0c/ │ │ │ │ │ │ │ └── 9b04b53fcb64d5f5e9c3095c5d3a7745db1f41 │ │ │ │ │ │ ├── 14/ │ │ │ │ │ │ │ └── cd438fb87fd5faa7c24cf1e4b9ca1560c6ac4c │ │ │ │ │ │ ├── 19/ │ │ │ │ │ │ │ ├── 11a9fa052629992fdabd3ac96ab0fa703f566c │ │ │ │ │ │ │ └── d6925feb6aef8e8111b020bef61568b1355f32 │ │ │ │ │ │ ├── 1a/ │ │ │ │ │ │ │ └── eea23efee9cc5311cadbdc3ac07cb1142d15bb │ │ │ │ │ │ ├── 1d/ │ │ │ │ │ │ │ └── bb42c3d29d7e6725bb8c848d16bd0924750904 │ │ │ │ │ │ ├── 21/ │ │ │ │ │ │ │ ├── 9527d911be9149725f7303a381939a53cdeff6 │ │ │ │ │ │ │ └── e1faecdbd800cbc1e2dd5edf7a0b4d6decc51e │ │ │ │ │ │ ├── 23/ │ │ │ │ │ │ │ └── a888161a3a820a244e1c67d30053bb6ac6bc64 │ │ │ │ │ │ ├── 24/ │ │ │ │ │ │ │ ├── 2208d9a2a1500b21d8a671008fb9f8031c9741 │ │ │ │ │ │ │ └── e8b10edb458ce76cf0ec8338fc530ba8cdb82e │ │ │ │ │ │ ├── 2d/ │ │ │ │ │ │ │ ├── 4df50c2e8d9d3db4184f87c7ae30d05dff90a5 │ │ │ │ │ │ │ └── 9f136688a9d83a970da723caefd670fbe2dc14 │ │ │ │ │ │ ├── 33/ │ │ │ │ │ │ │ ├── 082f766377ca45f479560ca7bff69b7b8671d7 │ │ │ │ │ │ │ └── d310d4c927c6febbd86f320abdb917b5e6602e │ │ │ │ │ │ ├── 36/ │ │ │ │ │ │ │ ├── 26e9c5e29c0bc1c9d6e4d0c14bdafa8d1d9d6e │ │ │ │ │ │ │ └── f8810e2e3d7eeac4ac05b57f65690fbfba62a2 │ │ │ │ │ │ ├── 39/ │ │ │ │ │ │ │ └── 3dc7886143f37d44cd89fedef92754875b8796 │ │ │ │ │ │ ├── 3d/ │ │ │ │ │ │ │ ├── 990a04946373d6dc788229279fdde214e8a575 │ │ │ │ │ │ │ └── e492c3cda9570c77bc1f495857bfbf4b760efd │ │ │ │ │ │ ├── 3e/ │ │ │ │ │ │ │ ├── 504d357fefbf6fde31b28809ae66b7ff378c62 │ │ │ │ │ │ │ └── 50b4815acb123e77ca33482283ede5dd190e0b │ │ │ │ │ │ ├── 40/ │ │ │ │ │ │ │ └── d0789b6be38a32682c0d003c94efb1771201a1 │ │ │ │ │ │ ├── 42/ │ │ │ │ │ │ │ └── 26a6b51c92afcd196726579fbbc194f4da792f │ │ │ │ │ │ ├── 44/ │ │ │ │ │ │ │ └── 971ef5a206a29eeec080e138abaa012cfae96f │ │ │ │ │ │ ├── 47/ │ │ │ │ │ │ │ ├── 3997e41882cb62918fc6634e444f7d8ef1e9e5 │ │ │ │ │ │ │ ├── 414ab14ff6d57ac05af9cd76c6078b6c726057 │ │ │ │ │ │ │ └── ad27931311f2fedba4fcb4b25cb7fc8b2647f1 │ │ │ │ │ │ ├── 4d/ │ │ │ │ │ │ │ └── d531424862af7b60a7e2b4f5fd488bc1c5c51b │ │ │ │ │ │ ├── 4f/ │ │ │ │ │ │ │ ├── 253f481edd15798ff64305d002329c11da2e90 │ │ │ │ │ │ │ └── 332f79e74c34224b74286536c151403cb3cf92 │ │ │ │ │ │ ├── 53/ │ │ │ │ │ │ │ └── 1727f3a82f22966155f04277d022098f1328b0 │ │ │ │ │ │ ├── 54/ │ │ │ │ │ │ │ └── 01a3b7c02add2fa56e6c374e3627b944bf55ea │ │ │ │ │ │ ├── 55/ │ │ │ │ │ │ │ └── 1a16ca5007651b66080a1d26d6a3ae21e886d9 │ │ │ │ │ │ ├── 56/ │ │ │ │ │ │ │ └── 60eeed305fe5f69c8fc6cf899132a459a97064 │ │ │ │ │ │ ├── 57/ │ │ │ │ │ │ │ ├── 69067a7301bebef5f616ae6db3cb6295946e97 │ │ │ │ │ │ │ └── afd63c68602b63ed976de00dd066ccb3c319db │ │ │ │ │ │ ├── 59/ │ │ │ │ │ │ │ └── 6850cca54e630a3fe6e77debf78437570f0fa1 │ │ │ │ │ │ ├── 5d/ │ │ │ │ │ │ │ └── c56c9374a541500c3b92b0351a31e93e0e0303 │ │ │ │ │ │ ├── 61/ │ │ │ │ │ │ │ └── 8159a4eab658bf833b02530d1ae0326f31dae6 │ │ │ │ │ │ ├── 65/ │ │ │ │ │ │ │ └── 5d0bd1f1139c3abf66a7bec611f36fe5b21e79 │ │ │ │ │ │ ├── 6e/ │ │ │ │ │ │ │ └── 0c3784c43127e33f93ff45e417e912d326f577 │ │ │ │ │ │ ├── 73/ │ │ │ │ │ │ │ └── c49643bc3d3b0560335e6c70943b2a2960b998 │ │ │ │ │ │ ├── 74/ │ │ │ │ │ │ │ └── 63887fd8dd2ef2cf5e078f309265d5aa02163a │ │ │ │ │ │ ├── 7e/ │ │ │ │ │ │ │ └── 01ac8afe08c8dced4170dd0115824aab47eb7b │ │ │ │ │ │ ├── 80/ │ │ │ │ │ │ │ └── e7cdde5536c1ad3996da51cd3e59f019abb3e5 │ │ │ │ │ │ ├── 81/ │ │ │ │ │ │ │ └── be478017c384c968c95fd97baa3abcb3b26851 │ │ │ │ │ │ ├── 83/ │ │ │ │ │ │ │ └── 8d6de32d4888e71bdb38c2f42fda96d935649d │ │ │ │ │ │ ├── 84/ │ │ │ │ │ │ │ └── cf6dc70734caf7df4d35b2a9ae34fbcd2a2e6d │ │ │ │ │ │ ├── 85/ │ │ │ │ │ │ │ └── 07649650b02302d989594a544fef257d82a628 │ │ │ │ │ │ ├── 88/ │ │ │ │ │ │ │ └── 5e554295931b4a15b8b0ecdd4fc631141b8156 │ │ │ │ │ │ ├── 8a/ │ │ │ │ │ │ │ └── 6ade7159a9b7fff5d2feac091c425177ac1b28 │ │ │ │ │ │ ├── 8d/ │ │ │ │ │ │ │ └── 919cbe7e2627e417f3e45c3c0e489a5b7e2536 │ │ │ │ │ │ ├── 8e/ │ │ │ │ │ │ │ └── 44611dcb7572204ce5dc8d6446abd04ad5e190 │ │ │ │ │ │ ├── 90/ │ │ │ │ │ │ │ ├── 013226bcdcfe895fa2e9db653fcbe60b264e1b │ │ │ │ │ │ │ └── 34a12a59ea8a66ac3cf63ffde84e3c12477666 │ │ │ │ │ │ ├── 97/ │ │ │ │ │ │ │ └── 5840197da511e321c6e763ac9345dd1694d043 │ │ │ │ │ │ ├── 98/ │ │ │ │ │ │ │ └── ac35c1099f779ac3ff918b005e1eb0ee408541 │ │ │ │ │ │ ├── a1/ │ │ │ │ │ │ │ └── f7a8e43d2a15c31889e1887d595181538c425e │ │ │ │ │ │ ├── a2/ │ │ │ │ │ │ │ └── 7cb87d3e95f0bcf51673698dd36b7500b7bae7 │ │ │ │ │ │ ├── a4/ │ │ │ │ │ │ │ └── 3378e6c468353811cd7c359f789c6d56f51516 │ │ │ │ │ │ ├── a5/ │ │ │ │ │ │ │ └── e9d2207986a3f6cc52d5f1c65ed8403a978450 │ │ │ │ │ │ ├── a6/ │ │ │ │ │ │ │ └── 33ad500c16861a1de69026745675de2515ace5 │ │ │ │ │ │ ├── a8/ │ │ │ │ │ │ │ └── 80a37ed1804d98f64b3b7d58b5e3f8fbf421c4 │ │ │ │ │ │ ├── ae/ │ │ │ │ │ │ │ └── f6962125f68394b8ae2ec2954d2c575e21c384 │ │ │ │ │ │ ├── b0/ │ │ │ │ │ │ │ └── 26e0de838d85f12d4c2d341bf567d2200e2c05 │ │ │ │ │ │ ├── b1/ │ │ │ │ │ │ │ └── c3999e0c5766b3c434f3fb8373fadbbe8956c8 │ │ │ │ │ │ ├── b2/ │ │ │ │ │ │ │ └── 4fb0ffd2126ae9d5b85835c659c0614422457f │ │ │ │ │ │ ├── b4/ │ │ │ │ │ │ │ └── 8f4f807b2eb550a82fb2891b025aaa514bb1ff │ │ │ │ │ │ ├── b8/ │ │ │ │ │ │ │ └── 470ca0aaea65ec9ca5b1c47463b9a2fff9ea74 │ │ │ │ │ │ ├── bb/ │ │ │ │ │ │ │ ├── 8f1927f2a9d3ab41c9340aa034f6b803f4359c │ │ │ │ │ │ │ ├── bd8a1b9fefc4e4c716a108597a246d6fb686b5 │ │ │ │ │ │ │ └── f41cb36dffe15dff5bf7e18c447801e7ffe163 │ │ │ │ │ │ ├── c2/ │ │ │ │ │ │ │ └── e3c9c50e19b7b1363cb8bcffe32da3c438fa32 │ │ │ │ │ │ ├── c4/ │ │ │ │ │ │ │ └── d8d0f6c6c2ce1761e431f6703b31c840df08fd │ │ │ │ │ │ ├── c5/ │ │ │ │ │ │ │ └── 621b3590b79644b5c6feba96b41fd502671762 │ │ │ │ │ │ ├── c6/ │ │ │ │ │ │ │ └── f2c6d625111a66481a031d00264f6403842f7a │ │ │ │ │ │ ├── d2/ │ │ │ │ │ │ │ ├── 8e91220627456dc400ebae119ee03600d3ca93 │ │ │ │ │ │ │ └── 9940f63d9d44d8b2c8ae6cbb18bb788a4c6f8f │ │ │ │ │ │ ├── db/ │ │ │ │ │ │ │ └── 4b0a99252825a818f7f97736a0dc1616d6c739 │ │ │ │ │ │ ├── e0/ │ │ │ │ │ │ │ └── 02181fefb9ab6f9eeac2d46448f0ef6c16a5e0 │ │ │ │ │ │ ├── e4/ │ │ │ │ │ │ │ └── 1f9e347f21985b5537676d6c87771fa44c8250 │ │ │ │ │ │ ├── e6/ │ │ │ │ │ │ │ ├── 7d870304c4bca21331b02f414f970df13aa694 │ │ │ │ │ │ │ └── 8cee5f18cc905ddceb199699306cb1259f146a │ │ │ │ │ │ ├── ea/ │ │ │ │ │ │ │ └── 5fe66f02f93af286317715198e95ea65251315 │ │ │ │ │ │ ├── ec/ │ │ │ │ │ │ │ └── 3a3111d1e1bdff38a61e09d5a5f5e974905611 │ │ │ │ │ │ ├── ee/ │ │ │ │ │ │ │ └── 1bd8ee15a1306d1f9201acc41ef39cd9f99a1b │ │ │ │ │ │ ├── f0/ │ │ │ │ │ │ │ └── 1f7160934f5758ccaef6a8ebff2d5a5cbbc796 │ │ │ │ │ │ ├── f1/ │ │ │ │ │ │ │ └── 2a64564921ed967b3d7ad971b59914ed534c87 │ │ │ │ │ │ ├── f2/ │ │ │ │ │ │ │ └── ebcd2266e56f8c1bcfa7481f6f585e34c0ca4b │ │ │ │ │ │ ├── f6/ │ │ │ │ │ │ │ └── 49498a1f1943d6ca61fe314418400e72e5a531 │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-f49f85e1f596046d8a39a71474142ca83b8e1eb8.idx │ │ │ │ │ │ └── pack-f49f85e1f596046d8a39a71474142ca83b8e1eb8.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── httpFs.go │ │ │ │ ├── ioutil.go │ │ │ │ ├── ioutil_test.go │ │ │ │ ├── match.go │ │ │ │ ├── match_test.go │ │ │ │ ├── mem/ │ │ │ │ │ ├── dir.go │ │ │ │ │ ├── dirmap.go │ │ │ │ │ ├── file.go │ │ │ │ │ └── file_test.go │ │ │ │ ├── memmap.go │ │ │ │ ├── memmap_test.go │ │ │ │ ├── os.go │ │ │ │ ├── path.go │ │ │ │ ├── path_test.go │ │ │ │ ├── readonlyfs.go │ │ │ │ ├── regexpfs.go │ │ │ │ ├── ro_regexp_test.go │ │ │ │ ├── sftpfs/ │ │ │ │ │ ├── file.go │ │ │ │ │ ├── sftp.go │ │ │ │ │ └── sftp_test_go │ │ │ │ ├── unionFile.go │ │ │ │ ├── util.go │ │ │ │ └── util_test.go │ │ │ ├── cast/ │ │ │ │ ├── .gitignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── cast.go │ │ │ │ ├── cast_test.go │ │ │ │ ├── caste.go │ │ │ │ └── dot.git/ │ │ │ │ ├── FETCH_HEAD │ │ │ │ ├── HEAD │ │ │ │ ├── ORIG_HEAD │ │ │ │ ├── config │ │ │ │ ├── description │ │ │ │ ├── hooks/ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ ├── post-update.sample │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ └── update.sample │ │ │ │ ├── index │ │ │ │ ├── info/ │ │ │ │ │ └── exclude │ │ │ │ ├── logs/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── objects/ │ │ │ │ │ ├── 4f/ │ │ │ │ │ │ └── e19289347055a221b358ea859b4bf7727c3c73 │ │ │ │ │ ├── 51/ │ │ │ │ │ │ └── a327a125965814a3caf72683130584e939b035 │ │ │ │ │ ├── 89/ │ │ │ │ │ │ └── 65335b8c7107321228e3e3702cab9832751bac │ │ │ │ │ ├── 9e/ │ │ │ │ │ │ └── bc15c9054801e1109b9985df3d12a9046d6c3c │ │ │ │ │ ├── 9f/ │ │ │ │ │ │ └── 1b1f1c4345902bcfa01de1a5c2cccc99cc283e │ │ │ │ │ ├── c9/ │ │ │ │ │ │ └── 76a86632cc9331f20c0300913746227e1627b2 │ │ │ │ │ ├── d9/ │ │ │ │ │ │ └── b0b013def746771c96ca65bb13332f475dde31 │ │ │ │ │ └── pack/ │ │ │ │ │ ├── pack-070f648ac5ccb24c8d8eb72df67b4cdf5e9be16c.idx │ │ │ │ │ └── pack-070f648ac5ccb24c8d8eb72df67b4cdf5e9be16c.pack │ │ │ │ ├── packed-refs │ │ │ │ └── refs/ │ │ │ │ ├── heads/ │ │ │ │ │ └── master │ │ │ │ └── remotes/ │ │ │ │ └── origin/ │ │ │ │ ├── HEAD │ │ │ │ └── master │ │ │ ├── cobra/ │ │ │ │ ├── .circleci/ │ │ │ │ │ └── config.yml │ │ │ │ ├── .gitignore │ │ │ │ ├── .mailmap │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── args.go │ │ │ │ ├── args_test.go │ │ │ │ ├── bash_completions.go │ │ │ │ ├── bash_completions.md │ │ │ │ ├── bash_completions_test.go │ │ │ │ ├── cobra/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── cmd/ │ │ │ │ │ │ ├── add.go │ │ │ │ │ │ ├── add_test.go │ │ │ │ │ │ ├── golden_test.go │ │ │ │ │ │ ├── helpers.go │ │ │ │ │ │ ├── init.go │ │ │ │ │ │ ├── init_test.go │ │ │ │ │ │ ├── license_agpl.go │ │ │ │ │ │ ├── license_apache_2.go │ │ │ │ │ │ ├── license_bsd_clause_2.go │ │ │ │ │ │ ├── license_bsd_clause_3.go │ │ │ │ │ │ ├── license_gpl_2.go │ │ │ │ │ │ ├── license_gpl_3.go │ │ │ │ │ │ ├── license_lgpl.go │ │ │ │ │ │ ├── license_mit.go │ │ │ │ │ │ ├── licenses.go │ │ │ │ │ │ ├── project.go │ │ │ │ │ │ ├── project_test.go │ │ │ │ │ │ ├── root.go │ │ │ │ │ │ └── testdata/ │ │ │ │ │ │ ├── LICENSE.golden │ │ │ │ │ │ ├── main.go.golden │ │ │ │ │ │ ├── root.go.golden │ │ │ │ │ │ └── test.go.golden │ │ │ │ │ └── main.go │ │ │ │ ├── cobra.go │ │ │ │ ├── cobra_test.go │ │ │ │ ├── command.go │ │ │ │ ├── command_notwin.go │ │ │ │ ├── command_test.go │ │ │ │ ├── command_win.go │ │ │ │ ├── doc/ │ │ │ │ │ ├── cmd_test.go │ │ │ │ │ ├── man_docs.go │ │ │ │ │ ├── man_docs.md │ │ │ │ │ ├── man_docs_test.go │ │ │ │ │ ├── man_examples_test.go │ │ │ │ │ ├── md_docs.go │ │ │ │ │ ├── md_docs.md │ │ │ │ │ ├── md_docs_test.go │ │ │ │ │ ├── rest_docs.go │ │ │ │ │ ├── rest_docs.md │ │ │ │ │ ├── rest_docs_test.go │ │ │ │ │ ├── util.go │ │ │ │ │ ├── yaml_docs.go │ │ │ │ │ ├── yaml_docs.md │ │ │ │ │ └── yaml_docs_test.go │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ ├── bindpflag-readme │ │ │ │ │ │ └── master │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 00/ │ │ │ │ │ │ │ └── 74084d63f31182c520802c9c7a17cf1e45fa8e │ │ │ │ │ │ ├── 01/ │ │ │ │ │ │ │ └── 1f19e8ec4faa23787b731efa5bd70406c1fc16 │ │ │ │ │ │ ├── 03/ │ │ │ │ │ │ │ └── e53e87eafadaab03277ca71e2e10b9d8b4a854 │ │ │ │ │ │ ├── 05/ │ │ │ │ │ │ │ └── 0e608378771266b555599167f7bfdc04593136 │ │ │ │ │ │ ├── 06/ │ │ │ │ │ │ │ └── 3092c23304d033b7f4faa59e1264f343382db4 │ │ │ │ │ │ ├── 08/ │ │ │ │ │ │ │ └── 3e4ea7f47b52bef8b34e6c5aa53d30436ee926 │ │ │ │ │ │ ├── 0a/ │ │ │ │ │ │ │ └── e8be211bed71bc2566b94fb3b303cf38fb1f42 │ │ │ │ │ │ ├── 0b/ │ │ │ │ │ │ │ └── 74c2da3ac97e30448f3a1e15afc5e5f7d6917d │ │ │ │ │ │ ├── 0c/ │ │ │ │ │ │ │ └── 458080eb9d8959a52069ea26972b23465b523d │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ └── 1d434d4490c740eced15324c99ee29016ea32f │ │ │ │ │ │ ├── 11/ │ │ │ │ │ │ │ └── 2c7dca3abb01000dd25be3311b2fba3830b236 │ │ │ │ │ │ ├── 12/ │ │ │ │ │ │ │ └── 7ca0e634ecf2adf61073586375cb323a1d85a4 │ │ │ │ │ │ ├── 14/ │ │ │ │ │ │ │ └── 8000868e5949af16afff045d942f9dd8eed13f │ │ │ │ │ │ ├── 15/ │ │ │ │ │ │ │ └── b88930d2496e30118a3f841c3f2aa8ffd4ed13 │ │ │ │ │ │ ├── 18/ │ │ │ │ │ │ │ └── 5570b2b1dfeab43db427ce50ce75400d823d6b │ │ │ │ │ │ ├── 1e/ │ │ │ │ │ │ │ └── f0913976db2004980575ed815c30c65acd5599 │ │ │ │ │ │ ├── 1f/ │ │ │ │ │ │ │ └── 4717172e07e12150feb061b2ab847c3054f53f │ │ │ │ │ │ ├── 20/ │ │ │ │ │ │ │ └── 217d8f5e2a9f356ef9079c7fa79e71fadbeac1 │ │ │ │ │ │ ├── 21/ │ │ │ │ │ │ │ └── e864b0c4664334e97ff1b6f1a685dcd3675e4e │ │ │ │ │ │ ├── 23/ │ │ │ │ │ │ │ └── 9065dde633ca0f105d781ace69c59c71293e82 │ │ │ │ │ │ ├── 26/ │ │ │ │ │ │ │ ├── 28cc387ad9c9728c14f54aab1e9b7f2c141f94 │ │ │ │ │ │ │ └── b8fcc60eca5835413089c56b6379e3d090ac34 │ │ │ │ │ │ ├── 27/ │ │ │ │ │ │ │ └── 72e6269cb0551bb2e0164831f2fe24cccf0be6 │ │ │ │ │ │ ├── 28/ │ │ │ │ │ │ │ └── 0f5b6aa969c0694a8956ccdbd2264367e02560 │ │ │ │ │ │ ├── 29/ │ │ │ │ │ │ │ └── c0a1f42ef799b2d335162003a76711fa966fce │ │ │ │ │ │ ├── 2d/ │ │ │ │ │ │ │ └── fcb5fcb76e0d116dba835adea77f3d3766e5d6 │ │ │ │ │ │ ├── 37/ │ │ │ │ │ │ │ └── c3f8060359192150945916cbc2d72bce804b4d │ │ │ │ │ │ ├── 3a/ │ │ │ │ │ │ │ └── 9ec2876515232c575df2a8a5bda048e7eb5ad5 │ │ │ │ │ │ ├── 3b/ │ │ │ │ │ │ │ └── 01324cd2ee8d171c6702d9c31849e2c37ab678 │ │ │ │ │ │ ├── 3d/ │ │ │ │ │ │ │ └── 10ba814d9aa3fa4f927cd0131b1d00d3d9aeae │ │ │ │ │ │ ├── 3f/ │ │ │ │ │ │ │ └── d195f23055938acdb268e8d0526fcae67dab8f │ │ │ │ │ │ ├── 40/ │ │ │ │ │ │ │ └── e19b3f3b43ae017d94f2ee16e18dff402f8031 │ │ │ │ │ │ ├── 48/ │ │ │ │ │ │ │ └── 0b152f09f018929bc5c63bb532e3ed027ac633 │ │ │ │ │ │ ├── 49/ │ │ │ │ │ │ │ └── 889318cf43f1d9468375589d9e71d9945795c3 │ │ │ │ │ │ ├── 4a/ │ │ │ │ │ │ │ └── 087062c6e7c9a4fc15338f91f39955277c2aac │ │ │ │ │ │ ├── 4b/ │ │ │ │ │ │ │ └── d53b86b2bf3c36d3b663ee5a67b9b3bbba6be6 │ │ │ │ │ │ ├── 4d/ │ │ │ │ │ │ │ └── 647c8944eb42504a714e57e97f244ed6344722 │ │ │ │ │ │ ├── 50/ │ │ │ │ │ │ │ └── 2234f5f8648ac4bdc0b3098c9ce3dd9d849a80 │ │ │ │ │ │ ├── 57/ │ │ │ │ │ │ │ ├── 0eb8465187dd5a4ee53c9bf7417ab12f0dfa3f │ │ │ │ │ │ │ └── 98d0fbf46e47660a20345056a50710b701f022 │ │ │ │ │ │ ├── 5b/ │ │ │ │ │ │ │ ├── 3e855be12d54db5dff598c42bcf843bc295744 │ │ │ │ │ │ │ └── 641875e024007eb2e592eb0f5bae851c8c1e2b │ │ │ │ │ │ ├── 5d/ │ │ │ │ │ │ │ ├── 2504b1cfdd9a98c5380cde76d0a5571826a9dc │ │ │ │ │ │ │ └── a98880f36e704eeb583c2c02f23cc7ea6808aa │ │ │ │ │ │ ├── 5f/ │ │ │ │ │ │ │ └── 4cb4d16da90af9c6e25c41ed76daab1942b544 │ │ │ │ │ │ ├── 60/ │ │ │ │ │ │ │ └── 8dc0a158429a38cbc372766a48b69f11f5ca0d │ │ │ │ │ │ ├── 63/ │ │ │ │ │ │ │ └── 17c9f21d00bd0bb7613827a43e47f6713e4ade │ │ │ │ │ │ ├── 64/ │ │ │ │ │ │ │ ├── 6046a6c13cfd89eb527f20db57a4c016979edb │ │ │ │ │ │ │ └── 71e3de04847308a90b2c93c0056d74c6ae9476 │ │ │ │ │ │ ├── 65/ │ │ │ │ │ │ │ └── a708cee0a4424f4e353d031ce440643e312f92 │ │ │ │ │ │ ├── 66/ │ │ │ │ │ │ │ └── aff32b130a4d51c146b383d9cf27d7466e147b │ │ │ │ │ │ ├── 67/ │ │ │ │ │ │ │ └── feb8173c2cd7223600130ed9c0764342405fa6 │ │ │ │ │ │ ├── 69/ │ │ │ │ │ │ │ └── 9a2f63bb005007bb06778ea528c7b1c00d43ce │ │ │ │ │ │ ├── 6a/ │ │ │ │ │ │ │ └── 8bd97bdb1fc0d08a83459940498ea49d3e8c93 │ │ │ │ │ │ ├── 6e/ │ │ │ │ │ │ │ ├── 17f4e2c52c2de7e44f5bab2c77bb9edb90b9f5 │ │ │ │ │ │ │ ├── 84be54d16dbfd483ebbade5ed5a10014ec7266 │ │ │ │ │ │ │ └── 91dded25d73176bf7f60b40dd7aa1f0bf9be8d │ │ │ │ │ │ ├── 70/ │ │ │ │ │ │ │ └── f89066c35fda0e334ef245ef5c60e6708341e0 │ │ │ │ │ │ ├── 71/ │ │ │ │ │ │ │ └── a9c0834b6fe637b9d6920103649631f450726c │ │ │ │ │ │ ├── 75/ │ │ │ │ │ │ │ ├── 0775f1a90340a6623c100b772e2a0b307c5054 │ │ │ │ │ │ │ ├── b48cb265487907866911458bc9bf32cf209634 │ │ │ │ │ │ │ └── daccd5b88bc3b896829d68ac9529ecf9aeae92 │ │ │ │ │ │ ├── 77/ │ │ │ │ │ │ │ └── 530f537eb200c0781aac768e568bf35191525c │ │ │ │ │ │ ├── 79/ │ │ │ │ │ │ │ └── 47f6c4ab977daeaec6fef9e38085657d36675e │ │ │ │ │ │ ├── 7a/ │ │ │ │ │ │ │ └── 5bd4d7ddd9b659729fc6c830c1126c7f8c1712 │ │ │ │ │ │ ├── 7b/ │ │ │ │ │ │ │ └── 5f5d114afb9961e22830eede9c7442bec53ab9 │ │ │ │ │ │ ├── 7c/ │ │ │ │ │ │ │ └── 674d9e72017ed25f6d2b5e497a1368086b6a6f │ │ │ │ │ │ ├── 7d/ │ │ │ │ │ │ │ ├── 3413885fee11ef0fbf9d5f6bcf992f99b02285 │ │ │ │ │ │ │ └── 71f2833a24ff9f1f0ada0c654ab6541d75b976 │ │ │ │ │ │ ├── 7f/ │ │ │ │ │ │ │ └── aa7fcdd20c7484bc89fdd48acb67ed44b8ba2e │ │ │ │ │ │ ├── 82/ │ │ │ │ │ │ │ └── b174f6332655d503dfd42e74259a94f06eb696 │ │ │ │ │ │ ├── 83/ │ │ │ │ │ │ │ └── 3adc053967329865168c837874a47f1f4e23c0 │ │ │ │ │ │ ├── 84/ │ │ │ │ │ │ │ └── 2876a4cf487b6c7ac7cfb3d4f6e902cb54607f │ │ │ │ │ │ ├── 85/ │ │ │ │ │ │ │ └── 6b96dcb49d6427babe192998a35190a12c2230 │ │ │ │ │ │ ├── 88/ │ │ │ │ │ │ │ └── 1a621de1c88c6fc5dc1b3d7e837156be2931af │ │ │ │ │ │ ├── 89/ │ │ │ │ │ │ │ └── 28cefc2fa35cd05ce6321699e98126054eadc9 │ │ │ │ │ │ ├── 8a/ │ │ │ │ │ │ │ └── c9499438b6c13104a923a1b695d5379e56a467 │ │ │ │ │ │ ├── 8c/ │ │ │ │ │ │ │ └── 6fa02d2225de0f9bdcb7ca912556f68d172d8c │ │ │ │ │ │ ├── 8e/ │ │ │ │ │ │ │ └── 9c5e77ebd49acf62aa528890fc7601040ad08d │ │ │ │ │ │ ├── 8f/ │ │ │ │ │ │ │ └── 6580ab1dda79bb18edd54f6dc7a8c18bbf6e2b │ │ │ │ │ │ ├── 93/ │ │ │ │ │ │ │ └── a2c0f3a77d73a491fbf5a56fb07e36c80e36b6 │ │ │ │ │ │ ├── 95/ │ │ │ │ │ │ │ └── 21036ffb277bf794545ab2360fa412b28ad25c │ │ │ │ │ │ ├── 97/ │ │ │ │ │ │ │ ├── 206b3170fb7e2e5c28333eab815dcd6d47d369 │ │ │ │ │ │ │ ├── 74f4b835ad337d269359a6c3636a1eb59b0fa7 │ │ │ │ │ │ │ └── eaaf32e268581f7df9a7544607fcf6483da93b │ │ │ │ │ │ ├── 9a/ │ │ │ │ │ │ │ ├── 62a2af8c1fb2e1a899d0f69865dcd9103f936b │ │ │ │ │ │ │ └── e98369f6cf4153135b50887905a519c8eb8c0d │ │ │ │ │ │ ├── 9c/ │ │ │ │ │ │ │ ├── 28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744 │ │ │ │ │ │ │ └── 5894c1689f8fbeaba0067295763d8f302da0bc │ │ │ │ │ │ ├── 9d/ │ │ │ │ │ │ │ └── 9ce1213e32036f555185d5a7df854d6f801ef8 │ │ │ │ │ │ ├── a2/ │ │ │ │ │ │ │ └── 72c3cbd5ff80a5bf5c5603df50183f9f3f7324 │ │ │ │ │ │ ├── a8/ │ │ │ │ │ │ │ └── b0fa56c31e6e8ce5a858808216b2bbd4a5e3b5 │ │ │ │ │ │ ├── aa/ │ │ │ │ │ │ │ ├── 6658f8529bdc3c09ef21bfa6a195837ec253f9 │ │ │ │ │ │ │ └── e3745adf05cb1f24cc160de3d54043577aa5d0 │ │ │ │ │ │ ├── ab/ │ │ │ │ │ │ │ └── 97c7a63a9819fef6e2627f31e189fa7a1a06bd │ │ │ │ │ │ ├── ae/ │ │ │ │ │ │ │ └── f4831dd215fcecb900b0f80c25e209edb4359b │ │ │ │ │ │ ├── af/ │ │ │ │ │ │ │ └── d5f74d88220992585c13967fb940488a39a708 │ │ │ │ │ │ ├── b0/ │ │ │ │ │ │ │ └── c17e29c6182504c32f32559c99e07f837be593 │ │ │ │ │ │ ├── b2/ │ │ │ │ │ │ │ ├── 02029d1e0c1ce853d3a001dab5f242dea7b574 │ │ │ │ │ │ │ └── 4564e919247d7c870fe0ed3738c98d8741aca4 │ │ │ │ │ │ ├── b3/ │ │ │ │ │ │ │ ├── 0330ba347cf990afe64560fe72e4ed3519d64e │ │ │ │ │ │ │ ├── 38a0e4424a2633bba0fe169146d68b827c6829 │ │ │ │ │ │ │ └── 9c715a51cbccf9a8ef8a9ce38fab0620f7f8ac │ │ │ │ │ │ ├── b6/ │ │ │ │ │ │ │ └── 20a7591d08f55e771557eb711d92ee6f4bc5f9 │ │ │ │ │ │ ├── b7/ │ │ │ │ │ │ │ ├── 1d1ff1f8dea8a497885d85a2b9004e831af5c1 │ │ │ │ │ │ │ └── 29bcb755a53c20568f850dec45e1ff821134c9 │ │ │ │ │ │ ├── b8/ │ │ │ │ │ │ │ └── 354ec4b033c34718414ce79805961913c045f1 │ │ │ │ │ │ ├── ba/ │ │ │ │ │ │ │ └── a427835b16a8b0894b88f7a08a97637acd5147 │ │ │ │ │ │ ├── bb/ │ │ │ │ │ │ │ └── dcadf158386570a3bca08b68a7050024462deb │ │ │ │ │ │ ├── bc/ │ │ │ │ │ │ │ └── 81c21bd0d8be5ba2d6630a505d79d4467566e7 │ │ │ │ │ │ ├── bd/ │ │ │ │ │ │ │ ├── 3571639f68d5832c59b26fe606303eccf9842f │ │ │ │ │ │ │ └── 72adf685c31146a0dc68f313918652b57dd393 │ │ │ │ │ │ ├── be/ │ │ │ │ │ │ │ └── 0d20954ebff54d97f8cb3fb930b78d3eac347a │ │ │ │ │ │ ├── c2/ │ │ │ │ │ │ │ └── cde8cf824ab44be22ebcea6e5790ffef578766 │ │ │ │ │ │ ├── c4/ │ │ │ │ │ │ │ └── 6add8a652801b61513ad36c56759f302fbb028 │ │ │ │ │ │ ├── c9/ │ │ │ │ │ │ │ └── b43d98fc39a2f12d519e491545f07416f756bc │ │ │ │ │ │ ├── cb/ │ │ │ │ │ │ │ └── 51c97a4e2e17b9fe3514050baf1b2773d071f2 │ │ │ │ │ │ ├── cc/ │ │ │ │ │ │ │ ├── 1e7b18707d712254bbbbbec77cd21ef6f916d5 │ │ │ │ │ │ │ └── c41c38dde0abc584808c2abfb23e85a2e03b5a │ │ │ │ │ │ ├── ce/ │ │ │ │ │ │ │ └── 4404d976ba63e40e1f058ccdac89722f1eb31a │ │ │ │ │ │ ├── cf/ │ │ │ │ │ │ │ └── 16ed9f223764ff447adcaed555283eb6a0d18b │ │ │ │ │ │ ├── d1/ │ │ │ │ │ │ │ └── 371ecdb41640e57208c5ed5e4b0f5249b4364d │ │ │ │ │ │ ├── d2/ │ │ │ │ │ │ │ └── c308529e1f492ab3e065a735f082ff8657d95a │ │ │ │ │ │ ├── d4/ │ │ │ │ │ │ │ └── d0c4bdae5977ab62ddb74d97f775d384457c16 │ │ │ │ │ │ ├── d6/ │ │ │ │ │ │ │ ├── 38dcb7c7c1c9b62f3a6297a17834980d245dc7 │ │ │ │ │ │ │ ├── 71d98363b02cd8127087b4675ae77396db5843 │ │ │ │ │ │ │ └── bf4ef243b7f3b96d8a4249e63af711ef33d53e │ │ │ │ │ │ ├── db/ │ │ │ │ │ │ │ └── b7c2d02e284aa24423e3e6e105969dffe6e4d6 │ │ │ │ │ │ ├── de/ │ │ │ │ │ │ │ ├── 6eb9ed663ee61eab238d5780cd8ffcab977f7f │ │ │ │ │ │ │ └── d646f9783b3b64db74703f1bfc9d02f683ccc7 │ │ │ │ │ │ ├── df/ │ │ │ │ │ │ │ └── 823e6f1f996e45c0a5a81ca2b55cfc289f8264 │ │ │ │ │ │ ├── e1/ │ │ │ │ │ │ │ └── 67cfeeaaa9bcdffc220e65b962c9d32f681032 │ │ │ │ │ │ ├── e2/ │ │ │ │ │ │ │ ├── 49c1bcbf134cc63c70c4bd0403cc22c1bf11fc │ │ │ │ │ │ │ └── 91587027b16ffd7fb0e5bdd6bf203e8ed2620f │ │ │ │ │ │ ├── e4/ │ │ │ │ │ │ │ └── 58bb7ab84aae1bb4b4d36eccf9332f0d659e38 │ │ │ │ │ │ ├── e7/ │ │ │ │ │ │ │ └── a058d8ef0a38b821593a20ac3c8da952089f1e │ │ │ │ │ │ ├── e9/ │ │ │ │ │ │ │ └── 90b3f5582bad9a64ad391945aa65b04646025d │ │ │ │ │ │ ├── ec/ │ │ │ │ │ │ │ ├── 2fe7859914a5106dcab4e7901633d959bfc2f4 │ │ │ │ │ │ │ └── 452170d21fadd9e927f24ae471a258dc545261 │ │ │ │ │ │ ├── ed/ │ │ │ │ │ │ │ ├── 0a8cae348ee02108f96dc8ef1314c0ff55596d │ │ │ │ │ │ │ └── ec728e4f5af31cbfec3e32fd4c7d4c9a301db0 │ │ │ │ │ │ ├── ee/ │ │ │ │ │ │ │ └── a11ee5dba037073a03d5966ba6746da3e49aee │ │ │ │ │ │ ├── ef/ │ │ │ │ │ │ │ └── 9dc3a04d6a71ae4998f4d38232424183bbac8a │ │ │ │ │ │ ├── f1/ │ │ │ │ │ │ │ └── eef77925c262e65c12f60a0bd1229b6d954709 │ │ │ │ │ │ ├── f2/ │ │ │ │ │ │ │ └── 3da7b8966f2ac858367c469fc5d9c4d3d4bb1a │ │ │ │ │ │ ├── f6/ │ │ │ │ │ │ │ └── 2e98d28ab7ad31d707ba837a966378465c7b57 │ │ │ │ │ │ ├── f9/ │ │ │ │ │ │ │ └── d34972c1fa7a8d3d4158ab46503a6e7a99e822 │ │ │ │ │ │ ├── fa/ │ │ │ │ │ │ │ └── ae734d1543a4fbe986bb285e4f0b8283358b0b │ │ │ │ │ │ ├── ff/ │ │ │ │ │ │ │ └── fd48a6bc84c3e4887427e82765ab35f7330da6 │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-77d0e83c2cda2a56071c8ba7607f7af85b4a3c05.idx │ │ │ │ │ │ ├── pack-77d0e83c2cda2a56071c8ba7607f7af85b4a3c05.pack │ │ │ │ │ │ ├── pack-7e04f14864fc82be60df44e03e658ef5050836e2.idx │ │ │ │ │ │ ├── pack-7e04f14864fc82be60df44e03e658ef5050836e2.pack │ │ │ │ │ │ ├── pack-bfb5452876eff599619a3cbd8884c69901cd378c.idx │ │ │ │ │ │ ├── pack-bfb5452876eff599619a3cbd8884c69901cd378c.pack │ │ │ │ │ │ ├── pack-e8ea67467fac4943a9b6251e7c002ab6143e148a.idx │ │ │ │ │ │ ├── pack-e8ea67467fac4943a9b6251e7c002ab6143e148a.pack │ │ │ │ │ │ ├── pack-f0e44da11965862fc6013312001b2c1493d12093.idx │ │ │ │ │ │ └── pack-f0e44da11965862fc6013312001b2c1493d12093.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── bindpflag-readme │ │ │ │ │ └── master │ │ │ │ ├── zsh_completions.go │ │ │ │ └── zsh_completions_test.go │ │ │ ├── jwalterweatherman/ │ │ │ │ ├── .gitignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── default_notepad.go │ │ │ │ ├── default_notepad_test.go │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── master │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 12/ │ │ │ │ │ │ │ └── bd96e66386c1960ab0f74ced1362f66f552f7b │ │ │ │ │ │ ├── 58/ │ │ │ │ │ │ │ └── 8a373c47420353c3006fb27c00b7ee252fc399 │ │ │ │ │ │ ├── 7c/ │ │ │ │ │ │ │ └── 0cea34c8ece3fbeb2b27ab9b59511d360fb394 │ │ │ │ │ │ ├── ae/ │ │ │ │ │ │ │ └── 5aaf7114a1896dadae1b9482ddb3f81f24ef1c │ │ │ │ │ │ ├── c0/ │ │ │ │ │ │ │ └── d0b5930fe7bdf3fbf50eeb46acc84af9cf4956 │ │ │ │ │ │ ├── d8/ │ │ │ │ │ │ │ └── cfd27ab931b8ce5aa19bad7aab5cdb2fe8f14b │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-72a6182a686743a94f097424e9ce449d9c9a8aab.idx │ │ │ │ │ │ └── pack-72a6182a686743a94f097424e9ce449d9c9a8aab.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── log_counter.go │ │ │ │ ├── notepad.go │ │ │ │ └── notepad_test.go │ │ │ ├── pflag/ │ │ │ │ ├── .gitignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── bool.go │ │ │ │ ├── bool_slice.go │ │ │ │ ├── bool_slice_test.go │ │ │ │ ├── bool_test.go │ │ │ │ ├── count.go │ │ │ │ ├── count_test.go │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── FETCH_HEAD │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── ORIG_HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── master │ │ │ │ │ ├── objects/ │ │ │ │ │ │ ├── 00/ │ │ │ │ │ │ │ └── 26d781d9fb8ee93031d279223f46793fa98eb8 │ │ │ │ │ │ ├── 01/ │ │ │ │ │ │ │ ├── 543a38a293fc35d694ae63c21a3c66f7414e9e │ │ │ │ │ │ │ └── 665e1eb3d0533dca0e5acffdff9eec1fcb886f │ │ │ │ │ │ ├── 04/ │ │ │ │ │ │ │ ├── b5492a7d365cbfb9e979055151ec13698b3cb1 │ │ │ │ │ │ │ └── e0a26ff7f2653b7c569dabe8cb91296d76e288 │ │ │ │ │ │ ├── 08/ │ │ │ │ │ │ │ └── ad9456588688778ed462640a75278d426147f8 │ │ │ │ │ │ ├── 0a/ │ │ │ │ │ │ │ └── 7c136222914a940f4139f76dff16a805c54b5d │ │ │ │ │ │ ├── 0b/ │ │ │ │ │ │ │ ├── 879204d147d343013bfd9df10c26e0d9fdda0b │ │ │ │ │ │ │ └── afd385fc90316fca1a4285c6aeec10789090a4 │ │ │ │ │ │ ├── 0c/ │ │ │ │ │ │ │ ├── 67c24fb76fca600fca8de5830ffe3e01a89461 │ │ │ │ │ │ │ └── d3ccc083e28dc1a53874e8ade0759e1ef58425 │ │ │ │ │ │ ├── 0d/ │ │ │ │ │ │ │ └── e53385665dfc8fa6bb8ddf49c5facf52d602b9 │ │ │ │ │ │ ├── 0e/ │ │ │ │ │ │ │ └── 7ce96826adebbd2556517e0a993030ef3a0c51 │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ └── 3ce5cd2042f2fe629c1957abb64ab3e7f50235 │ │ │ │ │ │ ├── 13/ │ │ │ │ │ │ │ └── e924deb5961431f4836dcb0e247254b9cc23d4 │ │ │ │ │ │ ├── 14/ │ │ │ │ │ │ │ └── 74b89df6654b1ddcc9d3107f54966aa67e72a2 │ │ │ │ │ │ ├── 15/ │ │ │ │ │ │ │ └── 60c1005499d61b80f865c04d39ca7505bf7f0b │ │ │ │ │ │ ├── 18/ │ │ │ │ │ │ │ └── 7e4c9af7f2f986bc48c7db4f1d717fbd0eef21 │ │ │ │ │ │ ├── 19/ │ │ │ │ │ │ │ ├── 1ef6fd817dfda320833b43a97932f049562514 │ │ │ │ │ │ │ └── 3f842c97c2be7d90193b0cc93f63e8ba362ba6 │ │ │ │ │ │ ├── 1a/ │ │ │ │ │ │ │ └── dc4c7daa8182dacc9226e19bd4edc9310ee855 │ │ │ │ │ │ ├── 1b/ │ │ │ │ │ │ │ └── efb9495484af40a1ae4048b12fd9fc4bef2fea │ │ │ │ │ │ ├── 1c/ │ │ │ │ │ │ │ ├── eac8c6c699aee5b04c97bac16661a8b71a4b93 │ │ │ │ │ │ │ └── eb032c43c28e6511309bcd3e3e40e3026f5294 │ │ │ │ │ │ ├── 1e/ │ │ │ │ │ │ │ └── d5f6b7445569d09aa77a6071958ec49f6329c8 │ │ │ │ │ │ ├── 1f/ │ │ │ │ │ │ │ ├── 296710f879815ad9e6d39d947c828c3e4b4c3d │ │ │ │ │ │ │ └── 33b80956cde38911d1f23d764deb8d77a649ce │ │ │ │ │ │ ├── 23/ │ │ │ │ │ │ │ └── 0e229ea057d1dfa67530d799650af8ffc1cb9c │ │ │ │ │ │ ├── 25/ │ │ │ │ │ │ │ └── 3e78081c8b881fd5837570636965e524784ca1 │ │ │ │ │ │ ├── 26/ │ │ │ │ │ │ │ └── 118c70112fcad87f5ec6b5c09086069ba6f646 │ │ │ │ │ │ ├── 28/ │ │ │ │ │ │ │ └── 538c0750ba55a241175b4100a5fb3a6e5abccd │ │ │ │ │ │ ├── 29/ │ │ │ │ │ │ │ └── fec8671cf91776773da55da2eb7e16f0b86743 │ │ │ │ │ │ ├── 2b/ │ │ │ │ │ │ │ └── 9a66ea31c8d882d5783cad12f02a5bc061a278 │ │ │ │ │ │ ├── 2c/ │ │ │ │ │ │ │ ├── 300e72a98b4351617d9b927d2d2860ece8ee24 │ │ │ │ │ │ │ └── 85f67fd8ed06de4939c149a7d156e9a7e094a5 │ │ │ │ │ │ ├── 36/ │ │ │ │ │ │ │ ├── 691c652d7af84770e6ff0e2e0cbfcd14597756 │ │ │ │ │ │ │ └── 7864438f1b1a3c7db4da06a2f55b144e6784e0 │ │ │ │ │ │ ├── 37/ │ │ │ │ │ │ │ └── 85d375aa503789e67ea8af28a0d18f2396828c │ │ │ │ │ │ ├── 39/ │ │ │ │ │ │ │ └── 738d3ba33aeca94d41c3a7a021040951d58353 │ │ │ │ │ │ ├── 3e/ │ │ │ │ │ │ │ ├── 38a0f4e1f8c523638bf6def6fa8ee4e37eb86f │ │ │ │ │ │ │ └── 3eb74f36be195c71387f53486122e7bd53c6af │ │ │ │ │ │ ├── 40/ │ │ │ │ │ │ │ └── 7cff68662199c007da5e4aeb6a7786e5b5c2e4 │ │ │ │ │ │ ├── 42/ │ │ │ │ │ │ │ ├── 0b07eb66b205e132a0111c9bb2811175a12a96 │ │ │ │ │ │ │ ├── 33b40c6723a4375295ec3f718b6a7bb72f3619 │ │ │ │ │ │ │ └── 58f456bf0c4650c0f86e5e279f2519205de069 │ │ │ │ │ │ ├── 43/ │ │ │ │ │ │ │ └── 20ce2c9a98a978416b0d368619244ddaaeec69 │ │ │ │ │ │ ├── 46/ │ │ │ │ │ │ │ └── 0d96a6f1733b6c199f4bf88a11035d9f1fe03a │ │ │ │ │ │ ├── 47/ │ │ │ │ │ │ │ └── 7625a9e13468dd61981baeade64e055d93214f │ │ │ │ │ │ ├── 48/ │ │ │ │ │ │ │ └── 9b012ffdaa8804be59292a0ba1aafedcc96f42 │ │ │ │ │ │ ├── 49/ │ │ │ │ │ │ │ └── 309d3c76fea4ccdc96e849bf1bed1d834a1bf1 │ │ │ │ │ │ ├── 4a/ │ │ │ │ │ │ │ └── d1d38af3c5051df2717130aadea4c40d3699d7 │ │ │ │ │ │ ├── 4b/ │ │ │ │ │ │ │ └── d69631f4750a9df249ee317f4536e02cbc3c65 │ │ │ │ │ │ ├── 4c/ │ │ │ │ │ │ │ └── 012f6dcd9546820e378d0bdda4d8fc772cdfea │ │ │ │ │ │ ├── 4d/ │ │ │ │ │ │ │ └── a92228e63e24f3c3ecfcc98493ca222fa797c0 │ │ │ │ │ │ ├── 4e/ │ │ │ │ │ │ │ └── 958ba273e2c0b767f73131d061f8595f982861 │ │ │ │ │ │ ├── 4f/ │ │ │ │ │ │ │ ├── 7310d3b8d26f97d407adc7baeab21e40c73602 │ │ │ │ │ │ │ └── 9190456aed1c2113ca51ea9b89219747458dc1 │ │ │ │ │ │ ├── 50/ │ │ │ │ │ │ │ └── 4e59d55b872031dd46aa73471e19f24e46ddee │ │ │ │ │ │ ├── 51/ │ │ │ │ │ │ │ └── e3c5d22384634ba34d6e21e40661adc397e139 │ │ │ │ │ │ ├── 52/ │ │ │ │ │ │ │ └── c6b6dc1041f48e56a84c79369f0a15c7c3bee7 │ │ │ │ │ │ ├── 58/ │ │ │ │ │ │ │ └── 0ad22f59cc94136b7747c3164a31e30eeffcfd │ │ │ │ │ │ ├── 5b/ │ │ │ │ │ │ │ └── 54501df936f43e0d858576a9285b65f30407fa │ │ │ │ │ │ ├── 5c/ │ │ │ │ │ │ │ ├── 2d607c75df0540c877524f9e82d3edb7748668 │ │ │ │ │ │ │ └── cb023bc27df288a957c5e994cd44fd19619465 │ │ │ │ │ │ ├── 63/ │ │ │ │ │ │ │ └── 2d07c2c495285ab989bb875646960e56b33d88 │ │ │ │ │ │ ├── 64/ │ │ │ │ │ │ │ └── 54a84b6da0ea8b628d5d8a26759f62c6c161b4 │ │ │ │ │ │ ├── 67/ │ │ │ │ │ │ │ └── c0ed1945717dcfb2545f7c9ae3592274d88e10 │ │ │ │ │ │ ├── 68/ │ │ │ │ │ │ │ └── ea82416301b0dabac8b1c0985d40a0bfd798b5 │ │ │ │ │ │ ├── 69/ │ │ │ │ │ │ │ └── fafa7341b4e66379268b87b7e4166e91f5b0ea │ │ │ │ │ │ ├── 6a/ │ │ │ │ │ │ │ └── 877ebacf28c5fc79846f4fcd380a5d9872b997 │ │ │ │ │ │ ├── 6b/ │ │ │ │ │ │ │ └── 17fe97f4bd89a8ddeb415c6012893d6656465e │ │ │ │ │ │ ├── 6c/ │ │ │ │ │ │ │ └── a95541eb211fa1846ea9319fd3466f489af795 │ │ │ │ │ │ ├── 6e/ │ │ │ │ │ │ │ └── 3a4b33506602922b5e840801a7bf1f2c9f030f │ │ │ │ │ │ ├── 6f/ │ │ │ │ │ │ │ └── d2ff4ff8dfcdf5556fbdc0ac0284408274b1a7 │ │ │ │ │ │ ├── 70/ │ │ │ │ │ │ │ ├── 7bdc39a7f120212d27108179a17e304409558f │ │ │ │ │ │ │ └── 8651e313d153dc6e9eed236091514873cb2e33 │ │ │ │ │ │ ├── 73/ │ │ │ │ │ │ │ └── c237b0781dab6d2252cc23b779f9b805ace1c1 │ │ │ │ │ │ ├── 74/ │ │ │ │ │ │ │ ├── 54d60ac082b3cdfdbde3f840dc4348ca95a614 │ │ │ │ │ │ │ ├── 5aecb950a2aa197c221021a2d1f7eafeae386d │ │ │ │ │ │ │ └── a7afd606b18f37c1626a645906bc1a9e75007d │ │ │ │ │ │ ├── 75/ │ │ │ │ │ │ │ └── 97b2702729ebb651fc9bb2adac40bcc62db82d │ │ │ │ │ │ ├── 78/ │ │ │ │ │ │ │ ├── 0c7ffb5bec3613187a47fe2b8dcc2ef20127fe │ │ │ │ │ │ │ └── 29cfafb29a1c12feb67747b8298518bbc927d8 │ │ │ │ │ │ ├── 7a/ │ │ │ │ │ │ │ └── ff26db30c1be810f9de5038ec5ef96ac41fd7c │ │ │ │ │ │ ├── 7b/ │ │ │ │ │ │ │ ├── 17cc4658ef5ca157b986ea5c0b43af7938532b │ │ │ │ │ │ │ └── 84e2cde92cdac072d334c4d30b4f1e093f945a │ │ │ │ │ │ ├── 7e/ │ │ │ │ │ │ │ └── 9914eddded70662356d132d2b16623c9bd807c │ │ │ │ │ │ ├── 85/ │ │ │ │ │ │ │ └── c34a7ce976e06dd20a5e7aaccb568121348c08 │ │ │ │ │ │ ├── 86/ │ │ │ │ │ │ │ └── b37e53d719c571074b7f40574499df58282c0a │ │ │ │ │ │ ├── 8f/ │ │ │ │ │ │ │ └── 6a28b0916586e7f22fe931ae2fcfc380b1c0e6 │ │ │ │ │ │ ├── 90/ │ │ │ │ │ │ │ └── 8f5315b68abbed0170c5c1fde821a3a7aabdc2 │ │ │ │ │ │ ├── 91/ │ │ │ │ │ │ │ └── ff7dd057731d7010d888fb5395d5899c59e380 │ │ │ │ │ │ ├── 92/ │ │ │ │ │ │ │ ├── 7a44080ace93187e5b0e93c54d6c29ad6144ed │ │ │ │ │ │ │ └── abf1943761d39805d58c36456e757becf78b92 │ │ │ │ │ │ ├── 93/ │ │ │ │ │ │ │ └── b4e43290a04ed8043405bfa739727fb83641a3 │ │ │ │ │ │ ├── 96/ │ │ │ │ │ │ │ └── 5df13797a13efdeba64aac816023b91fbcf03a │ │ │ │ │ │ ├── 97/ │ │ │ │ │ │ │ └── afa5e7ca8a08a383cb259e06636b5e2cc7897f │ │ │ │ │ │ ├── 98/ │ │ │ │ │ │ │ └── a4b6bf55b492cb5a5a4c4697c401d527876fa1 │ │ │ │ │ │ ├── 9b/ │ │ │ │ │ │ │ └── 95944f0fe3c897d503c4a94a19c2271cbcc26c │ │ │ │ │ │ ├── a1/ │ │ │ │ │ │ │ └── 3921d2f956128ed2d1c123d89749db36625645 │ │ │ │ │ │ ├── a2/ │ │ │ │ │ │ │ └── 43f81f7fbb900c5f69b3a13b040bfe26b8cecf │ │ │ │ │ │ ├── a4/ │ │ │ │ │ │ │ └── 319e79fcdaacfea82f31b78e51bae1a8af1e6c │ │ │ │ │ │ ├── a9/ │ │ │ │ │ │ │ └── 789e855c7696159b7db0db7f440b449edf2b31 │ │ │ │ │ │ ├── aa/ │ │ │ │ │ │ │ └── 126e44d1c83255b9283a73ef38e4068c2f5922 │ │ │ │ │ │ ├── ab/ │ │ │ │ │ │ │ └── 5e840d6a03a1115acc60f555f452e31b204226 │ │ │ │ │ │ ├── ad/ │ │ │ │ │ │ │ └── c6ccc62c61bc48e0ba9c6e71fdc4d23558af9f │ │ │ │ │ │ ├── b0/ │ │ │ │ │ │ │ ├── 27180f68d2dd09ce6a5b64a4e03b9413c8421e │ │ │ │ │ │ │ ├── b0d46f7ffe1a24eed25bcce6e8309ef2e48bb2 │ │ │ │ │ │ │ └── eb4ffee0254f791549889950e4fc05bb9c56a0 │ │ │ │ │ │ ├── b2/ │ │ │ │ │ │ │ ├── 94fc768d22573e4916b383a06358bac448ed93 │ │ │ │ │ │ │ └── cdba01d8c7de00a8924812f774f33ee97f709a │ │ │ │ │ │ ├── b3/ │ │ │ │ │ │ │ ├── 6bf8b7f77c3eff847e3616cfdeb9b88538453f │ │ │ │ │ │ │ └── 8ddae17129b3c437006f13d3cfef7b31b0fd87 │ │ │ │ │ │ ├── b8/ │ │ │ │ │ │ │ └── 3537d79690b75cac5e021b036ae16792bf0f20 │ │ │ │ │ │ ├── bb/ │ │ │ │ │ │ │ ├── 03cfcaadefa99ce8214d353fc987eebf662347 │ │ │ │ │ │ │ └── 0e83c1f6d7d2a540f74a0652639eccdb8c5cf2 │ │ │ │ │ │ ├── be/ │ │ │ │ │ │ │ └── 7121dd7a937a85e1e4b1ddda6a3edce3466110 │ │ │ │ │ │ ├── bf/ │ │ │ │ │ │ │ └── 8481a6aebc13a8aab52e699ffe2e79771f5a3f │ │ │ │ │ │ ├── c2/ │ │ │ │ │ │ │ └── 8f3bd454ba1743452f14fadd6bfddbbef549b4 │ │ │ │ │ │ ├── c4/ │ │ │ │ │ │ │ ├── 1f3bd660d5b735e6603e02a630c2701869922d │ │ │ │ │ │ │ └── c5c0bfda095257e849395a0b79e7e83b2a121a │ │ │ │ │ │ ├── c6/ │ │ │ │ │ │ │ └── 5cf07d70dfbd07a44366523d988cd567e2659f │ │ │ │ │ │ ├── c7/ │ │ │ │ │ │ │ └── e63cf4530bcd3ba943729cee0efeff2ebea63f │ │ │ │ │ │ ├── cb/ │ │ │ │ │ │ │ └── 88ea77998c3f024757528e3305022ab50b43be │ │ │ │ │ │ ├── d1/ │ │ │ │ │ │ │ └── 6d05ecad8d146ef127c975e2e3e167b6e38ad6 │ │ │ │ │ │ ├── d2/ │ │ │ │ │ │ │ └── 2be41f29f5e2d0f48958f65e9c83c8acd2ff23 │ │ │ │ │ │ ├── d5/ │ │ │ │ │ │ │ └── 87752f33bc0bbb128731a1bcfa8db6926a91cd │ │ │ │ │ │ ├── d6/ │ │ │ │ │ │ │ └── 8ef7c38c75152f9dac79bc635bd070b70d0913 │ │ │ │ │ │ ├── d8/ │ │ │ │ │ │ │ └── 024539bf6510282ced06b7f27fcdec6e0e5cb9 │ │ │ │ │ │ ├── d9/ │ │ │ │ │ │ │ └── aee579bd94292c6e0ada0af71597c0ca4ec72d │ │ │ │ │ │ ├── da/ │ │ │ │ │ │ │ └── bebe21bf790f782ea4c7bbd2efc430de182afd │ │ │ │ │ │ ├── db/ │ │ │ │ │ │ │ └── 352a6007d2989420eaf525fb1f885e2b3c6982 │ │ │ │ │ │ ├── dc/ │ │ │ │ │ │ │ └── bc2b758c3e54aa0c87467680ceed3896b7f429 │ │ │ │ │ │ ├── dd/ │ │ │ │ │ │ │ └── abd6cff21ef95f1f957d249268bb58541c2dc0 │ │ │ │ │ │ ├── e8/ │ │ │ │ │ │ │ └── 4d571ec5016798320009235365d512ac0a7b3b │ │ │ │ │ │ ├── e9/ │ │ │ │ │ │ │ └── 1c11198c9cefb082ba4cfee4884d86b4f7c7c2 │ │ │ │ │ │ ├── eb/ │ │ │ │ │ │ │ ├── 143d79ac16f86d7f738858f4df277226a1e2e7 │ │ │ │ │ │ │ └── bbc44937b64104bb115b4944b15013ef208a11 │ │ │ │ │ │ ├── ed/ │ │ │ │ │ │ │ └── 7cbfc0f6f6e7614e37b005b284c6369261223c │ │ │ │ │ │ ├── ee/ │ │ │ │ │ │ │ └── 5fd03fd6acfd43e44aea0b4135958546ed8e73 │ │ │ │ │ │ ├── f0/ │ │ │ │ │ │ │ └── 64db4255f3f597b7e6b4f78998399262ed5b69 │ │ │ │ │ │ ├── f1/ │ │ │ │ │ │ │ ├── 6a5a86563bfeb26b484ff2765594ca78d2bcd1 │ │ │ │ │ │ │ └── a01d05e6946c68062903ebb0081741e65ff5c2 │ │ │ │ │ │ ├── f2/ │ │ │ │ │ │ │ ├── 6459a1aa7b2634987fa42b7b82de0173709bb3 │ │ │ │ │ │ │ ├── a49d97b995341b173c47d36273e44c2bda732b │ │ │ │ │ │ │ ├── a61de59b416a221708c3943926ef417d17efed │ │ │ │ │ │ │ └── d6f28c2c0f89c8a9384311f4a9dabc843e9571 │ │ │ │ │ │ ├── f3/ │ │ │ │ │ │ │ └── 20f2ece369d524a49886e78d2a9849207427aa │ │ │ │ │ │ ├── f6/ │ │ │ │ │ │ │ ├── 2240f2ceab10a28d1ff206a8071ad2f2afa1cd │ │ │ │ │ │ │ └── 76131e2660dc8cd88de99f7486d34aa8172635 │ │ │ │ │ │ ├── f9/ │ │ │ │ │ │ │ └── 0e8bbe4975ae9216a06b7d6f8d33590628e4ab │ │ │ │ │ │ ├── fa/ │ │ │ │ │ │ │ ├── 7bc60187a793af7b9aabc709c2787e36bb8c90 │ │ │ │ │ │ │ └── 815642ed02b77452ac55ac16171dcc03645d3d │ │ │ │ │ │ ├── fe/ │ │ │ │ │ │ │ └── 9a4a3f8e49b9dd9c2f5b6ba49b2a05e56cb498 │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-37635e403df09080e4b5ea7f363d304dd4852b37.idx │ │ │ │ │ │ ├── pack-37635e403df09080e4b5ea7f363d304dd4852b37.pack │ │ │ │ │ │ ├── pack-d8ec5e42ece2a5e2b9996eaf8374937574d7abc3.idx │ │ │ │ │ │ └── pack-d8ec5e42ece2a5e2b9996eaf8374937574d7abc3.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── duration.go │ │ │ │ ├── duration_slice.go │ │ │ │ ├── duration_slice_test.go │ │ │ │ ├── example_test.go │ │ │ │ ├── export_test.go │ │ │ │ ├── flag.go │ │ │ │ ├── flag_test.go │ │ │ │ ├── float32.go │ │ │ │ ├── float64.go │ │ │ │ ├── golangflag.go │ │ │ │ ├── golangflag_test.go │ │ │ │ ├── int.go │ │ │ │ ├── int16.go │ │ │ │ ├── int32.go │ │ │ │ ├── int64.go │ │ │ │ ├── int8.go │ │ │ │ ├── int_slice.go │ │ │ │ ├── int_slice_test.go │ │ │ │ ├── ip.go │ │ │ │ ├── ip_slice.go │ │ │ │ ├── ip_slice_test.go │ │ │ │ ├── ip_test.go │ │ │ │ ├── ipmask.go │ │ │ │ ├── ipnet.go │ │ │ │ ├── ipnet_test.go │ │ │ │ ├── string.go │ │ │ │ ├── string_array.go │ │ │ │ ├── string_array_test.go │ │ │ │ ├── string_slice.go │ │ │ │ ├── string_slice_test.go │ │ │ │ ├── uint.go │ │ │ │ ├── uint16.go │ │ │ │ ├── uint32.go │ │ │ │ ├── uint64.go │ │ │ │ ├── uint8.go │ │ │ │ ├── uint_slice.go │ │ │ │ ├── uint_slice_test.go │ │ │ │ └── verify/ │ │ │ │ ├── all.sh │ │ │ │ ├── gofmt.sh │ │ │ │ └── golint.sh │ │ │ └── viper/ │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── dot.git/ │ │ │ │ ├── FETCH_HEAD │ │ │ │ ├── HEAD │ │ │ │ ├── ORIG_HEAD │ │ │ │ ├── config │ │ │ │ ├── description │ │ │ │ ├── hooks/ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ ├── post-update.sample │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ └── update.sample │ │ │ │ ├── index │ │ │ │ ├── info/ │ │ │ │ │ └── exclude │ │ │ │ ├── logs/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── master │ │ │ │ ├── objects/ │ │ │ │ │ ├── 00/ │ │ │ │ │ │ └── ed41cdba2612ddf07559b1cae78ca23d213ba6 │ │ │ │ │ ├── 04/ │ │ │ │ │ │ └── 691bc570c10b492d8bf7b66aae05e0c9ecb0db │ │ │ │ │ ├── 0a/ │ │ │ │ │ │ └── f80bb635b741d58afd4b39b5f393ee1b0ac6b4 │ │ │ │ │ ├── 0b/ │ │ │ │ │ │ └── 976b60523c422db04b5d43aa843817af80a393 │ │ │ │ │ ├── 16/ │ │ │ │ │ │ └── a945857303e8ea14318664816932b07a0ed5ce │ │ │ │ │ ├── 1a/ │ │ │ │ │ │ └── 0c4a370c3e8286b835467d2dfcdaf636c3538b │ │ │ │ │ ├── 25/ │ │ │ │ │ │ └── b30aa063fc18e48662b86996252eabdcf2f0c7 │ │ │ │ │ ├── 26/ │ │ │ │ │ │ └── 6e588e9eca7ee317e9f0446a01934675a4d261 │ │ │ │ │ ├── 2a/ │ │ │ │ │ │ ├── 221e53cb00a1329e780a1a8c69a8adc9059467 │ │ │ │ │ │ └── 2ec96d8d7b5be01a86a0bed4bbc21e401d82da │ │ │ │ │ ├── 2e/ │ │ │ │ │ │ └── 33450ca57a6a7c8a2fbf882a3951d31dc64212 │ │ │ │ │ ├── 3a/ │ │ │ │ │ │ └── 81555f3e933014f971c93792bb8b9330e94f30 │ │ │ │ │ ├── 40/ │ │ │ │ │ │ └── 2ad3d2032704a5767e60faddcecbc8e5a8d2e7 │ │ │ │ │ ├── 45/ │ │ │ │ │ │ └── 4a0e9e60d776ea1c5980f32d24a9222addb2d0 │ │ │ │ │ ├── 46/ │ │ │ │ │ │ └── 31e3185198dc56f134c4e4d0061e50f73f2300 │ │ │ │ │ ├── 4a/ │ │ │ │ │ │ └── 7e68bd13fdc7a8e3a372c72bdc451c6ffeafbc │ │ │ │ │ ├── 4d/ │ │ │ │ │ │ └── ddf7c62e16bce5807744018f5b753bfe21bbd2 │ │ │ │ │ ├── 4e/ │ │ │ │ │ │ └── 81f556fe05040ca37a51a32cc3c0d9f1b09fe3 │ │ │ │ │ ├── 52/ │ │ │ │ │ │ └── 21c144310b506e6cbddfcdc3ef840c1fc2537b │ │ │ │ │ ├── 55/ │ │ │ │ │ │ └── 960d11b7bec66f9e7b74899615f02d8dd68748 │ │ │ │ │ ├── 60/ │ │ │ │ │ │ └── 6274b078aa86793bc97342ef94f79820bf1ed2 │ │ │ │ │ ├── 61/ │ │ │ │ │ │ └── dc0af1ef77254da88d311f87e752880c5e3d2b │ │ │ │ │ ├── 64/ │ │ │ │ │ │ ├── bf47435847d3b092866baf49dfa55329027616 │ │ │ │ │ │ └── f006a39880991f6c413e3f257dfa5b968ac42a │ │ │ │ │ ├── 68/ │ │ │ │ │ │ └── a35d692c5a36c376e22e5628fdbce5f5963401 │ │ │ │ │ ├── 6f/ │ │ │ │ │ │ └── 475f0366ee75766280ed5da0a0eb8777ae75c4 │ │ │ │ │ ├── 70/ │ │ │ │ │ │ └── 50d5abd96c0245ec49ce3410fa98a30c589f28 │ │ │ │ │ ├── 81/ │ │ │ │ │ │ └── 0d0702e71e94cf33bc7a281266fd9b0bdf92ab │ │ │ │ │ ├── 84/ │ │ │ │ │ │ └── 8d92d6b87bbc84afb4ea9bdf0e9bfecfb5863c │ │ │ │ │ ├── 8a/ │ │ │ │ │ │ └── c2e2e20f3d24e5b3b85ae0fcd11bdb0caf0f15 │ │ │ │ │ ├── 8e/ │ │ │ │ │ │ ├── 723d402b1d9e8dcbe2af46c6b73c2737e9e766 │ │ │ │ │ │ └── f37cbca71638bf32f3d5e194117d4cb46da163 │ │ │ │ │ ├── 92/ │ │ │ │ │ │ └── 366d6fd9db63c0654d44757789d168d50107da │ │ │ │ │ ├── 95/ │ │ │ │ │ │ └── 2cad44c6312173cb9f97481ba4c613a2f24e0f │ │ │ │ │ ├── 96/ │ │ │ │ │ │ ├── 3861ace876dda79489d6c2eeae10ce2617cc6d │ │ │ │ │ │ └── 9ca86ccd0d7460a2de44a3946669cf503ca52b │ │ │ │ │ ├── 97/ │ │ │ │ │ │ ├── 66537120e76571a9a2dcafe4b25a3201dcac22 │ │ │ │ │ │ └── f4c3fe507a49f928b0add80d0a49306adaf500 │ │ │ │ │ ├── a4/ │ │ │ │ │ │ └── 34ee816d829e226dd75106d97c427b490c5148 │ │ │ │ │ ├── a8/ │ │ │ │ │ │ └── af3f79205116debac59c5e240414fbad52e36f │ │ │ │ │ ├── aa/ │ │ │ │ │ │ └── fc9e6bc7b7bb53ddaa75a5ef49a17d6e654be5 │ │ │ │ │ ├── ad/ │ │ │ │ │ │ └── 8a03729106386866a3ef96e3f98ede238c7ed2 │ │ │ │ │ ├── b5/ │ │ │ │ │ │ └── e8006cbee93ec955a89ab31e0e3ce3204f3736 │ │ │ │ │ ├── bb/ │ │ │ │ │ │ └── 3ae3f41bb1e9677a43ab5b3ea61263a36a1374 │ │ │ │ │ ├── c7/ │ │ │ │ │ │ └── 84dad40a5a5928e6ba6dbeece87561ebf8c45c │ │ │ │ │ ├── c9/ │ │ │ │ │ │ └── 3480eabd8e5175e4ad48bafe5bc6dab4f4c582 │ │ │ │ │ ├── ca/ │ │ │ │ │ │ └── afa4b041b17f0aaced9b0ceaa4964ea1a82196 │ │ │ │ │ ├── d9/ │ │ │ │ │ │ └── cca5ef33035202efb1586825bdbb15ff9ec3ba │ │ │ │ │ ├── df/ │ │ │ │ │ │ └── 7314a14e26fea5443bb6e696b207d14d9a266d │ │ │ │ │ ├── e0/ │ │ │ │ │ │ └── 88cbf7f6d1593a1cf6db94d3c10499f6ba4356 │ │ │ │ │ ├── e7/ │ │ │ │ │ │ └── c6090f6d9b676b476955bd13043820dcf76df8 │ │ │ │ │ ├── e9/ │ │ │ │ │ │ └── 966ba58c27c16fb5184f92ed46a2ffe7daa609 │ │ │ │ │ ├── ea/ │ │ │ │ │ │ └── 933d81a41a84abd35633e7439b2d965f2feaa2 │ │ │ │ │ ├── ee/ │ │ │ │ │ │ └── e271be80ea75a39df787fe46048e09ecbac3ac │ │ │ │ │ ├── f1/ │ │ │ │ │ │ ├── deac3d74fa38ede2e2cbf2e8057685cb32da0d │ │ │ │ │ │ └── e7944daeb3bf95a1dfe9a4b5db04e329b90f8a │ │ │ │ │ ├── f2/ │ │ │ │ │ │ └── 57d19100ad11ec71a89d431c0fbd3933c0b235 │ │ │ │ │ └── pack/ │ │ │ │ │ ├── pack-ea6283859de36257a203a741ab7adbf0cd9cb6ff.idx │ │ │ │ │ └── pack-ea6283859de36257a203a741ab7adbf0cd9cb6ff.pack │ │ │ │ ├── packed-refs │ │ │ │ └── refs/ │ │ │ │ ├── heads/ │ │ │ │ │ └── master │ │ │ │ └── remotes/ │ │ │ │ └── origin/ │ │ │ │ ├── HEAD │ │ │ │ └── master │ │ │ ├── flags.go │ │ │ ├── flags_test.go │ │ │ ├── overrides_test.go │ │ │ ├── remote/ │ │ │ │ └── remote.go │ │ │ ├── util.go │ │ │ ├── util_test.go │ │ │ ├── viper.go │ │ │ └── viper_test.go │ │ ├── stepelu/ │ │ │ ├── lua-sci/ │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── __init.lua │ │ │ │ ├── __meta.lua │ │ │ │ ├── _cblas_h.lua │ │ │ │ ├── alg.lua │ │ │ │ ├── complex.lua │ │ │ │ ├── diff.lua │ │ │ │ ├── dist/ │ │ │ │ │ ├── _beta.lua │ │ │ │ │ ├── _exponential.lua │ │ │ │ │ ├── _gamma.lua │ │ │ │ │ ├── _lognormal.lua │ │ │ │ │ ├── _normal.lua │ │ │ │ │ ├── _student.lua │ │ │ │ │ └── _uniform.lua │ │ │ │ ├── dist.lua │ │ │ │ ├── dot.git/ │ │ │ │ │ ├── HEAD │ │ │ │ │ ├── config │ │ │ │ │ ├── description │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ │ ├── post-update.sample │ │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ │ └── update.sample │ │ │ │ │ ├── index │ │ │ │ │ ├── info/ │ │ │ │ │ │ └── exclude │ │ │ │ │ ├── logs/ │ │ │ │ │ │ ├── HEAD │ │ │ │ │ │ └── refs/ │ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ │ └── master │ │ │ │ │ │ └── remotes/ │ │ │ │ │ │ └── origin/ │ │ │ │ │ │ └── HEAD │ │ │ │ │ ├── objects/ │ │ │ │ │ │ └── pack/ │ │ │ │ │ │ ├── pack-790b4b3c5d14f3ccf69ed1f4ead1a1973f09a455.idx │ │ │ │ │ │ └── pack-790b4b3c5d14f3ccf69ed1f4ead1a1973f09a455.pack │ │ │ │ │ ├── packed-refs │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ └── HEAD │ │ │ │ ├── fmax.lua │ │ │ │ ├── fmin/ │ │ │ │ │ ├── _de.lua │ │ │ │ │ └── _lbfgs.lua │ │ │ │ ├── fmin.lua │ │ │ │ ├── math.lua │ │ │ │ ├── mcmc/ │ │ │ │ │ └── _nuts.lua │ │ │ │ ├── mcmc.lua │ │ │ │ ├── prng/ │ │ │ │ │ ├── _marsaglia.lua │ │ │ │ │ └── _mrg.lua │ │ │ │ ├── prng.lua │ │ │ │ ├── qrng/ │ │ │ │ │ ├── _new-joe-kuo-6-21201.lua │ │ │ │ │ └── _sobol.lua │ │ │ │ ├── qrng.lua │ │ │ │ ├── quad/ │ │ │ │ │ ├── _dblexp.lua │ │ │ │ │ └── _dblexp_precomputed.lua │ │ │ │ ├── quad.lua │ │ │ │ ├── root/ │ │ │ │ │ ├── _newtonm.lua │ │ │ │ │ └── _ridders.lua │ │ │ │ ├── root.lua │ │ │ │ └── stat.lua │ │ │ └── lua-xsys/ │ │ │ ├── LICENSE.TXT │ │ │ ├── README.md │ │ │ ├── __meta.lua │ │ │ ├── _dep/ │ │ │ │ └── templet/ │ │ │ │ └── init.lua │ │ │ ├── dot.git/ │ │ │ │ ├── HEAD │ │ │ │ ├── config │ │ │ │ ├── description │ │ │ │ ├── hooks/ │ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ │ ├── commit-msg.sample │ │ │ │ │ ├── post-update.sample │ │ │ │ │ ├── pre-applypatch.sample │ │ │ │ │ ├── pre-commit.sample │ │ │ │ │ ├── pre-push.sample │ │ │ │ │ ├── pre-rebase.sample │ │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ │ └── update.sample │ │ │ │ ├── index │ │ │ │ ├── info/ │ │ │ │ │ └── exclude │ │ │ │ ├── logs/ │ │ │ │ │ ├── HEAD │ │ │ │ │ └── refs/ │ │ │ │ │ ├── heads/ │ │ │ │ │ │ └── master │ │ │ │ │ └── remotes/ │ │ │ │ │ └── origin/ │ │ │ │ │ └── HEAD │ │ │ │ ├── objects/ │ │ │ │ │ ├── 07/ │ │ │ │ │ │ └── eb9fccd2f9050e47fcb321192b116e27185c04 │ │ │ │ │ ├── 08/ │ │ │ │ │ │ └── 33ff3b1ed4b2745e2331abc2b501eb9bac702f │ │ │ │ │ ├── 0a/ │ │ │ │ │ │ └── deec1198f97b95f289be2588aaa13709e6a9c0 │ │ │ │ │ ├── 0c/ │ │ │ │ │ │ └── d7097a1c5b779447c6a73d0f1a0f060273d9c2 │ │ │ │ │ ├── 0d/ │ │ │ │ │ │ └── a9c4b4e6df60b279943abf1ebad8d90231f93c │ │ │ │ │ ├── 16/ │ │ │ │ │ │ └── c38f7c2a389918e650e47d8eafcf80be791da3 │ │ │ │ │ ├── 26/ │ │ │ │ │ │ └── a91c6de6d0e86f2b760150fdd4d313f13f18bd │ │ │ │ │ ├── 2b/ │ │ │ │ │ │ └── 7e575365d0e8dffa0b335b3e268c83dd14f93c │ │ │ │ │ ├── 2d/ │ │ │ │ │ │ └── 43803226d01559cba7ec6419aa8a348394a716 │ │ │ │ │ ├── 2e/ │ │ │ │ │ │ └── b97ea08a8467dc7897048791777f18fad8a2b1 │ │ │ │ │ ├── 38/ │ │ │ │ │ │ └── c7c409777c6208d9b933567a320861e7264a38 │ │ │ │ │ ├── 39/ │ │ │ │ │ │ └── 5e45e2d7c31dfed10f02f53c68e27830bfaddd │ │ │ │ │ ├── 3a/ │ │ │ │ │ │ └── 3a5d01557493c97f94ef409722a40582aab019 │ │ │ │ │ ├── 3b/ │ │ │ │ │ │ └── 054a5bae3e6f4f545041d8d6a9925d37e730aa │ │ │ │ │ ├── 45/ │ │ │ │ │ │ └── 0d877a606914b2f266cff0d72a32cc7e298e7a │ │ │ │ │ ├── 4d/ │ │ │ │ │ │ └── 7e51366fceab4358275a5862f91499cb32331d │ │ │ │ │ ├── 51/ │ │ │ │ │ │ └── 1c57487a4463ca1d9042e4e27a2b607de8c4a8 │ │ │ │ │ ├── 53/ │ │ │ │ │ │ └── 427fbfd9f37c5ea2a330a23af20d4e0136b6a4 │ │ │ │ │ ├── 5e/ │ │ │ │ │ │ └── ac51f7a846c5b2cf920927b2a4255d7a5a17b1 │ │ │ │ │ ├── 66/ │ │ │ │ │ │ ├── 39aeb468754629242eebfe3b8a206918b23304 │ │ │ │ │ │ └── a951fcebd614997b02d0cd7c1c8b9f7c28a25b │ │ │ │ │ ├── 6d/ │ │ │ │ │ │ └── 2116b9c2e7472eeb244fcb16879e40e0003cdc │ │ │ │ │ ├── 71/ │ │ │ │ │ │ └── d91f0cbe6ea9591b926ab82ed4af947a722e28 │ │ │ │ │ ├── 74/ │ │ │ │ │ │ └── 695b9b7bfaf393c403bb1f1c80febd0f3563ef │ │ │ │ │ ├── 7c/ │ │ │ │ │ │ └── 1110c74bb29721263f652c6812c827a7b27569 │ │ │ │ │ ├── 82/ │ │ │ │ │ │ └── 71acf063eaadf74bbb3d5ced8afb0ca92c067a │ │ │ │ │ ├── 87/ │ │ │ │ │ │ └── df92cf779bc63dec59085d26da8329f1fffe36 │ │ │ │ │ ├── 89/ │ │ │ │ │ │ └── 0b3448a79b9fe941f4c9b02d45ccd2b249b1c6 │ │ │ │ │ ├── 8b/ │ │ │ │ │ │ └── 137891791fe96927ad78e64b0aad7bded08bdc │ │ │ │ │ ├── 8f/ │ │ │ │ │ │ └── 28dfa2021396f8a4d169acc83bed5ccc08f385 │ │ │ │ │ ├── 94/ │ │ │ │ │ │ └── b1deec790084d364ad7cdd51a21aec38b5bdcf │ │ │ │ │ ├── 95/ │ │ │ │ │ │ └── 08a03d74e8237488749ddd955b843f975c2f52 │ │ │ │ │ ├── 9f/ │ │ │ │ │ │ └── dd52d8a387933aa0d56d1bc481c3a41d9df50c │ │ │ │ │ ├── a4/ │ │ │ │ │ │ └── e30831af119708be53e373e298c4a18c3a832d │ │ │ │ │ ├── a7/ │ │ │ │ │ │ └── 6d25205ac8395ed104e858da3b8d296293900f │ │ │ │ │ ├── a8/ │ │ │ │ │ │ └── 2e3932c57b6bdb0d66ec6a68e06db2e7399ff1 │ │ │ │ │ ├── ab/ │ │ │ │ │ │ └── f0edd6ed4d36d46f41b6b1b2dbdee59528a768 │ │ │ │ │ ├── b0/ │ │ │ │ │ │ ├── 014ef86892dee484e203e3d5cc4c1564499e1c │ │ │ │ │ │ └── ee1b61dc9c9cb6833f127b593aef6c1b4f2f7c │ │ │ │ │ ├── bd/ │ │ │ │ │ │ └── 5a33b7a38f96d7f1adfcb39729505e5aa6707e │ │ │ │ │ ├── c5/ │ │ │ │ │ │ └── 6c857cf243bda844485fa54db1459e5ba4c319 │ │ │ │ │ ├── c7/ │ │ │ │ │ │ └── 9547fcc2ed044b4ee64b717563992ceb409f80 │ │ │ │ │ ├── c9/ │ │ │ │ │ │ └── fa88532eb2970dac47fa5cd19f17f40d422089 │ │ │ │ │ ├── cb/ │ │ │ │ │ │ └── 74ce9ba28ef3c3bdd50d9535c053e550aef649 │ │ │ │ │ ├── d4/ │ │ │ │ │ │ └── e278acf351e42ca511cd01d6ed97503ed1b60f │ │ │ │ │ ├── da/ │ │ │ │ │ │ └── 39eb8c081cae4eaacd2e12105c8e4fe71abc16 │ │ │ │ │ ├── de/ │ │ │ │ │ │ └── 48f0c0c027e8af60acafea8af13518c8bb85aa │ │ │ │ │ ├── df/ │ │ │ │ │ │ └── 5ca935ca99321696b778cf5da0af8699525f54 │ │ │ │ │ ├── e1/ │ │ │ │ │ │ └── 254bf5ebcdb29635067eba734221464c907537 │ │ │ │ │ ├── e3/ │ │ │ │ │ │ └── 0ddcfd7ed89478f0de9652afa7fc50a8861d8d │ │ │ │ │ ├── ea/ │ │ │ │ │ │ └── b12b201e5d211827d751a5de653d1e60fad158 │ │ │ │ │ ├── ed/ │ │ │ │ │ │ └── 7fc958dd7df331802767ad323aeb30edec4d84 │ │ │ │ │ ├── f1/ │ │ │ │ │ │ └── 9f4b7c8d436314d27fbd5dcaed10d08ca88230 │ │ │ │ │ ├── f2/ │ │ │ │ │ │ └── 071f1f4130842b9661e79b75a1b5d0ec11a6d7 │ │ │ │ │ ├── f4/ │ │ │ │ │ │ └── 7a37dbe3ef2c20798f3056b3fd76e89d79b1d9 │ │ │ │ │ ├── f7/ │ │ │ │ │ │ └── 0ba818f1ca6cebfcba6fddc1911c139c93f1df │ │ │ │ │ ├── fd/ │ │ │ │ │ │ └── d7aac5fb552d2f94dc532ababb3164a49c5a31 │ │ │ │ │ └── ff/ │ │ │ │ │ └── 031669f0d7d0ee1455342a5dceb13f1a811c33 │ │ │ │ ├── packed-refs │ │ │ │ └── refs/ │ │ │ │ ├── heads/ │ │ │ │ │ └── master │ │ │ │ └── remotes/ │ │ │ │ └── origin/ │ │ │ │ └── HEAD │ │ │ └── init.lua │ │ └── xianyi/ │ │ └── OpenBLAS/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── BACKERS.md │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTORS.md │ │ ├── Changelog.txt │ │ ├── GotoBLAS_00License.txt │ │ ├── GotoBLAS_01Readme.txt │ │ ├── GotoBLAS_02QuickInstall.txt │ │ ├── GotoBLAS_03FAQ.txt │ │ ├── GotoBLAS_04FAQ.txt │ │ ├── GotoBLAS_05LargePage.txt │ │ ├── GotoBLAS_06WeirdPerformance.txt │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── Makefile.alpha │ │ ├── Makefile.arm │ │ ├── Makefile.arm64 │ │ ├── Makefile.generic │ │ ├── Makefile.ia64 │ │ ├── Makefile.install │ │ ├── Makefile.mips │ │ ├── Makefile.mips64 │ │ ├── Makefile.power │ │ ├── Makefile.prebuild │ │ ├── Makefile.rule │ │ ├── Makefile.sparc │ │ ├── Makefile.system │ │ ├── Makefile.tail │ │ ├── Makefile.x86 │ │ ├── Makefile.x86_64 │ │ ├── Makefile.zarch │ │ ├── README.md │ │ ├── TargetList.txt │ │ ├── USAGE.md │ │ ├── appveyor.yml │ │ ├── benchmark/ │ │ │ ├── Make_exe.sh │ │ │ ├── Makefile │ │ │ ├── asum.c │ │ │ ├── axpy.c │ │ │ ├── cholesky.c │ │ │ ├── copy.c │ │ │ ├── cula_wrapper.c │ │ │ ├── dot.c │ │ │ ├── geev.c │ │ │ ├── gemm.c │ │ │ ├── gemm3m.c │ │ │ ├── gemv.c │ │ │ ├── ger.c │ │ │ ├── gesv.c │ │ │ ├── getri.c │ │ │ ├── hemm.c │ │ │ ├── hemv.c │ │ │ ├── her2k.c │ │ │ ├── herk.c │ │ │ ├── iamax.c │ │ │ ├── linpack.c │ │ │ ├── nrm2.c │ │ │ ├── plot-filter.sh │ │ │ ├── plot-header │ │ │ ├── potrf.c │ │ │ ├── rot.c │ │ │ ├── scal.c │ │ │ ├── scripts/ │ │ │ │ ├── NUMPY/ │ │ │ │ │ ├── cgemm.py │ │ │ │ │ ├── cgemv.py │ │ │ │ │ ├── daxpy.py │ │ │ │ │ ├── ddot.py │ │ │ │ │ ├── deig.py │ │ │ │ │ ├── dgemm.py │ │ │ │ │ ├── dgemv.py │ │ │ │ │ ├── dgesv.py │ │ │ │ │ ├── dsolve.py │ │ │ │ │ ├── sdot.py │ │ │ │ │ ├── sgemm.py │ │ │ │ │ ├── sgemv.py │ │ │ │ │ ├── zgemm.py │ │ │ │ │ └── zgemv.py │ │ │ │ ├── OCTAVE/ │ │ │ │ │ ├── cgemm.m │ │ │ │ │ ├── cgemv.m │ │ │ │ │ ├── deig.m │ │ │ │ │ ├── dgemm.m │ │ │ │ │ ├── dgemv.m │ │ │ │ │ ├── dsolve.m │ │ │ │ │ ├── sgemm.m │ │ │ │ │ ├── sgemv.m │ │ │ │ │ ├── zgemm.m │ │ │ │ │ └── zgemv.m │ │ │ │ ├── R/ │ │ │ │ │ ├── deig.R │ │ │ │ │ ├── dgemm.R │ │ │ │ │ └── dsolve.R │ │ │ │ └── SCIPY/ │ │ │ │ ├── dsyrk.py │ │ │ │ └── ssyrk.py │ │ │ ├── smallscaling.c │ │ │ ├── swap.c │ │ │ ├── symm.c │ │ │ ├── symv.c │ │ │ ├── syr2k.c │ │ │ ├── syrk.c │ │ │ ├── tplot-header │ │ │ ├── trmm.c │ │ │ ├── trsm.c │ │ │ ├── zdot-intel.c │ │ │ └── zdot.c │ │ ├── c_check │ │ ├── cblas.h │ │ ├── cmake/ │ │ │ ├── arch.cmake │ │ │ ├── cc.cmake │ │ │ ├── export.cmake │ │ │ ├── f_check.cmake │ │ │ ├── fc.cmake │ │ │ ├── kernel.cmake │ │ │ ├── lapack.cmake │ │ │ ├── lapacke.cmake │ │ │ ├── openblas.pc.in │ │ │ ├── os.cmake │ │ │ ├── prebuild.cmake │ │ │ ├── system.cmake │ │ │ ├── system_check.cmake │ │ │ └── utils.cmake │ │ ├── common.h │ │ ├── common_alpha.h │ │ ├── common_arm.h │ │ ├── common_arm64.h │ │ ├── common_c.h │ │ ├── common_d.h │ │ ├── common_ia64.h │ │ ├── common_interface.h │ │ ├── common_lapack.h │ │ ├── common_level1.h │ │ ├── common_level2.h │ │ ├── common_level3.h │ │ ├── common_linux.h │ │ ├── common_macro.h │ │ ├── common_mips.h │ │ ├── common_mips64.h │ │ ├── common_param.h │ │ ├── common_power.h │ │ ├── common_q.h │ │ ├── common_reference.h │ │ ├── common_s.h │ │ ├── common_sparc.h │ │ ├── common_stackalloc.h │ │ ├── common_thread.h │ │ ├── common_x.h │ │ ├── common_x86.h │ │ ├── common_x86_64.h │ │ ├── common_z.h │ │ ├── common_zarch.h │ │ ├── cpuid.S │ │ ├── cpuid.h │ │ ├── cpuid_alpha.c │ │ ├── cpuid_arm.c │ │ ├── cpuid_arm64.c │ │ ├── cpuid_ia64.c │ │ ├── cpuid_mips.c │ │ ├── cpuid_mips64.c │ │ ├── cpuid_power.c │ │ ├── cpuid_sparc.
Showing preview only (1,758K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (16181 symbols across 4474 files)
FILE: cmd/gen_static_prelude/prep.go
function main (line 13) | func main() {
FILE: cmd/gijit_build/tool.go
function init (line 42) | func init() {
function main (line 61) | func main() {
type tcpKeepAliveListener (line 541) | type tcpKeepAliveListener struct
method Accept (line 545) | func (ln tcpKeepAliveListener) Accept() (c net.Conn, err error) {
type serveCommandFileSystem (line 555) | type serveCommandFileSystem struct
method Open (line 563) | func (fs serveCommandFileSystem) Open(requestName string) (http.File, ...
type fakeFile (line 648) | type fakeFile struct
method Close (line 658) | func (f *fakeFile) Close() error {
method Readdir (line 662) | func (f *fakeFile) Readdir(count int) ([]os.FileInfo, error) {
method Stat (line 666) | func (f *fakeFile) Stat() (os.FileInfo, error) {
method Name (line 670) | func (f *fakeFile) Name() string {
method Size (line 674) | func (f *fakeFile) Size() int64 {
method Mode (line 678) | func (f *fakeFile) Mode() os.FileMode {
method ModTime (line 682) | func (f *fakeFile) ModTime() time.Time {
method IsDir (line 686) | func (f *fakeFile) IsDir() bool {
method Sys (line 690) | func (f *fakeFile) Sys() interface{} {
function newFakeFile (line 654) | func newFakeFile(name string, content []byte) *fakeFile {
function handleError (line 696) | func handleError(err error, options *compiler.Options, browserErrors *by...
function printError (line 714) | func printError(err error, options *compiler.Options, browserErrors *byt...
function sprintError (line 723) | func sprintError(err error) string {
function runNode (line 742) | func runNode(script string, args []string, dir string, quiet bool) error {
type testFuncs (line 797) | type testFuncs struct
method load (line 818) | func (t *testFuncs) load(filename, pkg string, doImport, seen *bool) e...
type testFunc (line 809) | type testFunc struct
type byOrder (line 862) | type byOrder
method Len (line 864) | func (x byOrder) Len() int { return len(x) }
method Swap (line 865) | func (x byOrder) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
method Less (line 866) | func (x byOrder) Less(i, j int) bool { return x[i].Order < x[j].Order }
function isTestMain (line 869) | func isTestMain(fn *ast.FuncDecl) bool {
function isTest (line 896) | func isTest(name, prefix string) bool {
FILE: pkg/ast/ast.go
type Node (line 35) | type Node interface
type Expr (line 41) | type Expr interface
type Stmt (line 47) | type Stmt interface
type Decl (line 53) | type Decl interface
type Comment (line 62) | type Comment struct
method Pos (line 67) | func (c *Comment) Pos() token.Pos { return c.Slash }
method End (line 68) | func (c *Comment) End() token.Pos { return token.Pos(int(c.Slash) + le...
type CommentGroup (line 73) | type CommentGroup struct
method Pos (line 77) | func (g *CommentGroup) Pos() token.Pos { return g.List[0].Pos() }
method End (line 78) | func (g *CommentGroup) End() token.Pos { return g.List[len(g.List)-1]....
method Text (line 96) | func (g *CommentGroup) Text() string {
function isWhitespace (line 80) | func isWhitespace(ch byte) bool { return ch == ' ' || ch == '\t' || ch =...
function stripTrailingWhitespace (line 82) | func stripTrailingWhitespace(s string) string {
type Field (line 157) | type Field struct
method Pos (line 165) | func (f *Field) Pos() token.Pos {
method End (line 172) | func (f *Field) End() token.Pos {
type FieldList (line 180) | type FieldList struct
method Pos (line 186) | func (f *FieldList) Pos() token.Pos {
method End (line 198) | func (f *FieldList) End() token.Pos {
method NumFields (line 211) | func (f *FieldList) NumFields() int {
type BadExpr (line 233) | type BadExpr struct
method Pos (line 422) | func (x *BadExpr) Pos() token.Pos { return x.From }
method End (line 455) | func (x *BadExpr) End() token.Pos { return x.To }
method exprNode (line 491) | func (*BadExpr) exprNode() {}
type Ident (line 238) | type Ident struct
method Pos (line 423) | func (x *Ident) Pos() token.Pos { return x.NamePos }
method End (line 456) | func (x *Ident) End() token.Pos { return token.Pos(int(x.NamePos) + ...
method exprNode (line 492) | func (*Ident) exprNode() {}
method IsExported (line 534) | func (id *Ident) IsExported() bool { return IsExported(id.Name) }
method String (line 536) | func (id *Ident) String() string {
type Ellipsis (line 247) | type Ellipsis struct
method Pos (line 424) | func (x *Ellipsis) Pos() token.Pos { return x.Ellipsis }
method End (line 457) | func (x *Ellipsis) End() token.Pos {
method exprNode (line 493) | func (*Ellipsis) exprNode() {}
type BasicLit (line 253) | type BasicLit struct
method Pos (line 425) | func (x *BasicLit) Pos() token.Pos { return x.ValuePos }
method End (line 463) | func (x *BasicLit) End() token.Pos { return token.Pos(int(x.Valu...
method exprNode (line 494) | func (*BasicLit) exprNode() {}
type FuncLit (line 260) | type FuncLit struct
method Pos (line 426) | func (x *FuncLit) Pos() token.Pos { return x.Type.Pos() }
method End (line 464) | func (x *FuncLit) End() token.Pos { return x.Body.End() }
method exprNode (line 495) | func (*FuncLit) exprNode() {}
type CompositeLit (line 266) | type CompositeLit struct
method Pos (line 427) | func (x *CompositeLit) Pos() token.Pos {
method End (line 465) | func (x *CompositeLit) End() token.Pos { return x.Rbrace + 1 }
method exprNode (line 496) | func (*CompositeLit) exprNode() {}
type ParenExpr (line 274) | type ParenExpr struct
method Pos (line 433) | func (x *ParenExpr) Pos() token.Pos { return x.Lparen }
method End (line 466) | func (x *ParenExpr) End() token.Pos { return x.Rparen + 1 }
method exprNode (line 497) | func (*ParenExpr) exprNode() {}
type SelectorExpr (line 281) | type SelectorExpr struct
method Pos (line 434) | func (x *SelectorExpr) Pos() token.Pos { return x.X.Pos() }
method End (line 467) | func (x *SelectorExpr) End() token.Pos { return x.Sel.End() }
method exprNode (line 498) | func (*SelectorExpr) exprNode() {}
type IndexExpr (line 287) | type IndexExpr struct
method Pos (line 435) | func (x *IndexExpr) Pos() token.Pos { return x.X.Pos() }
method End (line 468) | func (x *IndexExpr) End() token.Pos { return x.Rbrack + 1 }
method exprNode (line 499) | func (*IndexExpr) exprNode() {}
type SliceExpr (line 295) | type SliceExpr struct
method Pos (line 436) | func (x *SliceExpr) Pos() token.Pos { return x.X.Pos() }
method End (line 469) | func (x *SliceExpr) End() token.Pos { return x.Rbrack + 1 }
method exprNode (line 500) | func (*SliceExpr) exprNode() {}
type TypeAssertExpr (line 308) | type TypeAssertExpr struct
method Pos (line 437) | func (x *TypeAssertExpr) Pos() token.Pos { return x.X.Pos() }
method End (line 470) | func (x *TypeAssertExpr) End() token.Pos { return x.Rparen + 1 }
method exprNode (line 501) | func (*TypeAssertExpr) exprNode() {}
type CallExpr (line 316) | type CallExpr struct
method Pos (line 438) | func (x *CallExpr) Pos() token.Pos { return x.Fun.Pos() }
method End (line 471) | func (x *CallExpr) End() token.Pos { return x.Rparen + 1 }
method exprNode (line 502) | func (*CallExpr) exprNode() {}
type StarExpr (line 327) | type StarExpr struct
method Pos (line 439) | func (x *StarExpr) Pos() token.Pos { return x.Star }
method End (line 472) | func (x *StarExpr) End() token.Pos { return x.X.End() }
method exprNode (line 503) | func (*StarExpr) exprNode() {}
type UnaryExpr (line 335) | type UnaryExpr struct
method Pos (line 440) | func (x *UnaryExpr) Pos() token.Pos { return x.OpPos }
method End (line 473) | func (x *UnaryExpr) End() token.Pos { return x.X.End() }
method exprNode (line 504) | func (*UnaryExpr) exprNode() {}
type BinaryExpr (line 342) | type BinaryExpr struct
method Pos (line 441) | func (x *BinaryExpr) Pos() token.Pos { return x.X.Pos() }
method End (line 474) | func (x *BinaryExpr) End() token.Pos { return x.Y.End() }
method exprNode (line 505) | func (*BinaryExpr) exprNode() {}
type KeyValueExpr (line 352) | type KeyValueExpr struct
method Pos (line 442) | func (x *KeyValueExpr) Pos() token.Pos { return x.Key.Pos() }
method End (line 475) | func (x *KeyValueExpr) End() token.Pos { return x.Value.End() }
method exprNode (line 506) | func (*KeyValueExpr) exprNode() {}
type ChanDir (line 362) | type ChanDir
constant SEND (line 365) | SEND ChanDir = 1 << iota
constant RECV (line 366) | RECV
type ArrayType (line 375) | type ArrayType struct
method Pos (line 443) | func (x *ArrayType) Pos() token.Pos { return x.Lbrack }
method End (line 476) | func (x *ArrayType) End() token.Pos { return x.Elt.End() }
method exprNode (line 508) | func (*ArrayType) exprNode() {}
type StructType (line 382) | type StructType struct
method Pos (line 444) | func (x *StructType) Pos() token.Pos { return x.Struct }
method End (line 477) | func (x *StructType) End() token.Pos { return x.Fields.End() }
method exprNode (line 509) | func (*StructType) exprNode() {}
type FuncType (line 391) | type FuncType struct
method Pos (line 445) | func (x *FuncType) Pos() token.Pos {
method End (line 478) | func (x *FuncType) End() token.Pos {
method exprNode (line 510) | func (*FuncType) exprNode() {}
type InterfaceType (line 398) | type InterfaceType struct
method Pos (line 451) | func (x *InterfaceType) Pos() token.Pos { return x.Interface }
method End (line 484) | func (x *InterfaceType) End() token.Pos { return x.Methods.End() }
method exprNode (line 511) | func (*InterfaceType) exprNode() {}
type MapType (line 405) | type MapType struct
method Pos (line 452) | func (x *MapType) Pos() token.Pos { return x.Map }
method End (line 485) | func (x *MapType) End() token.Pos { return x.Value.End() }
method exprNode (line 512) | func (*MapType) exprNode() {}
type ChanType (line 412) | type ChanType struct
method Pos (line 453) | func (x *ChanType) Pos() token.Pos { return x.Begin }
method End (line 486) | func (x *ChanType) End() token.Pos { return x.Value.End() }
method exprNode (line 513) | func (*ChanType) exprNode() {}
function NewIdent (line 521) | func NewIdent(name string) *Ident { return &Ident{token.NoPos, name, nil} }
function IsExported (line 526) | func IsExported(name string) bool {
type BadStmt (line 554) | type BadStmt struct
method Pos (line 713) | func (s *BadStmt) Pos() token.Pos { return s.From }
method End (line 735) | func (s *BadStmt) End() token.Pos { return s.To }
method stmtNode (line 792) | func (*BadStmt) stmtNode() {}
type DeclStmt (line 559) | type DeclStmt struct
method Pos (line 714) | func (s *DeclStmt) Pos() token.Pos { return s.Decl.Pos() }
method End (line 736) | func (s *DeclStmt) End() token.Pos { return s.Decl.End() }
method stmtNode (line 793) | func (*DeclStmt) stmtNode() {}
type EmptyStmt (line 567) | type EmptyStmt struct
method Pos (line 715) | func (s *EmptyStmt) Pos() token.Pos { return s.Semicolon }
method End (line 737) | func (s *EmptyStmt) End() token.Pos {
method stmtNode (line 794) | func (*EmptyStmt) stmtNode() {}
type LabeledStmt (line 573) | type LabeledStmt struct
method Pos (line 716) | func (s *LabeledStmt) Pos() token.Pos { return s.Label.Pos() }
method End (line 743) | func (s *LabeledStmt) End() token.Pos { return s.Stmt.End() }
method stmtNode (line 795) | func (*LabeledStmt) stmtNode() {}
type ExprStmt (line 582) | type ExprStmt struct
method Pos (line 717) | func (s *ExprStmt) Pos() token.Pos { return s.X.Pos() }
method End (line 744) | func (s *ExprStmt) End() token.Pos { return s.X.End() }
method stmtNode (line 796) | func (*ExprStmt) stmtNode() {}
type SendStmt (line 587) | type SendStmt struct
method Pos (line 718) | func (s *SendStmt) Pos() token.Pos { return s.Chan.Pos() }
method End (line 745) | func (s *SendStmt) End() token.Pos { return s.Value.End() }
method stmtNode (line 797) | func (*SendStmt) stmtNode() {}
type IncDecStmt (line 594) | type IncDecStmt struct
method Pos (line 719) | func (s *IncDecStmt) Pos() token.Pos { return s.X.Pos() }
method End (line 746) | func (s *IncDecStmt) End() token.Pos {
method stmtNode (line 798) | func (*IncDecStmt) stmtNode() {}
type AssignStmt (line 603) | type AssignStmt struct
method Pos (line 720) | func (s *AssignStmt) Pos() token.Pos { return s.Lhs[0].Pos() }
method End (line 749) | func (s *AssignStmt) End() token.Pos { return s.Rhs[len(s.Rhs)-1].End() }
method stmtNode (line 799) | func (*AssignStmt) stmtNode() {}
type GoStmt (line 611) | type GoStmt struct
method Pos (line 721) | func (s *GoStmt) Pos() token.Pos { return s.Go }
method End (line 750) | func (s *GoStmt) End() token.Pos { return s.Call.End() }
method stmtNode (line 800) | func (*GoStmt) stmtNode() {}
type DeferStmt (line 617) | type DeferStmt struct
method Pos (line 722) | func (s *DeferStmt) Pos() token.Pos { return s.Defer }
method End (line 751) | func (s *DeferStmt) End() token.Pos { return s.Call.End() }
method stmtNode (line 801) | func (*DeferStmt) stmtNode() {}
type ReturnStmt (line 623) | type ReturnStmt struct
method Pos (line 723) | func (s *ReturnStmt) Pos() token.Pos { return s.Return }
method End (line 752) | func (s *ReturnStmt) End() token.Pos {
method stmtNode (line 802) | func (*ReturnStmt) stmtNode() {}
type BranchStmt (line 631) | type BranchStmt struct
method Pos (line 724) | func (s *BranchStmt) Pos() token.Pos { return s.TokPos }
method End (line 758) | func (s *BranchStmt) End() token.Pos {
method stmtNode (line 803) | func (*BranchStmt) stmtNode() {}
type BlockStmt (line 638) | type BlockStmt struct
method Pos (line 725) | func (s *BlockStmt) Pos() token.Pos { return s.Lbrace }
method End (line 764) | func (s *BlockStmt) End() token.Pos { return s.Rbrace + 1 }
method stmtNode (line 804) | func (*BlockStmt) stmtNode() {}
type IfStmt (line 645) | type IfStmt struct
method Pos (line 726) | func (s *IfStmt) Pos() token.Pos { return s.If }
method End (line 765) | func (s *IfStmt) End() token.Pos {
method stmtNode (line 805) | func (*IfStmt) stmtNode() {}
type CaseClause (line 654) | type CaseClause struct
method Pos (line 727) | func (s *CaseClause) Pos() token.Pos { return s.Case }
method End (line 771) | func (s *CaseClause) End() token.Pos {
method stmtNode (line 806) | func (*CaseClause) stmtNode() {}
type SwitchStmt (line 662) | type SwitchStmt struct
method Pos (line 728) | func (s *SwitchStmt) Pos() token.Pos { return s.Switch }
method End (line 777) | func (s *SwitchStmt) End() token.Pos { return s.Body.End() }
method stmtNode (line 807) | func (*SwitchStmt) stmtNode() {}
type TypeSwitchStmt (line 670) | type TypeSwitchStmt struct
method Pos (line 729) | func (s *TypeSwitchStmt) Pos() token.Pos { return s.Switch }
method End (line 778) | func (s *TypeSwitchStmt) End() token.Pos { return s.Body.End() }
method stmtNode (line 808) | func (*TypeSwitchStmt) stmtNode() {}
type CommClause (line 678) | type CommClause struct
method Pos (line 730) | func (s *CommClause) Pos() token.Pos { return s.Case }
method End (line 779) | func (s *CommClause) End() token.Pos {
method stmtNode (line 809) | func (*CommClause) stmtNode() {}
type SelectStmt (line 686) | type SelectStmt struct
method Pos (line 731) | func (s *SelectStmt) Pos() token.Pos { return s.Select }
method End (line 785) | func (s *SelectStmt) End() token.Pos { return s.Body.End() }
method stmtNode (line 810) | func (*SelectStmt) stmtNode() {}
type ForStmt (line 692) | type ForStmt struct
method Pos (line 732) | func (s *ForStmt) Pos() token.Pos { return s.For }
method End (line 786) | func (s *ForStmt) End() token.Pos { return s.Body.End() }
method stmtNode (line 811) | func (*ForStmt) stmtNode() {}
type RangeStmt (line 701) | type RangeStmt struct
method Pos (line 733) | func (s *RangeStmt) Pos() token.Pos { return s.For }
method End (line 787) | func (s *RangeStmt) End() token.Pos { return s.Body.End() }
method stmtNode (line 812) | func (*RangeStmt) stmtNode() {}
type Spec (line 822) | type Spec interface
type ImportSpec (line 828) | type ImportSpec struct
method Pos (line 859) | func (s *ImportSpec) Pos() token.Pos {
method End (line 868) | func (s *ImportSpec) End() token.Pos {
method specNode (line 889) | func (*ImportSpec) specNode() {}
type ValueSpec (line 839) | type ValueSpec struct
method Pos (line 865) | func (s *ValueSpec) Pos() token.Pos { return s.Names[0].Pos() }
method End (line 875) | func (s *ValueSpec) End() token.Pos {
method specNode (line 890) | func (*ValueSpec) specNode() {}
type TypeSpec (line 848) | type TypeSpec struct
method Pos (line 866) | func (s *TypeSpec) Pos() token.Pos { return s.Name.Pos() }
method End (line 884) | func (s *TypeSpec) End() token.Pos { return s.Type.End() }
method specNode (line 891) | func (*TypeSpec) specNode() {}
type BadDecl (line 900) | type BadDecl struct
method Pos (line 936) | func (d *BadDecl) Pos() token.Pos { return d.From }
method End (line 940) | func (d *BadDecl) End() token.Pos { return d.To }
method declNode (line 957) | func (*BadDecl) declNode() {}
type GenDecl (line 915) | type GenDecl struct
method Pos (line 937) | func (d *GenDecl) Pos() token.Pos { return d.TokPos }
method End (line 941) | func (d *GenDecl) End() token.Pos {
method declNode (line 958) | func (*GenDecl) declNode() {}
type FuncDecl (line 925) | type FuncDecl struct
method Pos (line 938) | func (d *FuncDecl) Pos() token.Pos { return d.Type.Pos() }
method End (line 947) | func (d *FuncDecl) End() token.Pos {
method declNode (line 959) | func (*FuncDecl) declNode() {}
type File (line 983) | type File struct
method Pos (line 1006) | func (f *File) Pos() token.Pos { return f.Package }
method End (line 1007) | func (f *File) End() token.Pos {
type Package (line 1017) | type Package struct
method Pos (line 1024) | func (p *Package) Pos() token.Pos { return token.NoPos }
method End (line 1025) | func (p *Package) End() token.Pos { return token.NoPos }
FILE: pkg/ast/ast_test.go
function TestCommentText (line 38) | func TestCommentText(t *testing.T) {
FILE: pkg/ast/commentmap.go
type byPos (line 14) | type byPos
method Len (line 16) | func (a byPos) Len() int { return len(a) }
method Less (line 17) | func (a byPos) Less(i, j int) bool { return a[i].Pos() < a[j].Pos() }
method Swap (line 18) | func (a byPos) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
function sortComments (line 22) | func sortComments(list []*CommentGroup) {
type CommentMap (line 35) | type CommentMap
method addComment (line 37) | func (cmap CommentMap) addComment(n Node, c *CommentGroup) {
method Update (line 246) | func (cmap CommentMap) Update(old, new Node) Node {
method Filter (line 258) | func (cmap CommentMap) Filter(node Node) CommentMap {
method Comments (line 272) | func (cmap CommentMap) Comments() []*CommentGroup {
method String (line 317) | func (cmap CommentMap) String() string {
type byInterval (line 47) | type byInterval
method Len (line 49) | func (a byInterval) Len() int { return len(a) }
method Less (line 50) | func (a byInterval) Less(i, j int) bool {
method Swap (line 54) | func (a byInterval) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
function nodeList (line 58) | func nodeList(n Node) []Node {
type commentListReader (line 79) | type commentListReader struct
method eol (line 87) | func (r *commentListReader) eol() bool {
method next (line 91) | func (r *commentListReader) next() {
type nodeStack (line 103) | type nodeStack
method push (line 108) | func (s *nodeStack) push(n Node) {
method pop (line 117) | func (s *nodeStack) pop(pos token.Pos) (top Node) {
function NewCommentMap (line 143) | func NewCommentMap(fset *token.FileSet, node Node, comments []*CommentGr...
function summary (line 281) | func summary(list []*CommentGroup) string {
FILE: pkg/ast/commentmap_test.go
constant src (line 19) | src = `
function ctext (line 97) | func ctext(list []*CommentGroup) string {
function TestCommentMap (line 105) | func TestCommentMap(t *testing.T) {
FILE: pkg/ast/example_test.go
function ExampleInspect (line 17) | func ExampleInspect() {
function ExamplePrint (line 59) | func ExamplePrint() {
function ExampleCommentMap (line 143) | func ExampleCommentMap() {
FILE: pkg/ast/filter.go
function exportFilter (line 16) | func exportFilter(name string) bool {
function FileExports (line 28) | func FileExports(src *File) bool {
function PackageExports (line 39) | func PackageExports(pkg *Package) bool {
type Filter (line 46) | type Filter
function filterIdentList (line 48) | func filterIdentList(list []*Ident, f Filter) []*Ident {
function fieldName (line 63) | func fieldName(x Expr) *Ident {
function filterFieldList (line 77) | func filterFieldList(fields *FieldList, filter Filter, export bool) (rem...
function filterParamList (line 112) | func filterParamList(fields *FieldList, filter Filter, export bool) bool {
function filterType (line 125) | func filterType(typ Expr, f Filter, export bool) bool {
function filterSpec (line 157) | func filterSpec(spec Spec, f Filter, export bool) bool {
function filterSpecList (line 186) | func filterSpecList(list []Spec, f Filter, export bool) []Spec {
function FilterDecl (line 204) | func FilterDecl(decl Decl, f Filter) bool {
function filterNode (line 208) | func filterNode(node Node, f Filter, export bool) bool {
function FilterFile (line 229) | func FilterFile(src *File, f Filter) bool {
function filterFile (line 233) | func filterFile(src *File, f Filter, export bool) bool {
function FilterPackage (line 256) | func FilterPackage(pkg *Package, f Filter) bool {
function filterPackage (line 260) | func filterPackage(pkg *Package, f Filter, export bool) bool {
type MergeMode (line 274) | type MergeMode
constant FilterFuncDuplicates (line 278) | FilterFuncDuplicates MergeMode = 1 << iota
constant FilterUnassociatedComments (line 281) | FilterUnassociatedComments
constant FilterImportDuplicates (line 283) | FilterImportDuplicates
function nameOf (line 290) | func nameOf(f *FuncDecl) string {
function MergePackageFiles (line 315) | func MergePackageFiles(pkg *Package, mode MergeMode) *File {
FILE: pkg/ast/filter_test.go
constant input (line 18) | input = `package p
constant golden (line 42) | golden = `package p
function TestFilterDuplicates (line 58) | func TestFilterDuplicates(t *testing.T) {
FILE: pkg/ast/import.go
function SortImports (line 15) | func SortImports(fset *token.FileSet, f *File) {
function importPath (line 55) | func importPath(s Spec) string {
function importName (line 63) | func importName(s Spec) string {
function importComment (line 71) | func importComment(s Spec) string {
function collapse (line 80) | func collapse(prev, next Spec) bool {
type posSpan (line 87) | type posSpan struct
function sortSpecs (line 92) | func sortSpecs(fset *token.FileSet, f *File, specs []Spec) []Spec {
FILE: pkg/ast/print.go
type FieldFilter (line 18) | type FieldFilter
function NotNilFilter (line 22) | func NotNilFilter(_ string, v reflect.Value) bool {
function Fprint (line 39) | func Fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilt...
function fprint (line 43) | func fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilt...
function Print (line 73) | func Print(fset *token.FileSet, x interface{}) error {
type printer (line 77) | type printer struct
method Write (line 89) | func (p *printer) Write(data []byte) (n int, err error) {
method printf (line 128) | func (p *printer) printf(format string, args ...interface{}) {
method print (line 143) | func (p *printer) print(x reflect.Value) {
type localError (line 123) | type localError struct
FILE: pkg/ast/print_test.go
function trim (line 73) | func trim(s string) string {
function TestPrint (line 86) | func TestPrint(t *testing.T) {
FILE: pkg/ast/resolve.go
type pkgBuilder (line 17) | type pkgBuilder struct
method error (line 22) | func (p *pkgBuilder) error(pos token.Pos, msg string) {
method errorf (line 26) | func (p *pkgBuilder) errorf(pos token.Pos, format string, args ...inte...
method declare (line 30) | func (p *pkgBuilder) declare(scope, altScope *Scope, obj *Object) {
function resolve (line 45) | func resolve(scope *Scope, ident *Ident) bool {
type Importer (line 64) | type Importer
function NewPackage (line 75) | func NewPackage(fset *token.FileSet, files map[string]*File, importer Im...
FILE: pkg/ast/scope.go
type Scope (line 19) | type Scope struct
method Lookup (line 34) | func (s *Scope) Lookup(name string) *Object {
method Insert (line 43) | func (s *Scope) Insert(obj *Object) (alt *Object) {
method String (line 51) | func (s *Scope) String() string {
function NewScope (line 25) | func NewScope(outer *Scope) *Scope {
type Object (line 76) | type Object struct
method Pos (line 92) | func (obj *Object) Pos() token.Pos {
function NewObj (line 85) | func NewObj(kind ObjKind, name string) *Object {
type ObjKind (line 137) | type ObjKind
method String (line 160) | func (kind ObjKind) String() string { return objKindStrings[kind] }
constant Bad (line 141) | Bad ObjKind = iota
constant Pkg (line 142) | Pkg
constant Con (line 143) | Con
constant Typ (line 144) | Typ
constant Var (line 145) | Var
constant Fun (line 146) | Fun
constant Lbl (line 147) | Lbl
FILE: pkg/ast/walk.go
type Visitor (line 12) | type Visitor interface
function walkIdentList (line 18) | func walkIdentList(v Visitor, list []*Ident) {
function walkExprList (line 24) | func walkExprList(v Visitor, list []Expr) {
function walkStmtList (line 30) | func walkStmtList(v Visitor, list []Stmt) {
function walkDeclList (line 36) | func walkDeclList(v Visitor, list []Node) {
function Walk (line 51) | func Walk(v Visitor, node Node) {
type inspector (line 370) | type inspector
method Visit (line 372) | func (f inspector) Visit(node Node) Visitor {
function Inspect (line 384) | func Inspect(node Node, f func(Node) bool) {
FILE: pkg/compiler/_bench/gonum.go
function gen (line 12) | func gen(sz int) []float64 {
function main (line 20) | func main() {
FILE: pkg/compiler/_bench/mul.go
type Matrix (line 5) | type Matrix struct
method Set (line 61) | func (m *Matrix) Set(i, j int, val float64) {
method Get (line 65) | func (m *Matrix) Get(i, j int) float64 {
function NewMatrix (line 17) | func NewMatrix(nrow, ncol int, fill bool) *Matrix {
function mult (line 40) | func mult(m1, m2 *Matrix) (r *Matrix) {
function MatScaMul (line 70) | func MatScaMul(m *Matrix, x float64) (r *Matrix) {
function runMultiply (line 82) | func runMultiply(sz, i, j int) float64 {
function main (line 98) | func main() {
FILE: pkg/compiler/_templates/godefer.go
function main (line 5) | func main() {
FILE: pkg/compiler/analysis/bool.go
function BoolValue (line 10) | func BoolValue(expr ast.Expr, info *types.Info) (bool, bool) {
FILE: pkg/compiler/analysis/break.go
function HasBreak (line 8) | func HasBreak(n ast.Node) bool {
type hasBreakVisitor (line 14) | type hasBreakVisitor struct
method Visit (line 18) | func (v *hasBreakVisitor) Visit(node ast.Node) (w ast.Visitor) {
FILE: pkg/compiler/analysis/escape.go
function EscapingObjects (line 9) | func EscapingObjects(n ast.Node, info *types.Info) []*types.Var {
type escapeAnalysis (line 24) | type escapeAnalysis struct
method Visit (line 31) | func (v *escapeAnalysis) Visit(node ast.Node) (w ast.Visitor) {
type escapingObjectCollector (line 51) | type escapingObjectCollector struct
method Visit (line 55) | func (v *escapingObjectCollector) Visit(node ast.Node) (w ast.Visitor) {
FILE: pkg/compiler/analysis/info.go
type continueStmt (line 12) | type continueStmt struct
type Info (line 17) | type Info struct
method newFuncInfo (line 40) | func (info *Info) newFuncInfo() *FuncInfo {
type FuncInfo (line 29) | type FuncInfo struct
method Visit (line 102) | func (c *FuncInfo) Visit(node ast.Node) ast.Visitor {
method markBlocking (line 251) | func (c *FuncInfo) markBlocking(stack []ast.Node) {
function AnalyzePkg (line 52) | func AnalyzePkg(files []*ast.File, fileSet *token.FileSet, typesInfo *ty...
FILE: pkg/compiler/analysis/sideeffect.go
function HasSideEffect (line 9) | func HasSideEffect(n ast.Node, info *types.Info) bool {
type hasSideEffectVisitor (line 15) | type hasSideEffectVisitor struct
method Visit (line 20) | func (v *hasSideEffectVisitor) Visit(node ast.Node) (w ast.Visitor) {
FILE: pkg/compiler/arr_test.go
function Test080Int64ArraysByGoProxyCopyAppend (line 10) | func Test080Int64ArraysByGoProxyCopyAppend(t *testing.T) {
function Test082IncrementOnInt64Arrays (line 41) | func Test082IncrementOnInt64Arrays(t *testing.T) {
function Test081CloneOfInt64Array (line 72) | func Test081CloneOfInt64Array(t *testing.T) {
function Test083Int64ArraysCopyByValue (line 100) | func Test083Int64ArraysCopyByValue(t *testing.T) {
function Test084ForRangeOverArrayAndChangeValue (line 143) | func Test084ForRangeOverArrayAndChangeValue(t *testing.T) {
function Test085ForRangeOverSliceAndChangeValue (line 173) | func Test085ForRangeOverSliceAndChangeValue(t *testing.T) {
FILE: pkg/compiler/astutil/astutil.go
function RemoveParens (line 8) | func RemoveParens(e ast.Expr) ast.Expr {
function SetType (line 18) | func SetType(info *types.Info, t types.Type, e ast.Expr) ast.Expr {
function NewIdent (line 23) | func NewIdent(name string, t types.Type, info *types.Info, pkg *types.Pa...
function IsTypeExpr (line 31) | func IsTypeExpr(expr ast.Expr, info *types.Info) bool {
FILE: pkg/compiler/attic/bilbo.go
type Baggins (line 7) | type Baggins interface
type Gollum (line 10) | type Gollum interface
type hobbit (line 13) | type hobbit struct
method WearRing (line 17) | func (h *hobbit) WearRing() bool {
type Wolf (line 22) | type Wolf struct
method Scowl (line 27) | func (w *Wolf) Scowl() int {
function battle (line 31) | func battle(g Gollum, b Baggins) (int, bool) {
function tryTheTypeSwitch (line 34) | func tryTheTypeSwitch(i interface{}) int {
function main (line 45) | func main() {
FILE: pkg/compiler/build.go
function init (line 34) | func init() {
type ImportCError (line 58) | type ImportCError struct
method Error (line 62) | func (e *ImportCError) Error() string {
function NewBuildContext (line 66) | func NewBuildContext(installSuffix string, buildTags []string) *build.Co...
function excludeExecutable (line 175) | func excludeExecutable(goFiles []string) []string {
function exclude (line 187) | func exclude(files []string, exclude ...string) []string {
function ImportDir (line 203) | func ImportDir(dir string, mode build.ImportMode, installSuffix string, ...
function parseAndAugment (line 228) | func parseAndAugment(pkg *build.Package, isTest bool, fileSet *token.Fil...
function dumpFileAst (line 423) | func dumpFileAst(files []*ast.File, fileSet *token.FileSet) []byte {
type Options (line 442) | type Options struct
method PrintError (line 456) | func (o *Options) PrintError(format string, a ...interface{}) {
method PrintSuccess (line 463) | func (o *Options) PrintSuccess(format string, a ...interface{}) {
type PackageData (line 470) | type PackageData struct
type Session (line 478) | type Session struct
method Import (line 94) | func (s *Session) Import(path string, mode build.ImportMode, installSu...
method importWithSrcDir (line 105) | func (s *Session) importWithSrcDir(path string, srcDir string, mode bu...
method InstallSuffix (line 505) | func (s *Session) InstallSuffix() string {
method BuildDir (line 512) | func (s *Session) BuildDir(packagePath string, importPath string, pkgO...
method BuildFiles (line 543) | func (s *Session) BuildFiles(filenames []string, pkgObj string, packag...
method BuildImportPath (line 572) | func (s *Session) BuildImportPath(path string, depth int) (*Archive, e...
method BuildImportPathWithSrcDir (line 577) | func (s *Session) BuildImportPathWithSrcDir(path string, srcDir string...
method BuildPackage (line 597) | func (s *Session) BuildPackage(pkg *PackageData, depth int) (*Archive,...
method writeLibraryPackage (line 804) | func (s *Session) writeLibraryPackage(archive *Archive, pkgObj string)...
method WriteCommandPackage (line 818) | func (s *Session) WriteCommandPackage(archive *Archive, pkgObj string,...
method WaitForChange (line 922) | func (s *Session) WaitForChange() {
method showGlobal (line 956) | func (s *Session) showGlobal() {
function NewSession (line 487) | func NewSession(options *Options, ic *IncrState) *Session {
function NewMappingCallback (line 871) | func NewMappingCallback(m *sourcemap.Map, goroot, gopath string, localMa...
function jsFilesFromDir (line 895) | func jsFilesFromDir(dir string) ([]string, error) {
function hasGopathPrefix (line 911) | func hasGopathPrefix(file, gopath string) (hasGopathPrefix bool, prefixL...
function summarizeArchives (line 948) | func summarizeArchives(m map[string]*Archive) (s string) {
FILE: pkg/compiler/build_test.go
function Test1010NativesDontImportExtraPackages (line 26) | func Test1010NativesDontImportExtraPackages(t *testing.T) {
type stringSet (line 193) | type stringSet
method String (line 195) | func (m stringSet) String() string {
FILE: pkg/compiler/calllua_test.go
function Test1500CallLuaFromGijit (line 9) | func Test1500CallLuaFromGijit(t *testing.T) {
function Test1501CallLuaFromGijitPassStrings (line 32) | func Test1501CallLuaFromGijitPassStrings(t *testing.T) {
FILE: pkg/compiler/callzygo.go
function initZygo (line 7) | func initZygo() *zygo.Zlisp {
function callZygo (line 13) | func callZygo(env *zygo.Zlisp, s string) (interface{}, error) {
FILE: pkg/compiler/callzygo_test.go
function Test1502CallZygoFromGijit (line 9) | func Test1502CallZygoFromGijit(t *testing.T) {
FILE: pkg/compiler/chan_test.go
function Test900SendAndRecvAllLu (line 16) | func Test900SendAndRecvAllLu(t *testing.T) {
function Test901 (line 60) | func Test901(t *testing.T) {
function Test902 (line 94) | func Test902(t *testing.T) {
function Test903 (line 113) | func Test903(t *testing.T) {
function Test904 (line 155) | func Test904(t *testing.T) {
function Test905 (line 203) | func Test905(t *testing.T) {
function Test906 (line 232) | func Test906(t *testing.T) {
function Test907 (line 271) | func Test907(t *testing.T) {
function Test908 (line 303) | func Test908(t *testing.T) {
function Test909 (line 342) | func Test909(t *testing.T) {
function Test910 (line 381) | func Test910(t *testing.T) {
FILE: pkg/compiler/compiler.go
function init (line 27) | func init() {
type ErrorList (line 60) | type ErrorList
method Error (line 62) | func (err ErrorList) Error() string {
type SavedArchive (line 66) | type SavedArchive struct
type Archive (line 77) | type Archive struct
type Decl (line 93) | type Decl struct
type Stmt (line 106) | type Stmt struct
type Dependency (line 110) | type Dependency struct
function ImportDependencies (line 116) | func ImportDependencies(archive *Archive, importPkg func(pth string, dep...
type dceInfo (line 161) | type dceInfo struct
function WriteProgramCode (line 167) | func WriteProgramCode(pkgs []*Archive, w *SourceMapFilter, isMain bool) ...
function WritePkgCode (line 302) | func WritePkgCode(pkg *Archive, dceSelection map[*Decl]struct{}, minify ...
function ReadArchive (line 418) | func ReadArchive(filename, path string, r io.Reader, packages map[string...
function WriteArchive (line 433) | func WriteArchive(a *Archive, w io.Writer) error {
type SourceMapFilter (line 437) | type SourceMapFilter struct
method Write (line 445) | func (f *SourceMapFilter) Write(p []byte) (n int, err error) {
FILE: pkg/compiler/conv_test.go
function Test110ConvertFloat64ToInt64 (line 10) | func Test110ConvertFloat64ToInt64(t *testing.T) {
FILE: pkg/compiler/cvrt_test.go
function Test201ConvertToFloat64ActuallyDoes (line 11) | func Test201ConvertToFloat64ActuallyDoes(t *testing.T) {
function Test203ConvertBytesToStringAndBack (line 35) | func Test203ConvertBytesToStringAndBack(t *testing.T) {
FILE: pkg/compiler/debug.go
function stack (line 7) | func stack() string {
FILE: pkg/compiler/defer_test.go
function Test033DefersRunOnPanic (line 9) | func Test033DefersRunOnPanic(t *testing.T) {
function Test034TwoDefersRunOnPanic (line 60) | func Test034TwoDefersRunOnPanic(t *testing.T) {
function Test035DefersRunWithoutPanic (line 111) | func Test035DefersRunWithoutPanic(t *testing.T) {
function Test035bNamedReturnValuesAreReturned (line 134) | func Test035bNamedReturnValuesAreReturned(t *testing.T) {
function Test035cNamedReturnValuesDontPolluteGlobalEnv (line 155) | func Test035cNamedReturnValuesDontPolluteGlobalEnv(t *testing.T) {
function Test033bDefersWorkOnDirectionFunctionCalls (line 180) | func Test033bDefersWorkOnDirectionFunctionCalls(t *testing.T) {
function Test033dDefersWorkOnDirectionFunctionCalls (line 211) | func Test033dDefersWorkOnDirectionFunctionCalls(t *testing.T) {
function Test033mTest2FromRecoverStressTest (line 248) | func Test033mTest2FromRecoverStressTest(t *testing.T) {
FILE: pkg/compiler/depend.go
function isBasicTyp (line 22) | func isBasicTyp(n *dfsNode) bool {
type dfsNode (line 27) | type dfsNode struct
method bloom (line 41) | func (me *dfsNode) bloom(w io.Writer, s *dfsState) {
method makeRequiredTypes (line 64) | func (me *dfsNode) makeRequiredTypes(w io.Writer, s *dfsState) {
type dfsState (line 249) | type dfsState struct
method newDfsNode (line 75) | func (s *dfsState) newDfsNode(name string, typ types.Type, createCode ...
method addChild (line 102) | func (s *dfsState) addChild(par, ch *dfsNode) {
method hasCycle (line 143) | func (s *dfsState) hasCycle() bool {
method hasCycleHelper (line 155) | func (s *dfsState) hasCycleHelper(node *dfsNode, ancestors map[*dfsNod...
method markGraphUnVisited (line 181) | func (s *dfsState) markGraphUnVisited() {
method reset (line 189) | func (s *dfsState) reset() {
method dfsHelper (line 198) | func (s *dfsState) dfsHelper(node *dfsNode) {
method showDFSOrder (line 216) | func (s *dfsState) showDFSOrder() {
method genCode (line 227) | func (s *dfsState) genCode(w io.Writer) {
method doDFS (line 237) | func (s *dfsState) doDFS() {
method hasTypes (line 245) | func (s *dfsState) hasTypes() bool {
method setCodeMap (line 267) | func (s *dfsState) setCodeMap(c map[types.Type]string) {
function NewDFSState (line 258) | func NewDFSState() *dfsState {
FILE: pkg/compiler/depend_test.go
type devNull (line 13) | type devNull
method Write (line 15) | func (devNull) Write(p []byte) (int, error) {
function Test1200DepthFirstSearchOfTypeDependencies (line 19) | func Test1200DepthFirstSearchOfTypeDependencies(t *testing.T) {
function expectEq (line 116) | func expectEq(a, b *dfsNode) {
FILE: pkg/compiler/exists.go
function FileExists (line 7) | func FileExists(name string) bool {
function DirExists (line 18) | func DirExists(name string) bool {
FILE: pkg/compiler/expr_test.go
function Test094MathExpressionsShouldWorkAtREPL (line 10) | func Test094MathExpressionsShouldWorkAtREPL(t *testing.T) {
function Test095StringExpressionsShouldWorkAtREPL (line 36) | func Test095StringExpressionsShouldWorkAtREPL(t *testing.T) {
function Test096MultipleExpressionsAtOnceAtTheREPL (line 62) | func Test096MultipleExpressionsAtOnceAtTheREPL(t *testing.T) {
function Test097SingleExpressionAtTheREPL (line 89) | func Test097SingleExpressionAtTheREPL(t *testing.T) {
FILE: pkg/compiler/expressions.go
type expression (line 29) | type expression struct
method String (line 34) | func (e *expression) String() string {
method StringWithParens (line 38) | func (e *expression) StringWithParens() string {
method exprToString (line 46) | func (c *funcContext) exprToString(expr ast.Expr) string {
method translateExpr (line 54) | func (c *funcContext) translateExpr(expr ast.Expr, desiredType types.Typ...
method translateCall (line 1075) | func (c *funcContext) translateCall(e *ast.CallExpr, sig *types.Signatur...
method makeReceiver (line 1126) | func (c *funcContext) makeReceiver(e *ast.SelectorExpr) *expression {
method translateBuiltin (line 1171) | func (c *funcContext) translateBuiltin(name string, sig *types.Signature...
method identifierConstant (line 1293) | func (c *funcContext) identifierConstant(expr ast.Expr) (string, bool) {
method translateExprSlice (line 1310) | func (c *funcContext) translateExprSlice(exprs []ast.Expr, desiredType t...
method translateConversion (line 1318) | func (c *funcContext) translateConversion(expr ast.Expr, desiredType typ...
method translateImplicitConversionWithCloning (line 1475) | func (c *funcContext) translateImplicitConversionWithCloning(expr ast.Ex...
method translateImplicitConversion (line 1512) | func (c *funcContext) translateImplicitConversion(expr ast.Expr, desired...
method translateConversionToSlice (line 1572) | func (c *funcContext) translateConversionToSlice(expr ast.Expr, desiredT...
method loadStruct (line 1602) | func (c *funcContext) loadStruct(array, target string, s *types.Struct) ...
function x2s (line 1634) | func x2s(x *expression) string {
method fixNumber (line 1641) | func (c *funcContext) fixNumber(value *expression, basic *types.Basic) (...
method asFloat64 (line 1654) | func (c *funcContext) asFloat64(value *expression, basic *types.Basic) (...
method internalize (line 1688) | func (c *funcContext) internalize(s *expression, t types.Type) *expressi...
method formatExpr (line 1707) | func (c *funcContext) formatExpr(format string, a ...interface{}) *expre...
method formatParenExpr (line 1712) | func (c *funcContext) formatParenExpr(format string, a ...interface{}) *...
method formatExprInternal (line 1717) | func (c *funcContext) formatExprInternal(format string, a []interface{},...
function structFieldTypes (line 1897) | func structFieldTypes(t *types.Struct) (r []string) {
function structFieldNameValuesForLua (line 1906) | func structFieldNameValuesForLua(t *types.Struct, ele []string) (r []str...
function starToAmp (line 1918) | func starToAmp(a string) string {
FILE: pkg/compiler/face_test.go
function Test100InterfaceDeclaration (line 48) | func Test100InterfaceDeclaration(t *testing.T) {
function Test101InterfaceConversion (line 110) | func Test101InterfaceConversion(t *testing.T) {
function Test102InterfaceMethodset (line 181) | func Test102InterfaceMethodset(t *testing.T) {
function Test202InterfaceMethodset (line 249) | func Test202InterfaceMethodset(t *testing.T) {
FILE: pkg/compiler/filter/assign.go
function Assign (line 11) | func Assign(stmt ast.Stmt, info *types.Info, pkg *types.Package) ast.Stmt {
FILE: pkg/compiler/filter/incdecstmt.go
function IncDecStmt (line 10) | func IncDecStmt(stmt ast.Stmt, info *types.Info) ast.Stmt {
FILE: pkg/compiler/fullpkg.go
function FullPackageCompile (line 28) | func FullPackageCompile(importPath string, files []*ast.File, fileSet *t...
FILE: pkg/compiler/genshadow.go
function GenShadowImport (line 18) | func GenShadowImport(importPath, dirForVendor, residentPkg, outDir strin...
function GenInterfaceConverter (line 163) | func GenInterfaceConverter(pkg, name string) (funcName1, funcName2, decl...
function direct (line 184) | func direct(o *os.File, nm, pkgName string) {
function ctor (line 188) | func ctor(o *os.File, nm, pkgName string) {
function structTemplate (line 201) | func structTemplate(o *os.File, obj types.Object, nm, pkgName string, ot...
function ifaceTemplate (line 226) | func ifaceTemplate(o *os.File, obj types.Object, nm, pkgName string, oty...
function genInitLuaStart (line 236) | func genInitLuaStart(shortPkg string) string {
function genInitLuaFinish (line 242) | func genInitLuaFinish(shortPkg string) string {
function perStructInitLua (line 246) | func perStructInitLua(shortPkg, structName string) string {
FILE: pkg/compiler/goro.go
type Goro (line 20) | type Goro struct
method StartBeat (line 73) | func (r *Goro) StartBeat() {
method newTicket (line 76) | func (r *Goro) newTicket(run string, useEvalCoroutine bool) *ticket {
method Start (line 152) | func (r *Goro) Start() {
method handleHeartbeat (line 197) | func (r *Goro) handleHeartbeat() {
method handleTicket (line 208) | func (r *Goro) handleTicket(t *ticket) {
method do (line 248) | func (r *Goro) do(t *ticket) {
method privateRun (line 273) | func (goro *Goro) privateRun(run []byte, useEvalCoroutine bool) error {
type GoroConfig (line 39) | type GoroConfig struct
type ticket (line 43) | type ticket struct
method Do (line 257) | func (t *ticket) Do() error {
type GetType (line 103) | type GetType
constant GetInt64 (line 106) | GetInt64 GetType = iota
constant GetString (line 107) | GetString
constant GetChan (line 108) | GetChan
function NewGoro (line 111) | func NewGoro(lvm *LuaVm, cfg *GoroConfig) (*Goro, error) {
FILE: pkg/compiler/goro_test.go
function Test707ReplGoroVsBackendGoro (line 13) | func Test707ReplGoroVsBackendGoro(t *testing.T) {
function Test708ReplGoroVsBackendGoro (line 51) | func Test708ReplGoroVsBackendGoro(t *testing.T) {
FILE: pkg/compiler/idchk.go
type identVisitor (line 35) | type identVisitor struct
method Visit (line 85) | func (iv *identVisitor) Visit(node ast.Node) (w ast.Visitor) {
type assignVisitor (line 39) | type assignVisitor struct
method Visit (line 53) | func (av *assignVisitor) Visit(node ast.Node) (w ast.Visitor) {
function newAssignVisitor (line 45) | func newAssignVisitor() *assignVisitor {
function walkExprList (line 79) | func walkExprList(v ast.Visitor, list []ast.Expr) {
function checkAllowedIdents (line 98) | func checkAllowedIdents(file *ast.File) (hasBadId bool, whichBad string) {
FILE: pkg/compiler/imp.go
function CallSprintf (line 12) | func CallSprintf() {
FILE: pkg/compiler/imp_test.go
function Test050CallFmtSprintf (line 11) | func Test050CallFmtSprintf(t *testing.T) {
function Test051CallFmtSprintf (line 36) | func Test051CallFmtSprintf(t *testing.T) {
function Test052CallFmtSprintf (line 65) | func Test052CallFmtSprintf(t *testing.T) {
function Test058CallFmtIncr (line 90) | func Test058CallFmtIncr(t *testing.T) {
function Test059CallFmtSummer (line 114) | func Test059CallFmtSummer(t *testing.T) {
function Test061CallFmtSummerWithDots (line 140) | func Test061CallFmtSummerWithDots(t *testing.T) {
function Test062SprintfOneSlice (line 171) | func Test062SprintfOneSlice(t *testing.T) {
function Test063SprintfOneSlice (line 198) | func Test063SprintfOneSlice(t *testing.T) {
function Test064SprintfOneSlice (line 226) | func Test064SprintfOneSlice(t *testing.T) {
function Test065PrintfItselfAndOneSlice (line 254) | func Test065PrintfItselfAndOneSlice(t *testing.T) {
function Test087ShadowRegexp (line 280) | func Test087ShadowRegexp(t *testing.T) {
FILE: pkg/compiler/import.go
function init (line 67) | func init() {
function registerLuarReqs (line 86) | func registerLuarReqs(vm *golua.State) {
method EnableImportsFromLua (line 105) | func (ic *IncrState) EnableImportsFromLua() {
method RunTimeGiImportFunc (line 162) | func (ic *IncrState) RunTimeGiImportFunc(path, pkgDir string, depth int)...
method CompileTimeGiImportFunc (line 323) | func (ic *IncrState) CompileTimeGiImportFunc(path, pkgDir string, depth ...
function omitAnyShadowPathPrefix (line 478) | func omitAnyShadowPathPrefix(pth string, base bool) string {
function getFunForSprintf (line 492) | func getFunForSprintf(pkg *types.Package) *types.Func {
function getFunForPrintf (line 506) | func getFunForPrintf(pkg *types.Package) *types.Func {
function Summer (line 526) | func Summer(a, b int) int {
function getFunForSummer (line 530) | func getFunForSummer(pkg *types.Package) *types.Func {
function SummerAny (line 543) | func SummerAny(a ...int) int {
function getFunForSummerAny (line 553) | func getFunForSummerAny(pkg *types.Package) *types.Func {
function getFunForSumArrayInt64 (line 565) | func getFunForSumArrayInt64(pkg *types.Package) *types.Func {
function getFunFor__tostring (line 577) | func getFunFor__tostring(pkg *types.Package) *types.Func {
function getFunFor__st (line 591) | func getFunFor__st(pkg *types.Package) *types.Func {
function getFunFor__replUtil (line 606) | func getFunFor__replUtil(cmd string, pkg *types.Package) *types.Func {
function Incr (line 613) | func Incr(a int) int {
function getFunForIncr (line 618) | func getFunForIncr(pkg *types.Package) *types.Func {
method ActuallyImportPackage (line 638) | func (ic *IncrState) ActuallyImportPackage(path, dir, shadowPath string,...
function getFunForGijitPrintQuoted (line 679) | func getFunForGijitPrintQuoted(pkg *types.Package) *types.Func {
function getFunFor__callLua (line 693) | func getFunFor__callLua(pkg *types.Package) *types.Func {
function getFunFor__callZygo (line 712) | func getFunFor__callZygo(pkg *types.Package) *types.Func {
FILE: pkg/compiler/import_test.go
function Test1000ImportAGoSourcePackage (line 12) | func Test1000ImportAGoSourcePackage(t *testing.T) {
function Test1001NoCachingOfImportsOfGoSourcePackages (line 37) | func Test1001NoCachingOfImportsOfGoSourcePackages(t *testing.T) {
function fishMultipliesBy (line 77) | func fishMultipliesBy(i int) {
function Test1002ImportSourcePackageThatLoadsRuntime (line 93) | func Test1002ImportSourcePackageThatLoadsRuntime(t *testing.T) {
function Test1003ImportSourcePackageThatLoadsRuntime (line 124) | func Test1003ImportSourcePackageThatLoadsRuntime(t *testing.T) {
function Test1004ImportArrayOfSliceOfBytes (line 148) | func Test1004ImportArrayOfSliceOfBytes(t *testing.T) {
function Test1005ArrayOfSliceOfBytes (line 175) | func Test1005ArrayOfSliceOfBytes(t *testing.T) {
function Test1006DotImport (line 215) | func Test1006DotImport(t *testing.T) {
FILE: pkg/compiler/incr.go
function addPreludeToNewPkg (line 24) | func addPreludeToNewPkg(pkg *types.Package) {
function IncrementallyCompile (line 44) | func IncrementallyCompile(a *Archive, importPath string, files []*ast.Fi...
method namedTypes (line 771) | func (c *funcContext) namedTypes(typeDecls []*Decl, collectDependencies ...
method oneNamedType (line 784) | func (c *funcContext) oneNamedType(collectDependencies func(f func()) []...
method anonymousTypes (line 987) | func (c *funcContext) anonymousTypes(typeDecls []*Decl, collectDependenc...
method oneAnonType (line 999) | func (c *funcContext) oneAnonType(t *types.TypeName, collectDependencies...
method getMethodDetailsSig (line 1012) | func (c *funcContext) getMethodDetailsSig(method *types.Func) (entry str...
FILE: pkg/compiler/label_test.go
function Test1100LabelsAndGotoAtTopLevel (line 10) | func Test1100LabelsAndGotoAtTopLevel(t *testing.T) {
FILE: pkg/compiler/luaUtil.go
constant reserveMainThread (line 28) | reserveMainThread = false
type LuaVm (line 37) | type LuaVm struct
method Close (line 45) | func (lvm *LuaVm) Close() {
method GetGoluaState (line 50) | func (lvm *LuaVm) GetGoluaState() *golua.State {
function NewLuaVmWithPrelude (line 57) | func NewLuaVmWithPrelude(cfg *GIConfig) (lvm *LuaVm, err error) {
function LuaDoPreludeFiles (line 230) | func LuaDoPreludeFiles(lvm *LuaVm, files []string) error {
function LuaDoUserFiles (line 244) | func LuaDoUserFiles(lvm *LuaVm, files []string) error {
function DumpLuaStack (line 255) | func DumpLuaStack(L *golua.State) {
function DumpLuaStackAsString (line 259) | func DumpLuaStackAsString(L *golua.State, ignoreTop int) (s string) {
function FetchPreludeFilenames (line 280) | func FetchPreludeFilenames(preludePath string, quiet bool) ([]string, er...
function makePathWindowsSafe (line 323) | func makePathWindowsSafe(path string) string {
function LuaMustInt (line 331) | func LuaMustInt(lvm *LuaVm, varname string, expect int) {
function LuaMustBeNilGolangError (line 345) | func LuaMustBeNilGolangError(lvm *LuaVm, varname string) {
function LuaToGolangError (line 368) | func LuaToGolangError(lvm *LuaVm, varname string) error {
function LuaMustInt64 (line 386) | func LuaMustInt64(lvm *LuaVm, varname string, expect int64) {
function LuaMustEvalToInt64 (line 407) | func LuaMustEvalToInt64(lvm *LuaVm, xpr string, expect int64) {
function LuaToInt64 (line 428) | func LuaToInt64(lvm *LuaVm, xpr string) int64 {
function LuaInGlobalEnv (line 444) | func LuaInGlobalEnv(lvm *LuaVm, varname string) bool {
function LuaMustNotBeInGlobalEnv (line 453) | func LuaMustNotBeInGlobalEnv(lvm *LuaVm, varname string) {
function LuaMustBeInGlobalEnv (line 462) | func LuaMustBeInGlobalEnv(lvm *LuaVm, varname string) {
function LuaMustFloat64 (line 471) | func LuaMustFloat64(lvm *LuaVm, varname string, expect float64) {
function LuaMustString (line 486) | func LuaMustString(lvm *LuaVm, varname string, expect string) {
function LuaMustBool (line 501) | func LuaMustBool(lvm *LuaVm, varname string, expect bool) {
function LuaMustBeNil (line 516) | func LuaMustBeNil(lvm *LuaVm, varname string) {
function LuaIsNil (line 528) | func LuaIsNil(lvm *LuaVm, varname string) (bool, string) {
function LuaRunAndReport (line 541) | func LuaRunAndReport(lvm *LuaVm, s string) {
function LuaRun (line 555) | func LuaRun(lvm *LuaVm, s string, useEvalCoroutine bool) error {
function dumpTableString (line 560) | func dumpTableString(L *golua.State, index int) (s string) {
function LuaMustRune (line 590) | func LuaMustRune(lvm *LuaVm, varname string, expect rune) {
function sumSliceOfInts (line 604) | func sumSliceOfInts(a []interface{}) (tot int) {
function sumArrayInt64 (line 621) | func sumArrayInt64(a [3]int64) (tot int64) {
function getChannelFromGlobal (line 639) | func getChannelFromGlobal(lvm *LuaVm, varname string, leaveOnTop bool) (...
function intMin (line 680) | func intMin(a, b int) int {
function intMax (line 687) | func intMax(a, b int) int {
function LuaTopToFloat64 (line 696) | func LuaTopToFloat64(lvm *LuaVm) (float64, error) {
FILE: pkg/compiler/lua_select_test.go
function Test800LuaOnlyRecvOnChannel (line 14) | func Test800LuaOnlyRecvOnChannel(t *testing.T) {
FILE: pkg/compiler/mat_test.go
function Test500MatrixDeclOfDoubleSlice (line 15) | func Test500MatrixDeclOfDoubleSlice(t *testing.T) {
function Test501MatrixMultiply (line 70) | func Test501MatrixMultiply(t *testing.T) {
FILE: pkg/compiler/natives/fs.go
function importPathToDir (line 16) | func importPathToDir(importPath string) string {
FILE: pkg/compiler/natives/fs_vfsdata.go
type vfsgen۰FS (line 759) | type vfsgen۰FS
method Open (line 761) | func (fs vfsgen۰FS) Open(path string) (http.File, error) {
type vfsgen۰CompressedFileInfo (line 795) | type vfsgen۰CompressedFileInfo struct
method Readdir (line 802) | func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo,...
method Stat (line 805) | func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { retu...
method GzipBytes (line 807) | func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
method Name (line 811) | func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name }
method Size (line 812) | func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.unc...
method Mode (line 813) | func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 }
method ModTime (line 814) | func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.mod...
method IsDir (line 815) | func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false }
method Sys (line 816) | func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil }
type vfsgen۰CompressedFile (line 819) | type vfsgen۰CompressedFile struct
method Read (line 826) | func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
method Seek (line 848) | func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64,...
method Close (line 861) | func (f *vfsgen۰CompressedFile) Close() error {
type vfsgen۰FileInfo (line 866) | type vfsgen۰FileInfo struct
method Readdir (line 872) | func (f *vfsgen۰FileInfo) Readdir(count int) ([]os.FileInfo, error) {
method Stat (line 875) | func (f *vfsgen۰FileInfo) Stat() (os.FileInfo, error) { return f, nil }
method NotWorthGzipCompressing (line 877) | func (f *vfsgen۰FileInfo) NotWorthGzipCompressing() {}
method Name (line 879) | func (f *vfsgen۰FileInfo) Name() string { return f.name }
method Size (line 880) | func (f *vfsgen۰FileInfo) Size() int64 { return int64(len(f.con...
method Mode (line 881) | func (f *vfsgen۰FileInfo) Mode() os.FileMode { return 0444 }
method ModTime (line 882) | func (f *vfsgen۰FileInfo) ModTime() time.Time { return f.modTime }
method IsDir (line 883) | func (f *vfsgen۰FileInfo) IsDir() bool { return false }
method Sys (line 884) | func (f *vfsgen۰FileInfo) Sys() interface{} { return nil }
type vfsgen۰File (line 887) | type vfsgen۰File struct
method Close (line 892) | func (f *vfsgen۰File) Close() error {
type vfsgen۰DirInfo (line 897) | type vfsgen۰DirInfo struct
method Read (line 903) | func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
method Close (line 906) | func (d *vfsgen۰DirInfo) Close() error { return nil }
method Stat (line 907) | func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }
method Name (line 909) | func (d *vfsgen۰DirInfo) Name() string { return d.name }
method Size (line 910) | func (d *vfsgen۰DirInfo) Size() int64 { return 0 }
method Mode (line 911) | func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir }
method ModTime (line 912) | func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
method IsDir (line 913) | func (d *vfsgen۰DirInfo) IsDir() bool { return true }
method Sys (line 914) | func (d *vfsgen۰DirInfo) Sys() interface{} { return nil }
type vfsgen۰Dir (line 917) | type vfsgen۰Dir struct
method Seek (line 922) | func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
method Readdir (line 930) | func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
FILE: pkg/compiler/natives/src/bytes/bytes.go
function IndexByte (line 5) | func IndexByte(s []byte, c byte) int {
function Equal (line 14) | func Equal(a, b []byte) bool {
function Compare (line 26) | func Compare(a, b []byte) int {
FILE: pkg/compiler/natives/src/bytes/bytes_test.go
function dangerousSlice (line 9) | func dangerousSlice(t *testing.T) []byte {
FILE: pkg/compiler/natives/src/crypto/rand/rand.go
function init (line 11) | func init() {
type rngReader (line 15) | type rngReader struct
method Read (line 17) | func (r *rngReader) Read(b []byte) (n int, err error) {
FILE: pkg/compiler/natives/src/crypto/x509/x509.go
function loadSystemRoots (line 7) | func loadSystemRoots() (*CertPool, error) {
FILE: pkg/compiler/natives/src/crypto/x509/x509_test.go
function TestSystemCertPool (line 7) | func TestSystemCertPool(t *testing.T) {
function TestSystemRoots (line 11) | func TestSystemRoots(t *testing.T) {
function TestEnvVars (line 15) | func TestEnvVars(t *testing.T) {
function TestSystemVerify (line 19) | func TestSystemVerify(t *testing.T) {
function TestImports (line 23) | func TestImports(t *testing.T) {
FILE: pkg/compiler/natives/src/debug/elf/elf_test.go
function TestNoSectionOverlaps (line 7) | func TestNoSectionOverlaps(t *testing.T) {
FILE: pkg/compiler/natives/src/encoding/gob/gob_test.go
function TestEndToEnd (line 12) | func TestEndToEnd(t *testing.T) {
function TestTypeRace (line 102) | func TestTypeRace(t *testing.T) {
FILE: pkg/compiler/natives/src/encoding/json/stream_test.go
function TestHTTPDecoding (line 7) | func TestHTTPDecoding(t *testing.T) {
FILE: pkg/compiler/natives/src/fmt/fmt_test.go
constant intCount (line 5) | intCount = 100
FILE: pkg/compiler/natives/src/go/token/token_test.go
function TestFileSetRace (line 9) | func TestFileSetRace(t *testing.T) {
FILE: pkg/compiler/natives/src/internal/poll/fd_poll_js.go
type pollDesc (line 11) | type pollDesc struct
method init (line 15) | func (pd *pollDesc) init(fd *FD) error { return nil }
method close (line 17) | func (pd *pollDesc) close() {}
method evict (line 19) | func (pd *pollDesc) evict() { pd.closing = true }
method prepare (line 21) | func (pd *pollDesc) prepare(mode int, isFile bool) error {
method prepareRead (line 28) | func (pd *pollDesc) prepareRead(isFile bool) error { return pd.prepare...
method prepareWrite (line 30) | func (pd *pollDesc) prepareWrite(isFile bool) error { return pd.prepar...
method wait (line 32) | func (pd *pollDesc) wait(mode int, isFile bool) error {
method waitRead (line 39) | func (pd *pollDesc) waitRead(isFile bool) error { return pd.wait('r', ...
method waitWrite (line 41) | func (pd *pollDesc) waitWrite(isFile bool) error { return pd.wait('w',...
method waitCanceled (line 43) | func (*pollDesc) waitCanceled(mode int) {}
method pollable (line 45) | func (*pollDesc) pollable() bool { return true }
method SetDeadline (line 47) | func (*FD) SetDeadline(t time.Time) error { return nil }
method SetReadDeadline (line 49) | func (*FD) SetReadDeadline(t time.Time) error { return nil }
method SetWriteDeadline (line 51) | func (*FD) SetWriteDeadline(t time.Time) error { return nil }
function PollDescriptor (line 55) | func PollDescriptor() uintptr {
function runtime_Semacquire (line 60) | func runtime_Semacquire(s *uint32) {
function runtime_Semrelease (line 70) | func runtime_Semrelease(s *uint32) {
FILE: pkg/compiler/natives/src/internal/testenv/testenv.go
function HasExec (line 12) | func HasExec() bool {
FILE: pkg/compiler/natives/src/io/io_test.go
function TestMultiWriter_WriteStringSingleAlloc (line 9) | func TestMultiWriter_WriteStringSingleAlloc(t *testing.T) {
function TestMultiReaderFlatten (line 13) | func TestMultiReaderFlatten(t *testing.T) {
function TestMultiWriterSingleChainFlatten (line 17) | func TestMultiWriterSingleChainFlatten(t *testing.T) {
function TestMultiReaderFreesExhaustedReaders (line 21) | func TestMultiReaderFreesExhaustedReaders(t *testing.T) {
FILE: pkg/compiler/natives/src/math/big/big.go
type Word (line 7) | type Word
FILE: pkg/compiler/natives/src/math/big/big_test.go
function TestBytes (line 7) | func TestBytes(t *testing.T) {
function TestModSqrt (line 11) | func TestModSqrt(t *testing.T) {
FILE: pkg/compiler/natives/src/math/math.go
function Acos (line 15) | func Acos(x float64) float64 {
function Acosh (line 19) | func Acosh(x float64) float64 {
function Asin (line 23) | func Asin(x float64) float64 {
function Asinh (line 27) | func Asinh(x float64) float64 {
function Atan (line 31) | func Atan(x float64) float64 {
function Atanh (line 35) | func Atanh(x float64) float64 {
function Atan2 (line 39) | func Atan2(y, x float64) float64 {
function Cbrt (line 43) | func Cbrt(x float64) float64 {
function Ceil (line 47) | func Ceil(x float64) float64 {
function Copysign (line 51) | func Copysign(x, y float64) float64 {
function Cos (line 58) | func Cos(x float64) float64 {
function Cosh (line 62) | func Cosh(x float64) float64 {
function Erf (line 66) | func Erf(x float64) float64 {
function Erfc (line 70) | func Erfc(x float64) float64 {
function Exp (line 74) | func Exp(x float64) float64 {
function Exp2 (line 78) | func Exp2(x float64) float64 {
function Expm1 (line 82) | func Expm1(x float64) float64 {
function Floor (line 86) | func Floor(x float64) float64 {
function Frexp (line 90) | func Frexp(f float64) (frac float64, exp int) {
function Hypot (line 94) | func Hypot(p, q float64) float64 {
function Inf (line 98) | func Inf(sign int) float64 {
function IsInf (line 107) | func IsInf(f float64, sign int) bool {
function IsNaN (line 117) | func IsNaN(f float64) (is bool) {
function Ldexp (line 121) | func Ldexp(frac float64, exp int) float64 {
function Log (line 134) | func Log(x float64) float64 {
function Log10 (line 141) | func Log10(x float64) float64 {
function Log1p (line 145) | func Log1p(x float64) float64 {
function Log2 (line 149) | func Log2(x float64) float64 {
function Max (line 153) | func Max(x, y float64) float64 {
function Min (line 157) | func Min(x, y float64) float64 {
function Mod (line 161) | func Mod(x, y float64) float64 {
function Modf (line 165) | func Modf(f float64) (float64, float64) {
function NaN (line 176) | func NaN() float64 {
function Pow (line 180) | func Pow(x, y float64) float64 {
function Remainder (line 187) | func Remainder(x, y float64) float64 {
function Signbit (line 191) | func Signbit(x float64) bool {
function Sin (line 195) | func Sin(x float64) float64 {
function Sinh (line 199) | func Sinh(x float64) float64 {
function Sincos (line 203) | func Sincos(x float64) (sin, cos float64) {
function Sqrt (line 207) | func Sqrt(x float64) float64 {
function Tan (line 211) | func Tan(x float64) float64 {
function Tanh (line 215) | func Tanh(x float64) float64 {
function Trunc (line 219) | func Trunc(x float64) float64 {
function init (line 232) | func init() {
function Float32bits (line 239) | func Float32bits(f float32) uint32 {
function Float32frombits (line 244) | func Float32frombits(b uint32) float32 {
function Float64bits (line 249) | func Float64bits(f float64) uint64 {
function Float64frombits (line 254) | func Float64frombits(b uint64) float64 {
FILE: pkg/compiler/natives/src/math/math_test.go
function close (line 11) | func close(a, b float64) bool { return tolerance(a, b, 4e-14) }
function veryclose (line 12) | func veryclose(a, b float64) bool { return tolerance(a, b, 6e-15) }
FILE: pkg/compiler/natives/src/math/rand/rand_test.go
function TestFloat32 (line 7) | func TestFloat32(t *testing.T) {
function TestConcurrent (line 11) | func TestConcurrent(t *testing.T) {
FILE: pkg/compiler/natives/src/net/http/cookiejar/example_test.go
function ExampleNew (line 7) | func ExampleNew() {
FILE: pkg/compiler/natives/src/net/http/fetch.go
type streamReader (line 16) | type streamReader struct
method Read (line 21) | func (r *streamReader) Read(p []byte) (n int, err error) {
method Close (line 52) | func (r *streamReader) Close() error {
type fetchTransport (line 62) | type fetchTransport struct
method RoundTrip (line 64) | func (t *fetchTransport) RoundTrip(req *Request) (*Response, error) {
FILE: pkg/compiler/natives/src/net/http/http.go
type noTransport (line 28) | type noTransport struct
method RoundTrip (line 30) | func (noTransport) RoundTrip(req *Request) (*Response, error) {
type XHRTransport (line 34) | type XHRTransport struct
method RoundTrip (line 38) | func (t *XHRTransport) RoundTrip(req *Request) (*Response, error) {
method CancelRequest (line 109) | func (t *XHRTransport) CancelRequest(req *Request) {
FILE: pkg/compiler/natives/src/net/net.go
function Listen (line 12) | func Listen(net, laddr string) (Listener, error) {
method Dial (line 16) | func (d *Dialer) Dial(network, address string) (Conn, error) {
function sysInit (line 20) | func sysInit() {
function probeIPv4Stack (line 23) | func probeIPv4Stack() bool {
function probeIPv6Stack (line 27) | func probeIPv6Stack() (supportsIPv6, supportsIPv4map bool) {
function probeWindowsIPStack (line 31) | func probeWindowsIPStack() (supportsVistaIP bool) {
function maxListenerBacklog (line 35) | func maxListenerBacklog() int {
function byteIndex (line 40) | func byteIndex(s string, c byte) int {
function bytesEqual (line 45) | func bytesEqual(x, y []byte) bool {
function bytesIndexByte (line 58) | func bytesIndexByte(s []byte, c byte) int {
FILE: pkg/compiler/natives/src/os/os.go
function runtime_args (line 11) | func runtime_args() []string { // not called on Windows
function init (line 15) | func init() {
function runtime_beforeExit (line 28) | func runtime_beforeExit() {}
function executable (line 30) | func executable() (string, error) {
FILE: pkg/compiler/natives/src/os/signal/signal.go
function signal_disable (line 7) | func signal_disable(uint32) {}
function signal_enable (line 8) | func signal_enable(uint32) {}
function signal_ignore (line 9) | func signal_ignore(uint32) {}
function signal_recv (line 10) | func signal_recv() uint32 { return 0 }
function loop (line 12) | func loop() {}
FILE: pkg/compiler/natives/src/reflect/example_test.go
function ExampleStructOf (line 7) | func ExampleStructOf() {
FILE: pkg/compiler/natives/src/reflect/reflect.go
function init (line 15) | func init() {
function jsType (line 36) | func jsType(typ Type) *js.Object {
function reflectType (line 40) | func reflectType(typ *js.Object) *rtype {
function setKindType (line 167) | func setKindType(rt *rtype, kindType interface{}) {
type uncommonType (line 172) | type uncommonType struct
method methods (line 182) | func (t *uncommonType) methods() []method {
method uncommon (line 188) | func (t *rtype) uncommon() *uncommonType {
type funcType (line 192) | type funcType struct
method in (line 201) | func (t *funcType) in() []*rtype {
method out (line 205) | func (t *funcType) out() []*rtype {
type name (line 209) | type name struct
method name (line 221) | func (n name) name() (s string) { return nameMap[n.bytes].name }
method tag (line 222) | func (n name) tag() (s string) { return nameMap[n.bytes].tag }
method pkgPath (line 223) | func (n name) pkgPath() string { return "" }
method isExported (line 224) | func (n name) isExported() bool { return nameMap[n.bytes].exported }
type nameData (line 213) | type nameData struct
function newName (line 226) | func newName(n, tag string, exported bool) name {
method nameOff (line 240) | func (t *rtype) nameOff(off nameOff) name {
function newNameOff (line 244) | func newNameOff(n name) nameOff {
method typeOff (line 252) | func (t *rtype) typeOff(off typeOff) *rtype {
function newTypeOff (line 256) | func newTypeOff(t *rtype) typeOff {
function internalStr (line 262) | func internalStr(strObj *js.Object) string {
function isWrapped (line 268) | func isWrapped(typ Type) bool {
function copyStruct (line 272) | func copyStruct(dst, src *js.Object, typ Type) {
function makeValue (line 280) | func makeValue(t Type, v *js.Object, fl flag) Value {
function MakeSlice (line 288) | func MakeSlice(typ Type, len, cap int) Value {
function TypeOf (line 305) | func TypeOf(i interface{}) Type {
function ValueOf (line 315) | func ValueOf(i interface{}) Value {
function ArrayOf (line 322) | func ArrayOf(count int, elem Type) Type {
function ChanOf (line 326) | func ChanOf(dir ChanDir, t Type) Type {
function FuncOf (line 330) | func FuncOf(in, out []Type, variadic bool) Type {
function MapOf (line 346) | func MapOf(key, elem Type) Type {
method ptrTo (line 355) | func (t *rtype) ptrTo() *rtype {
function SliceOf (line 359) | func SliceOf(t Type) Type {
function Zero (line 402) | func Zero(typ Type) Value {
function unsafe_New (line 406) | func unsafe_New(typ *rtype) unsafe.Pointer {
function makeInt (line 417) | func makeInt(f flag, bits uint64, t Type) Value {
function MakeFunc (line 441) | func MakeFunc(typ Type, fn func(args []Value) (results []Value)) Value {
function typedmemmove (line 473) | func typedmemmove(t *rtype, dst, src unsafe.Pointer) {
function loadScalar (line 477) | func loadScalar(p unsafe.Pointer, n uintptr) uintptr {
function makechan (line 481) | func makechan(typ *rtype, size int) (ch unsafe.Pointer) {
function makemap (line 486) | func makemap(t *rtype, cap int) (m unsafe.Pointer) {
function keyFor (line 490) | func keyFor(t *rtype, key unsafe.Pointer) (*js.Object, string) {
function mapaccess (line 499) | func mapaccess(t *rtype, m, key unsafe.Pointer) unsafe.Pointer {
function mapassign (line 508) | func mapassign(t *rtype, m, key, val unsafe.Pointer) {
function mapdelete (line 523) | func mapdelete(t *rtype, m unsafe.Pointer, key unsafe.Pointer) {
type mapIter (line 528) | type mapIter struct
function mapiterinit (line 535) | func mapiterinit(t *rtype, m unsafe.Pointer) *byte {
function mapiterkey (line 539) | func mapiterkey(it *byte) unsafe.Pointer {
function mapiternext (line 545) | func mapiternext(it *byte) {
function maplen (line 550) | func maplen(m unsafe.Pointer) int {
function cvtDirect (line 554) | func cvtDirect(v Value, typ Type) Value {
function Copy (line 590) | func Copy(dst, src Value) int {
function methodReceiver (line 630) | func methodReceiver(op string, v Value, i int) (_, t *rtype, fn unsafe.P...
function valueInterface (line 663) | func valueInterface(v Value, safe bool) interface{} {
function ifaceE2I (line 680) | func ifaceE2I(t *rtype, src interface{}, dst unsafe.Pointer) {
function methodName (line 684) | func methodName() string {
function makeMethodValue (line 688) | func makeMethodValue(op string, v Value) Value {
method pointers (line 704) | func (t *rtype) pointers() bool {
method Comparable (line 713) | func (t *rtype) Comparable() bool {
method Method (line 729) | func (t *rtype) Method(i int) (m Method) {
method object (line 766) | func (v Value) object() *js.Object {
method assignTo (line 795) | func (v Value) assignTo(context string, dst *rtype, target unsafe.Pointe...
method call (line 830) | func (v Value) call(op string, in []Value) []Value {
method Cap (line 929) | func (v Value) Cap() int {
function wrapJsObject (line 942) | func wrapJsObject(typ Type, val *js.Object) *js.Object {
function unwrapJsObject (line 949) | func unwrapJsObject(typ Type, val *js.Object) *js.Object {
method Elem (line 956) | func (v Value) Elem() Value {
method Field (line 981) | func (v Value) Field(i int) Value {
function getJsTag (line 1031) | func getJsTag(tag string) string {
method Index (line 1077) | func (v Value) Index(i int) Value {
method InterfaceData (line 1129) | func (v Value) InterfaceData() [2]uintptr {
method IsNil (line 1133) | func (v Value) IsNil() bool {
method Len (line 1150) | func (v Value) Len() int {
method Pointer (line 1165) | func (v Value) Pointer() uintptr {
method Set (line 1187) | func (v Value) Set(x Value) {
method SetBytes (line 1207) | func (v Value) SetBytes(x []byte) {
method SetCap (line 1224) | func (v Value) SetCap(n int) {
method SetLen (line 1238) | func (v Value) SetLen(n int) {
method Slice (line 1252) | func (v Value) Slice(i, j int) Value {
method Slice3 (line 1291) | func (v Value) Slice3(i, j, k int) Value {
method Close (line 1323) | func (v Value) Close() {
function chanrecv (line 1331) | func chanrecv(ch unsafe.Pointer, nb bool, val unsafe.Pointer) (selected,...
function chansend (line 1345) | func chansend(ch unsafe.Pointer, val unsafe.Pointer, nb bool) bool {
function rselect (line 1357) | func rselect(rselects []runtimeSelect) (chosen int, recvOK bool) {
function DeepEqual (line 1389) | func DeepEqual(a1, a2 interface{}) bool {
function deepValueEqualJs (line 1401) | func deepValueEqualJs(v1, v2 Value, visited [][2]unsafe.Pointer) bool {
FILE: pkg/compiler/natives/src/reflect/reflect_test.go
function TestAlignment (line 11) | func TestAlignment(t *testing.T) {
function TestSliceOverflow (line 15) | func TestSliceOverflow(t *testing.T) {
function TestFuncLayout (line 19) | func TestFuncLayout(t *testing.T) {
function TestArrayOfDirectIface (line 23) | func TestArrayOfDirectIface(t *testing.T) {
function TestTypelinksSorted (line 27) | func TestTypelinksSorted(t *testing.T) {
function TestGCBits (line 31) | func TestGCBits(t *testing.T) {
function TestChanAlloc (line 35) | func TestChanAlloc(t *testing.T) {
function TestNameBytesAreAligned (line 39) | func TestNameBytesAreAligned(t *testing.T) {
function TestOffsetLock (line 43) | func TestOffsetLock(t *testing.T) {
function TestSelectOnInvalid (line 47) | func TestSelectOnInvalid(t *testing.T) {
function TestStructOfFieldName (line 62) | func TestStructOfFieldName(t *testing.T) {
function TestStructOf (line 66) | func TestStructOf(t *testing.T) {
function TestStructOfExportRules (line 70) | func TestStructOfExportRules(t *testing.T) {
function TestStructOfGC (line 74) | func TestStructOfGC(t *testing.T) {
function TestStructOfAlg (line 78) | func TestStructOfAlg(t *testing.T) {
function TestStructOfGenericAlg (line 82) | func TestStructOfGenericAlg(t *testing.T) {
function TestStructOfDirectIface (line 86) | func TestStructOfDirectIface(t *testing.T) {
function TestStructOfWithInterface (line 90) | func TestStructOfWithInterface(t *testing.T) {
function TestIssue22073 (line 161) | func TestIssue22073(t *testing.T) {
function TestCallReturnsEmpty (line 178) | func TestCallReturnsEmpty(t *testing.T) {
FILE: pkg/compiler/natives/src/reflect/swapper.go
function Swapper (line 5) | func Swapper(slice interface{}) func(i, j int) {
FILE: pkg/compiler/natives/src/regexp/regexp_test.go
function TestOnePassCutoff (line 9) | func TestOnePassCutoff(t *testing.T) {
FILE: pkg/compiler/natives/src/runtime/debug/debug.go
function setGCPercent (line 5) | func setGCPercent(int32) int32 {
function setMaxStack (line 10) | func setMaxStack(bytes int) int {
FILE: pkg/compiler/natives/src/runtime/pprof/pprof.go
type Profile (line 10) | type Profile struct
method WriteTo (line 18) | func (p *Profile) WriteTo(w io.Writer, debug int) error {
method Count (line 22) | func (p *Profile) Count() int {
method Name (line 26) | func (p *Profile) Name() string {
method Add (line 30) | func (p *Profile) Add(value interface{}, skip int) {
method Remove (line 33) | func (p *Profile) Remove(value interface{}) {
function StartCPUProfile (line 36) | func StartCPUProfile(w io.Writer) error {
function StopCPUProfile (line 40) | func StopCPUProfile() {
function WriteHeapProfile (line 43) | func WriteHeapProfile(w io.Writer) error {
function Lookup (line 47) | func Lookup(name string) *Profile {
FILE: pkg/compiler/natives/src/runtime/runtime.go
constant GOOS (line 11) | GOOS = sys.GOOS
constant GOARCH (line 12) | GOARCH = "gijit"
constant Compiler (line 13) | Compiler = "gijit"
type eface (line 16) | type eface struct
type _type (line 19) | type _type struct
method string (line 22) | func (t *_type) string() string {
function init (line 26) | func init() {
function GOROOT (line 37) | func GOROOT() string {
function Breakpoint (line 51) | func Breakpoint() {
function Caller (line 55) | func Caller(skip int) (pc uintptr, file string, line int, ok bool) {
function Callers (line 64) | func Callers(skip int, pc []uintptr) int {
function CallersFrames (line 70) | func CallersFrames(callers []uintptr) *Frames { return &Frames{} }
type Frames (line 72) | type Frames struct
method Next (line 74) | func (ci *Frames) Next() (frame Frame, more bool) { return }
type Frame (line 76) | type Frame struct
function GC (line 85) | func GC() {
function Goexit (line 88) | func Goexit() {
function GOMAXPROCS (line 93) | func GOMAXPROCS(n int) int {
function Gosched (line 97) | func Gosched() {
function NumCPU (line 103) | func NumCPU() int {
function NumGoroutine (line 107) | func NumGoroutine() int {
type MemStats (line 111) | type MemStats struct
function ReadMemStats (line 161) | func ReadMemStats(m *MemStats) {
function SetFinalizer (line 164) | func SetFinalizer(x, f interface{}) {
type Func (line 167) | type Func struct
method Entry (line 171) | func (_ *Func) Entry() uintptr { return 0 }
method FileLine (line 172) | func (_ *Func) FileLine(pc uintptr) (file string, line int) { return "...
method Name (line 173) | func (_ *Func) Name() string { return "" }
function FuncForPC (line 175) | func FuncForPC(pc uintptr) *Func {
function SetBlockProfileRate (line 181) | func SetBlockProfileRate(rate int) {
function SetMutexProfileFraction (line 184) | func SetMutexProfileFraction(rate int) int {
function Stack (line 189) | func Stack(buf []byte, all bool) int {
function LockOSThread (line 197) | func LockOSThread() {}
function UnlockOSThread (line 199) | func UnlockOSThread() {}
function Version (line 201) | func Version() string {
function StartTrace (line 205) | func StartTrace() error { return nil }
function StopTrace (line 206) | func StopTrace() {}
function ReadTrace (line 207) | func ReadTrace() []byte
function NumCgoCall (line 210) | func NumCgoCall() int64 {
function efaceOf (line 214) | func efaceOf(ep *interface{}) *eface {
function KeepAlive (line 218) | func KeepAlive(interface{}) {}
function throw (line 220) | func throw(s string) {
function getcallerpc (line 226) | func getcallerpc() uintptr { return 0 }
function findfunc (line 227) | func findfunc(pc uintptr) funcInfo { return funcInfo{} }
function funcname (line 228) | func funcname(f funcInfo) string { return "" }
type funcInfo (line 230) | type funcInfo struct
FILE: pkg/compiler/natives/src/strings/strings_test.go
function TestBuilderAllocs (line 7) | func TestBuilderAllocs(t *testing.T) {
FILE: pkg/compiler/natives/src/sync/atomic/atomic.go
function SwapInt32 (line 11) | func SwapInt32(addr *int32, new int32) int32 {
function SwapInt64 (line 17) | func SwapInt64(addr *int64, new int64) int64 {
function SwapUint32 (line 23) | func SwapUint32(addr *uint32, new uint32) uint32 {
function SwapUint64 (line 29) | func SwapUint64(addr *uint64, new uint64) uint64 {
function SwapUintptr (line 35) | func SwapUintptr(addr *uintptr, new uintptr) uintptr {
function SwapPointer (line 41) | func SwapPointer(addr *unsafe.Pointer, new unsafe.Pointer) unsafe.Pointer {
function CompareAndSwapInt32 (line 47) | func CompareAndSwapInt32(addr *int32, old, new int32) bool {
function CompareAndSwapInt64 (line 55) | func CompareAndSwapInt64(addr *int64, old, new int64) bool {
function CompareAndSwapUint32 (line 63) | func CompareAndSwapUint32(addr *uint32, old, new uint32) bool {
function CompareAndSwapUint64 (line 71) | func CompareAndSwapUint64(addr *uint64, old, new uint64) bool {
function CompareAndSwapUintptr (line 79) | func CompareAndSwapUintptr(addr *uintptr, old, new uintptr) bool {
function CompareAndSwapPointer (line 87) | func CompareAndSwapPointer(addr *unsafe.Pointer, old, new unsafe.Pointer...
function AddInt32 (line 95) | func AddInt32(addr *int32, delta int32) int32 {
function AddUint32 (line 101) | func AddUint32(addr *uint32, delta uint32) uint32 {
function AddInt64 (line 107) | func AddInt64(addr *int64, delta int64) int64 {
function AddUint64 (line 113) | func AddUint64(addr *uint64, delta uint64) uint64 {
function AddUintptr (line 119) | func AddUintptr(addr *uintptr, delta uintptr) uintptr {
function LoadInt32 (line 125) | func LoadInt32(addr *int32) int32 {
function LoadInt64 (line 129) | func LoadInt64(addr *int64) int64 {
function LoadUint32 (line 133) | func LoadUint32(addr *uint32) uint32 {
function LoadUint64 (line 137) | func LoadUint64(addr *uint64) uint64 {
function LoadUintptr (line 141) | func LoadUintptr(addr *uintptr) uintptr {
function LoadPointer (line 145) | func LoadPointer(addr *unsafe.Pointer) unsafe.Pointer {
function StoreInt32 (line 149) | func StoreInt32(addr *int32, val int32) {
function StoreInt64 (line 153) | func StoreInt64(addr *int64, val int64) {
function StoreUint32 (line 157) | func StoreUint32(addr *uint32, val uint32) {
function StoreUint64 (line 161) | func StoreUint64(addr *uint64, val uint64) {
function StoreUintptr (line 165) | func StoreUintptr(addr *uintptr, val uintptr) {
function StorePointer (line 169) | func StorePointer(addr *unsafe.Pointer, val unsafe.Pointer) {
method Load (line 173) | func (v *Value) Load() (x interface{}) {
method Store (line 177) | func (v *Value) Store(x interface{}) {
FILE: pkg/compiler/natives/src/sync/atomic/atomic_test.go
function TestHammerStoreLoad (line 7) | func TestHammerStoreLoad(t *testing.T) {
FILE: pkg/compiler/natives/src/sync/cond.go
type Cond (line 5) | type Cond struct
method Wait (line 17) | func (c *Cond) Wait() {
method Signal (line 27) | func (c *Cond) Signal() {
method Broadcast (line 35) | func (c *Cond) Broadcast() {
FILE: pkg/compiler/natives/src/sync/pool.go
type Pool (line 7) | type Pool struct
method Get (line 15) | func (p *Pool) Get() interface{} {
method Put (line 27) | func (p *Pool) Put(x interface{}) {
function runtime_registerPoolCleanup (line 34) | func runtime_registerPoolCleanup(cleanup func()) {
FILE: pkg/compiler/natives/src/sync/sync.go
function runtime_Semacquire (line 9) | func runtime_Semacquire(s *uint32) {
function runtime_SemacquireMutex (line 21) | func runtime_SemacquireMutex(s *uint32, lifo bool) {
function runtime_Semrelease (line 26) | func runtime_Semrelease(s *uint32, handoff bool) {
function runtime_notifyListCheck (line 45) | func runtime_notifyListCheck(size uintptr) {}
function runtime_canSpin (line 47) | func runtime_canSpin(i int) bool {
function runtime_nanotime (line 52) | func runtime_nanotime() int64 {
function throw (line 58) | func throw(s string) {
FILE: pkg/compiler/natives/src/sync/sync_test.go
function TestPool (line 9) | func TestPool(t *testing.T) {
function TestPoolGC (line 13) | func TestPoolGC(t *testing.T) {
function TestPoolRelease (line 17) | func TestPoolRelease(t *testing.T) {
function TestCondCopy (line 21) | func TestCondCopy(t *testing.T) {
function TestMutexFairness (line 30) | func TestMutexFairness(t *testing.T) {
FILE: pkg/compiler/natives/src/sync/waitgroup.go
type WaitGroup (line 5) | type WaitGroup struct
method Add (line 13) | func (wg *WaitGroup) Add(delta int) {
method Wait (line 27) | func (wg *WaitGroup) Wait() {
FILE: pkg/compiler/natives/src/syscall/syscall.go
function init (line 14) | func init() {
function printWarning (line 23) | func printWarning() {
function printToConsole (line 30) | func printToConsole(b []byte) {
function use (line 48) | func use(p unsafe.Pointer) {
function Exit (line 52) | func Exit(code int) {
function indexByte (line 57) | func indexByte(s []byte, c byte) int {
FILE: pkg/compiler/natives/src/syscall/syscall_linux.go
constant exitTrap (line 5) | exitTrap = SYS_EXIT_GROUP
FILE: pkg/compiler/natives/src/syscall/syscall_nonlinux.go
constant exitTrap (line 5) | exitTrap = SYS_EXIT
FILE: pkg/compiler/natives/src/syscall/syscall_unix.go
function runtime_envs (line 12) | func runtime_envs() []string {
function setenv_c (line 27) | func setenv_c(k, v string) {
function syscall (line 38) | func syscall(name string) *js.Object {
function Syscall (line 57) | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) {
function Syscall6 (line 76) | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err...
function RawSyscall (line 87) | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) {
function RawSyscall6 (line 96) | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, ...
function BytePtrFromString (line 105) | func BytePtrFromString(s string) (*byte, error) {
FILE: pkg/compiler/natives/src/syscall/syscall_windows.go
function Syscall (line 9) | func Syscall(trap, nargs, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) {
function Syscall6 (line 14) | func Syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintp...
function Syscall9 (line 19) | func Syscall9(trap, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (...
function Syscall12 (line 24) | func Syscall12(trap, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11...
function Syscall15 (line 29) | func Syscall15(trap, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11...
function loadlibrary (line 34) | func loadlibrary(filename *uint16) (handle uintptr, err Errno) {
function getprocaddress (line 39) | func getprocaddress(handle uintptr, procname *uint8) (proc uintptr, err ...
method Load (line 44) | func (d *LazyDLL) Load() error {
method Find (line 48) | func (p *LazyProc) Find() error {
function getStdHandle (line 52) | func getStdHandle(h int) (fd Handle) {
function GetConsoleMode (line 62) | func GetConsoleMode(console Handle, mode *uint32) (err error) {
function WriteFile (line 66) | func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Over...
function ExitProcess (line 76) | func ExitProcess(exitcode uint32) {
function GetCommandLine (line 80) | func GetCommandLine() (cmd *uint16) {
function CommandLineToArgv (line 84) | func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uin...
function Getenv (line 88) | func Getenv(key string) (value string, found bool) {
function GetTimeZoneInformation (line 92) | func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err er...
type DummyError (line 96) | type DummyError struct
method Error (line 98) | func (e DummyError) Error() string {
FILE: pkg/compiler/natives/src/testing/example.go
function runExample (line 12) | func runExample(eg InternalExample) (ok bool) {
FILE: pkg/compiler/natives/src/testing/ioutil.go
function reseed (line 17) | func reseed() uint32 {
function nextSuffix (line 21) | func nextSuffix() string {
function tempFile (line 34) | func tempFile(prefix string) (f *os.File, err error) {
function readFile (line 54) | func readFile(filename string) (string, error) {
FILE: pkg/compiler/natives/src/testing/testing.go
function callerName (line 9) | func callerName(skip int) string {
method frameSkip (line 14) | func (*common) frameSkip(skip int) int {
FILE: pkg/compiler/natives/src/text/template/template.go
constant maxExecDepth (line 5) | maxExecDepth = 3000
FILE: pkg/compiler/natives/src/time/time.go
function init (line 13) | func init() {
type runtimeTimer (line 18) | type runtimeTimer struct
function initLocal (line 28) | func initLocal() {
function runtimeNano (line 41) | func runtimeNano() int64 {
function now (line 45) | func now() (sec int64, nsec int32, mono int64) {
function Sleep (line 50) | func Sleep(d Duration) {
function startTimer (line 56) | func startTimer(t *runtimeTimer) {
function stopTimer (line 75) | func stopTimer(t *runtimeTimer) bool {
function forceZipFileForTesting (line 82) | func forceZipFileForTesting(zipOnly bool) {
function indexByte (line 90) | func indexByte(s string, c byte) int {
FILE: pkg/compiler/natives/src/unicode/unicode.go
function to (line 5) | func to(_case int, r rune, caseRange []CaseRange) rune {
FILE: pkg/compiler/newtyp_test.go
function Test105NewTypeDeclaration (line 15) | func Test105NewTypeDeclaration(t *testing.T) {
function Test106NewTypeDeclaration (line 39) | func Test106NewTypeDeclaration(t *testing.T) {
function Test107NewTypeForFloat64 (line 66) | func Test107NewTypeForFloat64(t *testing.T) {
function Test108SyntaxErrorDoesNotMessUpTypeSystem (line 114) | func Test108SyntaxErrorDoesNotMessUpTypeSystem(t *testing.T) {
function Test109NewTypeSpaceAndVariableSpaceAreSeparate (line 200) | func Test109NewTypeSpaceAndVariableSpaceAreSeparate(t *testing.T) {
FILE: pkg/compiler/package.go
type pkgContext (line 22) | type pkgContext struct
method SelectionOf (line 47) | func (p *pkgContext) SelectionOf(e *ast.SelectorExpr) (selection, bool) {
type selection (line 57) | type selection interface
type fakeSelection (line 65) | type fakeSelection struct
method Kind (line 73) | func (sel *fakeSelection) Kind() types.SelectionKind { return sel.kind }
method Recv (line 74) | func (sel *fakeSelection) Recv() types.Type { return sel.recv }
method Index (line 75) | func (sel *fakeSelection) Index() []int { return sel.index }
method Obj (line 76) | func (sel *fakeSelection) Obj() types.Object { return sel.obj }
method Type (line 77) | func (sel *fakeSelection) Type() types.Type { return sel.typ }
type funcContext (line 79) | type funcContext struct
method initArgsNoPkgForPrimitives (line 183) | func (c *funcContext) initArgsNoPkgForPrimitives(ty types.Type) string {
method initArgs (line 193) | func (c *funcContext) initArgs(ty types.Type) string {
method translateToplevelFunction (line 266) | func (c *funcContext) translateToplevelFunction(fun *ast.FuncDecl, inf...
type flowData (line 107) | type flowData struct
type ImportContext (line 113) | type ImportContext struct
type packageImporter (line 119) | type packageImporter struct
method Import (line 124) | func (pi packageImporter) Import(path string, depth int) (*types.Packa...
function isPrim (line 149) | func isPrim(ty types.Type) bool {
function elemType (line 168) | func elemType(ty types.Type) types.Type {
function translateFunction (line 353) | func translateFunction(typ *ast.FuncType, recv *ast.Ident, body *ast.Blo...
FILE: pkg/compiler/panicon.go
function panicOn (line 7) | func panicOn(err error) {
function panicOnNotNA (line 13) | func panicOnNotNA(err error) {
FILE: pkg/compiler/prelude_js/goroutines.go
constant goroutines (line 3) | goroutines = `
FILE: pkg/compiler/prelude_js/jsmapping.go
constant jsmapping (line 3) | jsmapping = `
FILE: pkg/compiler/prelude_js/numeric.go
constant numeric (line 3) | numeric = `
FILE: pkg/compiler/prelude_js/prelude.go
constant Prelude (line 3) | Prelude = prelude + numeric + types + goroutines + jsmapping
constant prelude (line 5) | prelude = `Error.stackTraceLimit = Infinity;
FILE: pkg/compiler/prelude_js/types.go
constant types (line 3) | types = `
FILE: pkg/compiler/prelude_lua/prelude.go
constant Prelude (line 3) | Prelude = `
FILE: pkg/compiler/prelude_static.go
type vfsgen۰FS (line 5082) | type vfsgen۰FS
method Open (line 5084) | func (fs vfsgen۰FS) Open(path string) (http.File, error) {
type vfsgen۰CompressedFileInfo (line 5113) | type vfsgen۰CompressedFileInfo struct
method Readdir (line 5120) | func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo,...
method Stat (line 5123) | func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { retu...
method GzipBytes (line 5125) | func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
method Name (line 5129) | func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name }
method Size (line 5130) | func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.unc...
method Mode (line 5131) | func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 }
method ModTime (line 5132) | func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.mod...
method IsDir (line 5133) | func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false }
method Sys (line 5134) | func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil }
type vfsgen۰CompressedFile (line 5137) | type vfsgen۰CompressedFile struct
method Read (line 5144) | func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
method Seek (line 5166) | func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64,...
method Close (line 5179) | func (f *vfsgen۰CompressedFile) Close() error {
type vfsgen۰DirInfo (line 5184) | type vfsgen۰DirInfo struct
method Read (line 5190) | func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
method Close (line 5193) | func (d *vfsgen۰DirInfo) Close() error { return nil }
method Stat (line 5194) | func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }
method Name (line 5196) | func (d *vfsgen۰DirInfo) Name() string { return d.name }
method Size (line 5197) | func (d *vfsgen۰DirInfo) Size() int64 { return 0 }
method Mode (line 5198) | func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir }
method ModTime (line 5199) | func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
method IsDir (line 5200) | func (d *vfsgen۰DirInfo) IsDir() bool { return true }
method Sys (line 5201) | func (d *vfsgen۰DirInfo) Sys() interface{} { return nil }
type vfsgen۰Dir (line 5204) | type vfsgen۰Dir struct
method Seek (line 5209) | func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
method Readdir (line 5217) | func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
FILE: pkg/compiler/ptr_test.go
function Test098Pointers (line 11) | func Test098Pointers(t *testing.T) {
function Test099PointerDeference (line 43) | func Test099PointerDeference(t *testing.T) {
FILE: pkg/compiler/redef_test.go
function Test301RedefinitionOfStruct (line 16) | func Test301RedefinitionOfStruct(t *testing.T) {
FILE: pkg/compiler/repl_cfg.go
type GIConfig (line 9) | type GIConfig struct
method DefineFlags (line 33) | func (c *GIConfig) DefineFlags(fs *flag.FlagSet) {
method ValidateConfig (line 46) | func (c *GIConfig) ValidateConfig() error {
function NewGIConfig (line 26) | func NewGIConfig() *GIConfig {
FILE: pkg/compiler/repl_liner.go
type Prompter (line 7) | type Prompter struct
method Close (line 37) | func (p *Prompter) Close() {
method Getline (line 41) | func (p *Prompter) Getline(prompt *string) (line string, err error) {
function NewPrompter (line 14) | func NewPrompter(prompt string) *Prompter {
FILE: pkg/compiler/repl_luajit.go
function init (line 24) | func init() {
function doMainWait (line 33) | func doMainWait(f func()) {
function doMainAsync (line 42) | func doMainAsync(f func()) {
function MainCThread (line 52) | func MainCThread() {
method LuajitMain (line 63) | func (cfg *GIConfig) LuajitMain() {
type Repl (line 97) | type Repl struct
method Loop (line 180) | func (r *Repl) Loop() {
method Read (line 194) | func (r *Repl) Read() (src string, err error) {
method setPrompt (line 471) | func (r *Repl) setPrompt() {
method Eval (line 483) | func (r *Repl) Eval(src string) error {
method displayCmd (line 563) | func (r *Repl) displayCmd(cmd string) {
function NewRepl (line 128) | func NewRepl(cfg *GIConfig) *Repl {
function showLuaStacks (line 568) | func showLuaStacks(vm *golua.State) {
function forEachAllCoroArrayValue (line 598) | func forEachAllCoroArrayValue(L *golua.State, index int, f func(i int, n...
function getCoroutineStatus (line 651) | func getCoroutineStatus(L *golua.State, index int) (status string) {
FILE: pkg/compiler/repl_test.go
function init (line 14) | func init() {
function init (line 18) | func init() {
function TestMain (line 22) | func TestMain(m *testing.M) {
function LoadAndRunTestHelper (line 36) | func LoadAndRunTestHelper(t *testing.T, lvm *LuaVm, translation []byte) {
function Test001LuaTranslation (line 45) | func Test001LuaTranslation(t *testing.T) {
function Test002LuaEvalIncremental (line 84) | func Test002LuaEvalIncremental(t *testing.T) {
function Test004ExpressionsAtRepl (line 104) | func Test004ExpressionsAtRepl(t *testing.T) {
function Test005BacktickStringsToLua (line 115) | func Test005BacktickStringsToLua(t *testing.T) {
function Test006RedefinitionOfVariablesAllowed (line 128) | func Test006RedefinitionOfVariablesAllowed(t *testing.T) {
function Test007SettingPreviouslyDefinedVariables (line 144) | func Test007SettingPreviouslyDefinedVariables(t *testing.T) {
function Test008IfThenElseInAFunction (line 161) | func Test008IfThenElseInAFunction(t *testing.T) {
function Test009NumericalForLoop (line 176) | func Test009NumericalForLoop(t *testing.T) {
function Test010Slice (line 199) | func Test010Slice(t *testing.T) {
function Test011MapAndRangeForLoop (line 214) | func Test011MapAndRangeForLoop(t *testing.T) {
function Test012SliceRangeForLoop (line 232) | func Test012SliceRangeForLoop(t *testing.T) {
function Test012KeyOnlySliceRangeForLoop (line 248) | func Test012KeyOnlySliceRangeForLoop(t *testing.T) {
function Test012AssignNotDefineRangeForLoop (line 265) | func Test012AssignNotDefineRangeForLoop(t *testing.T) {
function Test012DoubleRangeLoop (line 282) | func Test012DoubleRangeLoop(t *testing.T) {
function Test013SetAStringSliceToEmptyString (line 299) | func Test013SetAStringSliceToEmptyString(t *testing.T) {
function Test014LenOfSlice (line 316) | func Test014LenOfSlice(t *testing.T) {
function Test015ArrayCreation (line 334) | func Test015ArrayCreation(t *testing.T) {
function Test015_5_ArrayCreation (line 367) | func Test015_5_ArrayCreation(t *testing.T) {
function Test016MapCreation (line 385) | func Test016MapCreation(t *testing.T) {
function Test016bMapCreation (line 410) | func Test016bMapCreation(t *testing.T) {
function Test017DeleteFromMap (line 433) | func Test017DeleteFromMap(t *testing.T) {
function Test018ReadFromMap (line 452) | func Test018ReadFromMap(t *testing.T) {
function Test018ReadFromSlice (line 481) | func Test018ReadFromSlice(t *testing.T) {
function Test019TopLevelScope (line 507) | func Test019TopLevelScope(t *testing.T) {
function Test020StructTypeDeclarations (line 524) | func Test020StructTypeDeclarations(t *testing.T) {
function Test021StructTypeValues (line 542) | func Test021StructTypeValues(t *testing.T) {
function Test022StructTypeValues (line 562) | func Test022StructTypeValues(t *testing.T) {
function Test024MultipleAssignment (line 609) | func Test024MultipleAssignment(t *testing.T) {
function Test025ComplexNumbers (line 635) | func Test025ComplexNumbers(t *testing.T) {
function Test026LenOfString (line 649) | func Test026LenOfString(t *testing.T) {
function Test029StructMethods (line 672) | func Test029StructMethods(t *testing.T) {
function Test030MethodRedefinitionAllowed (line 707) | func Test030MethodRedefinitionAllowed(t *testing.T) {
function Test031ValueOkDoubleReturnFromMapQuery (line 738) | func Test031ValueOkDoubleReturnFromMapQuery(t *testing.T) {
function Test032DeleteOnMapsAndMapsCanStoreNil (line 769) | func Test032DeleteOnMapsAndMapsCanStoreNil(t *testing.T) {
function Test036Println (line 797) | func Test036Println(t *testing.T) {
function Test037Println (line 832) | func Test037Println(t *testing.T) {
function Test038Switch (line 867) | func Test038Switch(t *testing.T) {
function Test039SwitchInFunction (line 900) | func Test039SwitchInFunction(t *testing.T) {
function Test040Switch (line 936) | func Test040Switch(t *testing.T) {
function Test042LenAtRepl (line 969) | func Test042LenAtRepl(t *testing.T) {
function Test043IntegerDivideByZero (line 987) | func Test043IntegerDivideByZero(t *testing.T) {
function Test069MethodRedefinitionAllowed (line 1039) | func Test069MethodRedefinitionAllowed(t *testing.T) {
function Test070VariablesInsideFunctionsAreLocal (line 1068) | func Test070VariablesInsideFunctionsAreLocal(t *testing.T) {
function Test028CopyAStruct (line 1100) | func Test028CopyAStruct(t *testing.T) {
function Test199CalculatorExpression (line 1129) | func Test199CalculatorExpression(t *testing.T) {
function Test1990complexReturnValue (line 1154) | func Test1990complexReturnValue(t *testing.T) {
function Test1991bytesReturnValue (line 1180) | func Test1991bytesReturnValue(t *testing.T) {
function Test1992keywordProtected (line 1226) | func Test1992keywordProtected(t *testing.T) {
function Test1993ArrayOfArrayHasTypeAndLenWorking (line 1250) | func Test1993ArrayOfArrayHasTypeAndLenWorking(t *testing.T) {
FILE: pkg/compiler/repl_util.go
function TranslateAndCatchPanic (line 16) | func TranslateAndCatchPanic(inc *IncrState, src []byte) (translation str...
function readHistory (line 53) | func readHistory(histFn string) (history []string, err error) {
function removeCommands (line 72) | func removeCommands(history []string, histFn string, histFile *os.File, ...
function getHistoryRange (line 116) | func getHistoryRange(lows string, history []string) (slc []int, err erro...
function sourceGoFiles (line 147) | func sourceGoFiles(files []string) ([]byte, error) {
FILE: pkg/compiler/roar/vprint.go
type Stream (line 7) | type Stream struct
function P (line 15) | func P(format string, a ...interface{}) {
function ToString (line 22) | func ToString(format string, a ...interface{}) string {
FILE: pkg/compiler/rtyp.go
constant __kindUnknown (line 11) | __kindUnknown = -1
constant __kindBool (line 12) | __kindBool = 1
constant __kindInt (line 13) | __kindInt = 2
constant __kindInt8 (line 14) | __kindInt8 = 3
constant __kindInt16 (line 15) | __kindInt16 = 4
constant __kindInt32 (line 16) | __kindInt32 = 5
constant __kindInt64 (line 17) | __kindInt64 = 6
constant __kindUint (line 18) | __kindUint = 7
constant __kindUint8 (line 19) | __kindUint8 = 8
constant __kindUint16 (line 20) | __kindUint16 = 9
constant __kindUint32 (line 21) | __kindUint32 = 10
constant __kindUint64 (line 22) | __kindUint64 = 11
constant __kindUintptr (line 23) | __kindUintptr = 12
constant __kindFloat32 (line 24) | __kindFloat32 = 13
constant __kindFloat64 (line 25) | __kindFloat64 = 14
constant __kindComplex64 (line 26) | __kindComplex64 = 15
constant __kindComplex128 (line 27) | __kindComplex128 = 16
constant __kindArray (line 28) | __kindArray = 17
constant __kindChan (line 29) | __kindChan = 18
constant __kindFunc (line 30) | __kindFunc = 19
constant __kindInterface (line 31) | __kindInterface = 20
constant __kindMap (line 32) | __kindMap = 21
constant __kindPtr (line 33) | __kindPtr = 22
constant __kindSlice (line 34) | __kindSlice = 23
constant __kindString (line 35) | __kindString = 24
constant __kindStruct (line 36) | __kindStruct = 25
constant __kindUnsafePointer (line 37) | __kindUnsafePointer = 26
function registerBasicReflectTypes (line 42) | func registerBasicReflectTypes(vm *golua.State) {
FILE: pkg/compiler/shadow/bytes/bytes.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Buffer (line 63) | func GijitShadow_NewStruct_Buffer(src *bytes.Buffer) *bytes.Buffer {
function GijitShadow_NewStruct_Reader (line 72) | func GijitShadow_NewStruct_Reader(src *bytes.Reader) *bytes.Reader {
function InitLua (line 82) | func InitLua() string {
FILE: pkg/compiler/shadow/encoding/binary/binary.genimp.go
function init (line 8) | func init() {
function GijitShadow_InterfaceConvertTo2_ByteOrder (line 26) | func GijitShadow_InterfaceConvertTo2_ByteOrder(x interface{}) (y binary....
function GijitShadow_InterfaceConvertTo1_ByteOrder (line 31) | func GijitShadow_InterfaceConvertTo1_ByteOrder(x interface{}) binary.Byt...
function InitLua (line 37) | func InitLua() string {
FILE: pkg/compiler/shadow/encoding/encoding.genimp.go
function init (line 8) | func init() {
function GijitShadow_InterfaceConvertTo2_BinaryMarshaler (line 15) | func GijitShadow_InterfaceConvertTo2_BinaryMarshaler(x interface{}) (y e...
function GijitShadow_InterfaceConvertTo1_BinaryMarshaler (line 20) | func GijitShadow_InterfaceConvertTo1_BinaryMarshaler(x interface{}) enco...
function GijitShadow_InterfaceConvertTo2_BinaryUnmarshaler (line 25) | func GijitShadow_InterfaceConvertTo2_BinaryUnmarshaler(x interface{}) (y...
function GijitShadow_InterfaceConvertTo1_BinaryUnmarshaler (line 30) | func GijitShadow_InterfaceConvertTo1_BinaryUnmarshaler(x interface{}) en...
function GijitShadow_InterfaceConvertTo2_TextMarshaler (line 35) | func GijitShadow_InterfaceConvertTo2_TextMarshaler(x interface{}) (y enc...
function GijitShadow_InterfaceConvertTo1_TextMarshaler (line 40) | func GijitShadow_InterfaceConvertTo1_TextMarshaler(x interface{}) encodi...
function GijitShadow_InterfaceConvertTo2_TextUnmarshaler (line 45) | func GijitShadow_InterfaceConvertTo2_TextUnmarshaler(x interface{}) (y e...
function GijitShadow_InterfaceConvertTo1_TextUnmarshaler (line 50) | func GijitShadow_InterfaceConvertTo1_TextUnmarshaler(x interface{}) enco...
function InitLua (line 56) | func InitLua() string {
FILE: pkg/compiler/shadow/errors/errors.genimp.go
function init (line 8) | func init() {
function InitLua (line 13) | func InitLua() string {
FILE: pkg/compiler/shadow/fmt/fmt.genimp.go
function init (line 8) | func init() {
function GijitShadow_InterfaceConvertTo2_Formatter (line 36) | func GijitShadow_InterfaceConvertTo2_Formatter(x interface{}) (y fmt.For...
function GijitShadow_InterfaceConvertTo1_Formatter (line 41) | func GijitShadow_InterfaceConvertTo1_Formatter(x interface{}) fmt.Format...
function GijitShadow_InterfaceConvertTo2_GoStringer (line 46) | func GijitShadow_InterfaceConvertTo2_GoStringer(x interface{}) (y fmt.Go...
function GijitShadow_InterfaceConvertTo1_GoStringer (line 51) | func GijitShadow_InterfaceConvertTo1_GoStringer(x interface{}) fmt.GoStr...
function GijitShadow_InterfaceConvertTo2_ScanState (line 56) | func GijitShadow_InterfaceConvertTo2_ScanState(x interface{}) (y fmt.Sca...
function GijitShadow_InterfaceConvertTo1_ScanState (line 61) | func GijitShadow_InterfaceConvertTo1_ScanState(x interface{}) fmt.ScanSt...
function GijitShadow_InterfaceConvertTo2_Scanner (line 66) | func GijitShadow_InterfaceConvertTo2_Scanner(x interface{}) (y fmt.Scann...
function GijitShadow_InterfaceConvertTo1_Scanner (line 71) | func GijitShadow_InterfaceConvertTo1_Scanner(x interface{}) fmt.Scanner {
function GijitShadow_InterfaceConvertTo2_State (line 76) | func GijitShadow_InterfaceConvertTo2_State(x interface{}) (y fmt.State, ...
function GijitShadow_InterfaceConvertTo1_State (line 81) | func GijitShadow_InterfaceConvertTo1_State(x interface{}) fmt.State {
function GijitShadow_InterfaceConvertTo2_Stringer (line 86) | func GijitShadow_InterfaceConvertTo2_Stringer(x interface{}) (y fmt.Stri...
function GijitShadow_InterfaceConvertTo1_Stringer (line 91) | func GijitShadow_InterfaceConvertTo1_Stringer(x interface{}) fmt.Stringer {
function InitLua (line 97) | func InitLua() string {
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/blas/blas.genimp.go
function init (line 7) | func init() {
function GijitShadow_InterfaceConvertTo2_Complex128 (line 26) | func GijitShadow_InterfaceConvertTo2_Complex128(x interface{}) (y blas.C...
function GijitShadow_InterfaceConvertTo1_Complex128 (line 31) | func GijitShadow_InterfaceConvertTo1_Complex128(x interface{}) blas.Comp...
function GijitShadow_InterfaceConvertTo2_Complex128Level1 (line 35) | func GijitShadow_InterfaceConvertTo2_Complex128Level1(x interface{}) (y ...
function GijitShadow_InterfaceConvertTo1_Complex128Level1 (line 40) | func GijitShadow_InterfaceConvertTo1_Complex128Level1(x interface{}) bla...
function GijitShadow_InterfaceConvertTo2_Complex128Level2 (line 44) | func GijitShadow_InterfaceConvertTo2_Complex128Level2(x interface{}) (y ...
function GijitShadow_InterfaceConvertTo1_Complex128Level2 (line 49) | func GijitShadow_InterfaceConvertTo1_Complex128Level2(x interface{}) bla...
function GijitShadow_InterfaceConvertTo2_Complex128Level3 (line 53) | func GijitShadow_InterfaceConvertTo2_Complex128Level3(x interface{}) (y ...
function GijitShadow_InterfaceConvertTo1_Complex128Level3 (line 58) | func GijitShadow_InterfaceConvertTo1_Complex128Level3(x interface{}) bla...
function GijitShadow_InterfaceConvertTo2_Complex64 (line 62) | func GijitShadow_InterfaceConvertTo2_Complex64(x interface{}) (y blas.Co...
function GijitShadow_InterfaceConvertTo1_Complex64 (line 67) | func GijitShadow_InterfaceConvertTo1_Complex64(x interface{}) blas.Compl...
function GijitShadow_InterfaceConvertTo2_Complex64Level1 (line 71) | func GijitShadow_InterfaceConvertTo2_Complex64Level1(x interface{}) (y b...
function GijitShadow_InterfaceConvertTo1_Complex64Level1 (line 76) | func GijitShadow_InterfaceConvertTo1_Complex64Level1(x interface{}) blas...
function GijitShadow_InterfaceConvertTo2_Complex64Level2 (line 80) | func GijitShadow_InterfaceConvertTo2_Complex64Level2(x interface{}) (y b...
function GijitShadow_InterfaceConvertTo1_Complex64Level2 (line 85) | func GijitShadow_InterfaceConvertTo1_Complex64Level2(x interface{}) blas...
function GijitShadow_InterfaceConvertTo2_Complex64Level3 (line 89) | func GijitShadow_InterfaceConvertTo2_Complex64Level3(x interface{}) (y b...
function GijitShadow_InterfaceConvertTo1_Complex64Level3 (line 94) | func GijitShadow_InterfaceConvertTo1_Complex64Level3(x interface{}) blas...
function GijitShadow_NewStruct_DrotmParams (line 98) | func GijitShadow_NewStruct_DrotmParams() *blas.DrotmParams {
function GijitShadow_InterfaceConvertTo2_Float32 (line 102) | func GijitShadow_InterfaceConvertTo2_Float32(x interface{}) (y blas.Floa...
function GijitShadow_InterfaceConvertTo1_Float32 (line 107) | func GijitShadow_InterfaceConvertTo1_Float32(x interface{}) blas.Float32 {
function GijitShadow_InterfaceConvertTo2_Float32Level1 (line 111) | func GijitShadow_InterfaceConvertTo2_Float32Level1(x interface{}) (y bla...
function GijitShadow_InterfaceConvertTo1_Float32Level1 (line 116) | func GijitShadow_InterfaceConvertTo1_Float32Level1(x interface{}) blas.F...
function GijitShadow_InterfaceConvertTo2_Float32Level2 (line 120) | func GijitShadow_InterfaceConvertTo2_Float32Level2(x interface{}) (y bla...
function GijitShadow_InterfaceConvertTo1_Float32Level2 (line 125) | func GijitShadow_InterfaceConvertTo1_Float32Level2(x interface{}) blas.F...
function GijitShadow_InterfaceConvertTo2_Float32Level3 (line 129) | func GijitShadow_InterfaceConvertTo2_Float32Level3(x interface{}) (y bla...
function GijitShadow_InterfaceConvertTo1_Float32Level3 (line 134) | func GijitShadow_InterfaceConvertTo1_Float32Level3(x interface{}) blas.F...
function GijitShadow_InterfaceConvertTo2_Float64 (line 138) | func GijitShadow_InterfaceConvertTo2_Float64(x interface{}) (y blas.Floa...
function GijitShadow_InterfaceConvertTo1_Float64 (line 143) | func GijitShadow_InterfaceConvertTo1_Float64(x interface{}) blas.Float64 {
function GijitShadow_InterfaceConvertTo2_Float64Level1 (line 147) | func GijitShadow_InterfaceConvertTo2_Float64Level1(x interface{}) (y bla...
function GijitShadow_InterfaceConvertTo1_Float64Level1 (line 152) | func GijitShadow_InterfaceConvertTo1_Float64Level1(x interface{}) blas.F...
function GijitShadow_InterfaceConvertTo2_Float64Level2 (line 156) | func GijitShadow_InterfaceConvertTo2_Float64Level2(x interface{}) (y bla...
function GijitShadow_InterfaceConvertTo1_Float64Level2 (line 161) | func GijitShadow_InterfaceConvertTo1_Float64Level2(x interface{}) blas.F...
function GijitShadow_InterfaceConvertTo2_Float64Level3 (line 165) | func GijitShadow_InterfaceConvertTo2_Float64Level3(x interface{}) (y bla...
function GijitShadow_InterfaceConvertTo1_Float64Level3 (line 170) | func GijitShadow_InterfaceConvertTo1_Float64Level3(x interface{}) blas.F...
function GijitShadow_NewStruct_SrotmParams (line 174) | func GijitShadow_NewStruct_SrotmParams() *blas.SrotmParams {
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/diff/fd/fd.genimp.go
function init (line 7) | func init() {
function GijitShadow_NewStruct_Formula (line 22) | func GijitShadow_NewStruct_Formula() *fd.Formula {
function GijitShadow_NewStruct_JacobianSettings (line 26) | func GijitShadow_NewStruct_JacobianSettings() *fd.JacobianSettings {
function GijitShadow_NewStruct_Point (line 30) | func GijitShadow_NewStruct_Point() *fd.Point {
function GijitShadow_NewStruct_Settings (line 34) | func GijitShadow_NewStruct_Settings() *fd.Settings {
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/floats/floats.genimp.go
function init (line 7) | func init() {
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/graph/graph.genimp.go
function init (line 7) | func init() {
function GijitShadow_InterfaceConvertTo2_Builder (line 49) | func GijitShadow_InterfaceConvertTo2_Builder(x interface{}) (y graph.Bui...
function GijitShadow_InterfaceConvertTo1_Builder (line 54) | func GijitShadow_InterfaceConvertTo1_Builder(x interface{}) graph.Builder {
function GijitShadow_InterfaceConvertTo2_Directed (line 58) | func GijitShadow_InterfaceConvertTo2_Directed(x interface{}) (y graph.Di...
function GijitShadow_InterfaceConvertTo1_Directed (line 63) | func GijitShadow_InterfaceConvertTo1_Directed(x interface{}) graph.Direc...
function GijitShadow_InterfaceConvertTo2_DirectedBuilder (line 67) | func GijitShadow_InterfaceConvertTo2_DirectedBuilder(x interface{}) (y g...
function GijitShadow_InterfaceConvertTo1_DirectedBuilder (line 72) | func GijitShadow_InterfaceConvertTo1_DirectedBuilder(x interface{}) grap...
function GijitShadow_InterfaceConvertTo2_DirectedMultigraph (line 76) | func GijitShadow_InterfaceConvertTo2_DirectedMultigraph(x interface{}) (...
function GijitShadow_InterfaceConvertTo1_DirectedMultigraph (line 81) | func GijitShadow_InterfaceConvertTo1_DirectedMultigraph(x interface{}) g...
function GijitShadow_InterfaceConvertTo2_DirectedMultigraphBuilder (line 85) | func GijitShadow_InterfaceConvertTo2_DirectedMultigraphBuilder(x interfa...
function GijitShadow_InterfaceConvertTo1_DirectedMultigraphBuilder (line 90) | func GijitShadow_InterfaceConvertTo1_DirectedMultigraphBuilder(x interfa...
function GijitShadow_InterfaceConvertTo2_DirectedWeightedBuilder (line 94) | func GijitShadow_InterfaceConvertTo2_DirectedWeightedBuilder(x interface...
function GijitShadow_InterfaceConvertTo1_DirectedWeightedBuilder (line 99) | func GijitShadow_InterfaceConvertTo1_DirectedWeightedBuilder(x interface...
function GijitShadow_InterfaceConvertTo2_DirectedWeightedMultigraphBuilder (line 103) | func GijitShadow_InterfaceConvertTo2_DirectedWeightedMultigraphBuilder(x...
function GijitShadow_InterfaceConvertTo1_DirectedWeightedMultigraphBuilder (line 108) | func GijitShadow_InterfaceConvertTo1_DirectedWeightedMultigraphBuilder(x...
function GijitShadow_InterfaceConvertTo2_Edge (line 112) | func GijitShadow_InterfaceConvertTo2_Edge(x interface{}) (y graph.Edge, ...
function GijitShadow_InterfaceConvertTo1_Edge (line 117) | func GijitShadow_InterfaceConvertTo1_Edge(x interface{}) graph.Edge {
function GijitShadow_InterfaceConvertTo2_EdgeAdder (line 121) | func GijitShadow_InterfaceConvertTo2_EdgeAdder(x interface{}) (y graph.E...
function GijitShadow_InterfaceConvertTo1_EdgeAdder (line 126) | func GijitShadow_InterfaceConvertTo1_EdgeAdder(x interface{}) graph.Edge...
function GijitShadow_InterfaceConvertTo2_EdgeRemover (line 130) | func GijitShadow_InterfaceConvertTo2_EdgeRemover(x interface{}) (y graph...
function GijitShadow_InterfaceConvertTo1_EdgeRemover (line 135) | func GijitShadow_InterfaceConvertTo1_EdgeRemover(x interface{}) graph.Ed...
function GijitShadow_InterfaceConvertTo2_Graph (line 139) | func GijitShadow_InterfaceConvertTo2_Graph(x interface{}) (y graph.Graph...
function GijitShadow_InterfaceConvertTo1_Graph (line 144) | func GijitShadow_InterfaceConvertTo1_Graph(x interface{}) graph.Graph {
function GijitShadow_InterfaceConvertTo2_Line (line 148) | func GijitShadow_InterfaceConvertTo2_Line(x interface{}) (y graph.Line, ...
function GijitShadow_InterfaceConvertTo1_Line (line 153) | func GijitShadow_InterfaceConvertTo1_Line(x interface{}) graph.Line {
function GijitShadow_InterfaceConvertTo2_LineAdder (line 157) | func GijitShadow_InterfaceConvertTo2_LineAdder(x interface{}) (y graph.L...
function GijitShadow_InterfaceConvertTo1_LineAdder (line 162) | func GijitShadow_InterfaceConvertTo1_LineAdder(x interface{}) graph.Line...
function GijitShadow_InterfaceConvertTo2_LineRemover (line 166) | func GijitShadow_InterfaceConvertTo2_LineRemover(x interface{}) (y graph...
function GijitShadow_InterfaceConvertTo1_LineRemover (line 171) | func GijitShadow_InterfaceConvertTo1_LineRemover(x interface{}) graph.Li...
function GijitShadow_InterfaceConvertTo2_Multigraph (line 175) | func GijitShadow_InterfaceConvertTo2_Multigraph(x interface{}) (y graph....
function GijitShadow_InterfaceConvertTo1_Multigraph (line 180) | func GijitShadow_InterfaceConvertTo1_Multigraph(x interface{}) graph.Mul...
function GijitShadow_InterfaceConvertTo2_MultigraphBuilder (line 184) | func GijitShadow_InterfaceConvertTo2_MultigraphBuilder(x interface{}) (y...
function GijitShadow_InterfaceConvertTo1_MultigraphBuilder (line 189) | func GijitShadow_InterfaceConvertTo1_MultigraphBuilder(x interface{}) gr...
function GijitShadow_InterfaceConvertTo2_Node (line 193) | func GijitShadow_InterfaceConvertTo2_Node(x interface{}) (y graph.Node, ...
function GijitShadow_InterfaceConvertTo1_Node (line 198) | func GijitShadow_InterfaceConvertTo1_Node(x interface{}) graph.Node {
function GijitShadow_InterfaceConvertTo2_NodeAdder (line 202) | func GijitShadow_InterfaceConvertTo2_NodeAdder(x interface{}) (y graph.N...
function GijitShadow_InterfaceConvertTo1_NodeAdder (line 207) | func GijitShadow_InterfaceConvertTo1_NodeAdder(x interface{}) graph.Node...
function GijitShadow_InterfaceConvertTo2_NodeRemover (line 211) | func GijitShadow_InterfaceConvertTo2_NodeRemover(x interface{}) (y graph...
function GijitShadow_InterfaceConvertTo1_NodeRemover (line 216) | func GijitShadow_InterfaceConvertTo1_NodeRemover(x interface{}) graph.No...
function GijitShadow_NewStruct_Undirect (line 220) | func GijitShadow_NewStruct_Undirect() *graph.Undirect {
function GijitShadow_NewStruct_UndirectWeighted (line 224) | func GijitShadow_NewStruct_UndirectWeighted() *graph.UndirectWeighted {
function GijitShadow_InterfaceConvertTo2_Undirected (line 228) | func GijitShadow_InterfaceConvertTo2_Undirected(x interface{}) (y graph....
function GijitShadow_InterfaceConvertTo1_Undirected (line 233) | func GijitShadow_InterfaceConvertTo1_Undirected(x interface{}) graph.Und...
function GijitShadow_InterfaceConvertTo2_UndirectedBuilder (line 237) | func GijitShadow_InterfaceConvertTo2_UndirectedBuilder(x interface{}) (y...
function GijitShadow_InterfaceConvertTo1_UndirectedBuilder (line 242) | func GijitShadow_InterfaceConvertTo1_UndirectedBuilder(x interface{}) gr...
function GijitShadow_InterfaceConvertTo2_UndirectedMultigraph (line 246) | func GijitShadow_InterfaceConvertTo2_UndirectedMultigraph(x interface{})...
function GijitShadow_InterfaceConvertTo1_UndirectedMultigraph (line 251) | func GijitShadow_InterfaceConvertTo1_UndirectedMultigraph(x interface{})...
function GijitShadow_InterfaceConvertTo2_UndirectedMultigraphBuilder (line 255) | func GijitShadow_InterfaceConvertTo2_UndirectedMultigraphBuilder(x inter...
function GijitShadow_InterfaceConvertTo1_UndirectedMultigraphBuilder (line 260) | func GijitShadow_InterfaceConvertTo1_UndirectedMultigraphBuilder(x inter...
function GijitShadow_InterfaceConvertTo2_UndirectedWeightedBuilder (line 264) | func GijitShadow_InterfaceConvertTo2_UndirectedWeightedBuilder(x interfa...
function GijitShadow_InterfaceConvertTo1_UndirectedWeightedBuilder (line 269) | func GijitShadow_InterfaceConvertTo1_UndirectedWeightedBuilder(x interfa...
function GijitShadow_InterfaceConvertTo2_UndirectedWeightedMultigraphBuilder (line 273) | func GijitShadow_InterfaceConvertTo2_UndirectedWeightedMultigraphBuilder...
function GijitShadow_InterfaceConvertTo1_UndirectedWeightedMultigraphBuilder (line 278) | func GijitShadow_InterfaceConvertTo1_UndirectedWeightedMultigraphBuilder...
function GijitShadow_InterfaceConvertTo2_Weighted (line 282) | func GijitShadow_InterfaceConvertTo2_Weighted(x interface{}) (y graph.We...
function GijitShadow_InterfaceConvertTo1_Weighted (line 287) | func GijitShadow_InterfaceConvertTo1_Weighted(x interface{}) graph.Weigh...
function GijitShadow_InterfaceConvertTo2_WeightedBuilder (line 291) | func GijitShadow_InterfaceConvertTo2_WeightedBuilder(x interface{}) (y g...
function GijitShadow_InterfaceConvertTo1_WeightedBuilder (line 296) | func GijitShadow_InterfaceConvertTo1_WeightedBuilder(x interface{}) grap...
function GijitShadow_InterfaceConvertTo2_WeightedDirected (line 300) | func GijitShadow_InterfaceConvertTo2_WeightedDirected(x interface{}) (y ...
function GijitShadow_InterfaceConvertTo1_WeightedDirected (line 305) | func GijitShadow_InterfaceConvertTo1_WeightedDirected(x interface{}) gra...
function GijitShadow_InterfaceConvertTo2_WeightedDirectedMultigraph (line 309) | func GijitShadow_InterfaceConvertTo2_WeightedDirectedMultigraph(x interf...
function GijitShadow_InterfaceConvertTo1_WeightedDirectedMultigraph (line 314) | func GijitShadow_InterfaceConvertTo1_WeightedDirectedMultigraph(x interf...
function GijitShadow_InterfaceConvertTo2_WeightedEdge (line 318) | func GijitShadow_InterfaceConvertTo2_WeightedEdge(x interface{}) (y grap...
function GijitShadow_InterfaceConvertTo1_WeightedEdge (line 323) | func GijitShadow_InterfaceConvertTo1_WeightedEdge(x interface{}) graph.W...
function GijitShadow_InterfaceConvertTo2_WeightedEdgeAdder (line 327) | func GijitShadow_InterfaceConvertTo2_WeightedEdgeAdder(x interface{}) (y...
function GijitShadow_InterfaceConvertTo1_WeightedEdgeAdder (line 332) | func GijitShadow_InterfaceConvertTo1_WeightedEdgeAdder(x interface{}) gr...
function GijitShadow_NewStruct_WeightedEdgePair (line 336) | func GijitShadow_NewStruct_WeightedEdgePair() *graph.WeightedEdgePair {
function GijitShadow_InterfaceConvertTo2_WeightedLine (line 340) | func GijitShadow_InterfaceConvertTo2_WeightedLine(x interface{}) (y grap...
function GijitShadow_InterfaceConvertTo1_WeightedLine (line 345) | func GijitShadow_InterfaceConvertTo1_WeightedLine(x interface{}) graph.W...
function GijitShadow_InterfaceConvertTo2_WeightedLineAdder (line 349) | func GijitShadow_InterfaceConvertTo2_WeightedLineAdder(x interface{}) (y...
function GijitShadow_InterfaceConvertTo1_WeightedLineAdder (line 354) | func GijitShadow_InterfaceConvertTo1_WeightedLineAdder(x interface{}) gr...
function GijitShadow_InterfaceConvertTo2_WeightedMultigraph (line 358) | func GijitShadow_InterfaceConvertTo2_WeightedMultigraph(x interface{}) (...
function GijitShadow_InterfaceConvertTo1_WeightedMultigraph (line 363) | func GijitShadow_InterfaceConvertTo1_WeightedMultigraph(x interface{}) g...
function GijitShadow_InterfaceConvertTo2_WeightedMultigraphBuilder (line 367) | func GijitShadow_InterfaceConvertTo2_WeightedMultigraphBuilder(x interfa...
function GijitShadow_InterfaceConvertTo1_WeightedMultigraphBuilder (line 372) | func GijitShadow_InterfaceConvertTo1_WeightedMultigraphBuilder(x interfa...
function GijitShadow_InterfaceConvertTo2_WeightedUndirected (line 376) | func GijitShadow_InterfaceConvertTo2_WeightedUndirected(x interface{}) (...
function GijitShadow_InterfaceConvertTo1_WeightedUndirected (line 381) | func GijitShadow_InterfaceConvertTo1_WeightedUndirected(x interface{}) g...
function GijitShadow_InterfaceConvertTo2_WeightedUndirectedMultigraph (line 385) | func GijitShadow_InterfaceConvertTo2_WeightedUndirectedMultigraph(x inte...
function GijitShadow_InterfaceConvertTo1_WeightedUndirectedMultigraph (line 390) | func GijitShadow_InterfaceConvertTo1_WeightedUndirectedMultigraph(x inte...
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/integrate/integrate.genimp.go
function init (line 7) | func init() {
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/lapack/lapack.genimp.go
function init (line 7) | func init() {
function GijitShadow_InterfaceConvertTo2_Complex128 (line 13) | func GijitShadow_InterfaceConvertTo2_Complex128(x interface{}) (y lapack...
function GijitShadow_InterfaceConvertTo1_Complex128 (line 18) | func GijitShadow_InterfaceConvertTo1_Complex128(x interface{}) lapack.Co...
function GijitShadow_InterfaceConvertTo2_Float64 (line 22) | func GijitShadow_InterfaceConvertTo2_Float64(x interface{}) (y lapack.Fl...
function GijitShadow_InterfaceConvertTo1_Float64 (line 27) | func GijitShadow_InterfaceConvertTo1_Float64(x interface{}) lapack.Float...
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/mat/mat.genimp.go
function init (line 7) | func init() {
function GijitShadow_NewStruct_BandDense (line 96) | func GijitShadow_NewStruct_BandDense() *mat.BandDense {
function GijitShadow_InterfaceConvertTo2_BandWidther (line 100) | func GijitShadow_InterfaceConvertTo2_BandWidther(x interface{}) (y mat.B...
function GijitShadow_InterfaceConvertTo1_BandWidther (line 105) | func GijitShadow_InterfaceConvertTo1_BandWidther(x interface{}) mat.Band...
function GijitShadow_InterfaceConvertTo2_Banded (line 109) | func GijitShadow_InterfaceConvertTo2_Banded(x interface{}) (y mat.Banded...
function GijitShadow_InterfaceConvertTo1_Banded (line 114) | func GijitShadow_InterfaceConvertTo1_Banded(x interface{}) mat.Banded {
function GijitShadow_InterfaceConvertTo2_CMatrix (line 118) | func GijitShadow_InterfaceConvertTo2_CMatrix(x interface{}) (y mat.CMatr...
function GijitShadow_InterfaceConvertTo1_CMatrix (line 123) | func GijitShadow_InterfaceConvertTo1_CMatrix(x interface{}) mat.CMatrix {
function GijitShadow_NewStruct_Cholesky (line 127) | func GijitShadow_NewStruct_Cholesky() *mat.Cholesky {
function GijitShadow_InterfaceConvertTo2_Cloner (line 131) | func GijitShadow_InterfaceConvertTo2_Cloner(x interface{}) (y mat.Cloner...
function GijitShadow_InterfaceConvertTo1_Cloner (line 136) | func GijitShadow_InterfaceConvertTo1_Cloner(x interface{}) mat.Cloner {
function GijitShadow_InterfaceConvertTo2_ColNonZeroDoer (line 140) | func GijitShadow_InterfaceConvertTo2_ColNonZeroDoer(x interface{}) (y ma...
function GijitShadow_InterfaceConvertTo1_ColNonZeroDoer (line 145) | func GijitShadow_InterfaceConvertTo1_ColNonZeroDoer(x interface{}) mat.C...
function GijitShadow_InterfaceConvertTo2_ColViewer (line 149) | func GijitShadow_InterfaceConvertTo2_ColViewer(x interface{}) (y mat.Col...
function GijitShadow_InterfaceConvertTo1_ColViewer (line 154) | func GijitShadow_InterfaceConvertTo1_ColViewer(x interface{}) mat.ColVie...
function GijitShadow_NewStruct_Conjugate (line 158) | func GijitShadow_NewStruct_Conjugate() *mat.Conjugate {
function GijitShadow_InterfaceConvertTo2_Copier (line 162) | func GijitShadow_InterfaceConvertTo2_Copier(x interface{}) (y mat.Copier...
function GijitShadow_InterfaceConvertTo1_Copier (line 167) | func GijitShadow_InterfaceConvertTo1_Copier(x interface{}) mat.Copier {
function GijitShadow_NewStruct_Dense (line 171) | func GijitShadow_NewStruct_Dense() *mat.Dense {
function GijitShadow_NewStruct_Eigen (line 175) | func GijitShadow_NewStruct_Eigen() *mat.Eigen {
function GijitShadow_NewStruct_EigenSym (line 179) | func GijitShadow_NewStruct_EigenSym() *mat.EigenSym {
function GijitShadow_NewStruct_Error (line 183) | func GijitShadow_NewStruct_Error() *mat.Error {
function GijitShadow_NewStruct_ErrorStack (line 187) | func GijitShadow_NewStruct_ErrorStack() *mat.ErrorStack {
function GijitShadow_NewStruct_GSVD (line 191) | func GijitShadow_NewStruct_GSVD() *mat.GSVD {
function GijitShadow_InterfaceConvertTo2_Grower (line 195) | func GijitShadow_InterfaceConvertTo2_Grower(x interface{}) (y mat.Grower...
function GijitShadow_InterfaceConvertTo1_Grower (line 200) | func GijitShadow_InterfaceConvertTo1_Grower(x interface{}) mat.Grower {
function GijitShadow_NewStruct_HOGSVD (line 204) | func GijitShadow_NewStruct_HOGSVD() *mat.HOGSVD {
function GijitShadow_NewStruct_LQ (line 208) | func GijitShadow_NewStruct_LQ() *mat.LQ {
function GijitShadow_NewStruct_LU (line 212) | func GijitShadow_NewStruct_LU() *mat.LU {
function GijitShadow_InterfaceConvertTo2_Matrix (line 216) | func GijitShadow_InterfaceConvertTo2_Matrix(x interface{}) (y mat.Matrix...
function GijitShadow_InterfaceConvertTo1_Matrix (line 221) | func GijitShadow_InterfaceConvertTo1_Matrix(x interface{}) mat.Matrix {
function GijitShadow_InterfaceConvertTo2_Mutable (line 225) | func GijitShadow_InterfaceConvertTo2_Mutable(x interface{}) (y mat.Mutab...
function GijitShadow_InterfaceConvertTo1_Mutable (line 230) | func GijitShadow_InterfaceConvertTo1_Mutable(x interface{}) mat.Mutable {
function GijitShadow_InterfaceConvertTo2_MutableBanded (line 234) | func GijitShadow_InterfaceConvertTo2_MutableBanded(x interface{}) (y mat...
function GijitShadow_InterfaceConvertTo1_MutableBanded (line 239) | func GijitShadow_InterfaceConvertTo1_MutableBanded(x interface{}) mat.Mu...
function GijitShadow_InterfaceConvertTo2_MutableSymBanded (line 243) | func GijitShadow_InterfaceConvertTo2_MutableSymBanded(x interface{}) (y ...
function GijitShadow_InterfaceConvertTo1_MutableSymBanded (line 248) | func GijitShadow_InterfaceConvertTo1_MutableSymBanded(x interface{}) mat...
function GijitShadow_InterfaceConvertTo2_MutableSymmetric (line 252) | func GijitShadow_InterfaceConvertTo2_MutableSymmetric(x interface{}) (y ...
function GijitShadow_InterfaceConvertTo1_MutableSymmetric (line 257) | func GijitShadow_InterfaceConvertTo1_MutableSymmetric(x interface{}) mat...
function GijitShadow_InterfaceConvertTo2_MutableTriangular (line 261) | func GijitShadow_InterfaceConvertTo2_MutableTriangular(x interface{}) (y...
function GijitShadow_InterfaceConvertTo1_MutableTriangular (line 266) | func GijitShadow_InterfaceConvertTo1_MutableTriangular(x interface{}) ma...
function GijitShadow_InterfaceConvertTo2_NonZeroDoer (line 270) | func GijitShadow_InterfaceConvertTo2_NonZeroDoer(x interface{}) (y mat.N...
function GijitShadow_InterfaceConvertTo1_NonZeroDoer (line 275) | func GijitShadow_InterfaceConvertTo1_NonZeroDoer(x interface{}) mat.NonZ...
function GijitShadow_NewStruct_QR (line 279) | func GijitShadow_NewStruct_QR() *mat.QR {
function GijitShadow_InterfaceConvertTo2_RawBander (line 283) | func GijitShadow_InterfaceConvertTo2_RawBander(x interface{}) (y mat.Raw...
function GijitShadow_InterfaceConvertTo1_RawBander (line 288) | func GijitShadow_InterfaceConvertTo1_RawBander(x interface{}) mat.RawBan...
function GijitShadow_InterfaceConvertTo2_RawColViewer (line 292) | func GijitShadow_InterfaceConvertTo2_RawColViewer(x interface{}) (y mat....
function GijitShadow_InterfaceConvertTo1_RawColViewer (line 297) | func GijitShadow_InterfaceConvertTo1_RawColViewer(x interface{}) mat.Raw...
function GijitShadow_InterfaceConvertTo2_RawMatrixSetter (line 301) | func GijitShadow_InterfaceConvertTo2_RawMatrixSetter(x interface{}) (y m...
function GijitShadow_InterfaceConvertTo1_RawMatrixSetter (line 306) | func GijitShadow_InterfaceConvertTo1_RawMatrixSetter(x interface{}) mat....
function GijitShadow_InterfaceConvertTo2_RawMatrixer (line 310) | func GijitShadow_InterfaceConvertTo2_RawMatrixer(x interface{}) (y mat.R...
function GijitShadow_InterfaceConvertTo1_RawMatrixer (line 315) | func GijitShadow_InterfaceConvertTo1_RawMatrixer(x interface{}) mat.RawM...
function GijitShadow_InterfaceConvertTo2_RawRowViewer (line 319) | func GijitShadow_InterfaceConvertTo2_RawRowViewer(x interface{}) (y mat....
function GijitShadow_InterfaceConvertTo1_RawRowViewer (line 324) | func GijitShadow_InterfaceConvertTo1_RawRowViewer(x interface{}) mat.Raw...
function GijitShadow_InterfaceConvertTo2_RawSymBander (line 328) | func GijitShadow_InterfaceConvertTo2_RawSymBander(x interface{}) (y mat....
function GijitShadow_InterfaceConvertTo1_RawSymBander (line 333) | func GijitShadow_InterfaceConvertTo1_RawSymBander(x interface{}) mat.Raw...
function GijitShadow_InterfaceConvertTo2_RawSymmetricer (line 337) | func GijitShadow_InterfaceConvertTo2_RawSymmetricer(x interface{}) (y ma...
function GijitShadow_InterfaceConvertTo1_RawSymmetricer (line 342) | func GijitShadow_InterfaceConvertTo1_RawSymmetricer(x interface{}) mat.R...
function GijitShadow_InterfaceConvertTo2_RawTriangular (line 346) | func GijitShadow_InterfaceConvertTo2_RawTriangular(x interface{}) (y mat...
function GijitShadow_InterfaceConvertTo1_RawTriangular (line 351) | func GijitShadow_InterfaceConvertTo1_RawTriangular(x interface{}) mat.Ra...
function GijitShadow_InterfaceConvertTo2_RawVectorer (line 355) | func GijitShadow_InterfaceConvertTo2_RawVectorer(x interface{}) (y mat.R...
function GijitShadow_InterfaceConvertTo1_RawVectorer (line 360) | func GijitShadow_InterfaceConvertTo1_RawVectorer(x interface{}) mat.RawV...
function GijitShadow_InterfaceConvertTo2_Reseter (line 364) | func GijitShadow_InterfaceConvertTo2_Reseter(x interface{}) (y mat.Reset...
function GijitShadow_InterfaceConvertTo1_Reseter (line 369) | func GijitShadow_InterfaceConvertTo1_Reseter(x interface{}) mat.Reseter {
function GijitShadow_InterfaceConvertTo2_RowNonZeroDoer (line 373) | func GijitShadow_InterfaceConvertTo2_RowNonZeroDoer(x interface{}) (y ma...
function GijitShadow_InterfaceConvertTo1_RowNonZeroDoer (line 378) | func GijitShadow_InterfaceConvertTo1_RowNonZeroDoer(x interface{}) mat.R...
function GijitShadow_InterfaceConvertTo2_RowViewer (line 382) | func GijitShadow_InterfaceConvertTo2_RowViewer(x interface{}) (y mat.Row...
function GijitShadow_InterfaceConvertTo1_RowViewer (line 387) | func GijitShadow_InterfaceConvertTo1_RowViewer(x interface{}) mat.RowVie...
function GijitShadow_NewStruct_SVD (line 391) | func GijitShadow_NewStruct_SVD() *mat.SVD {
function GijitShadow_NewStruct_SymBandDense (line 395) | func GijitShadow_NewStruct_SymBandDense() *mat.SymBandDense {
function GijitShadow_NewStruct_SymDense (line 399) | func GijitShadow_NewStruct_SymDense() *mat.SymDense {
function GijitShadow_InterfaceConvertTo2_Symmetric (line 403) | func GijitShadow_InterfaceConvertTo2_Symmetric(x interface{}) (y mat.Sym...
function GijitShadow_InterfaceConvertTo1_Symmetric (line 408) | func GijitShadow_InterfaceConvertTo1_Symmetric(x interface{}) mat.Symmet...
function GijitShadow_NewStruct_Transpose (line 412) | func GijitShadow_NewStruct_Transpose() *mat.Transpose {
function GijitShadow_NewStruct_TransposeBand (line 416) | func GijitShadow_NewStruct_TransposeBand() *mat.TransposeBand {
function GijitShadow_NewStruct_TransposeTri (line 420) | func GijitShadow_NewStruct_TransposeTri() *mat.TransposeTri {
function GijitShadow_NewStruct_TransposeVec (line 424) | func GijitShadow_NewStruct_TransposeVec() *mat.TransposeVec {
function GijitShadow_NewStruct_TriDense (line 428) | func GijitShadow_NewStruct_TriDense() *mat.TriDense {
function GijitShadow_InterfaceConvertTo2_Triangular (line 432) | func GijitShadow_InterfaceConvertTo2_Triangular(x interface{}) (y mat.Tr...
function GijitShadow_InterfaceConvertTo1_Triangular (line 437) | func GijitShadow_InterfaceConvertTo1_Triangular(x interface{}) mat.Trian...
function GijitShadow_InterfaceConvertTo2_Unconjugator (line 441) | func GijitShadow_InterfaceConvertTo2_Unconjugator(x interface{}) (y mat....
function GijitShadow_InterfaceConvertTo1_Unconjugator (line 446) | func GijitShadow_InterfaceConvertTo1_Unconjugator(x interface{}) mat.Unc...
function GijitShadow_InterfaceConvertTo2_UntransposeBander (line 450) | func GijitShadow_InterfaceConvertTo2_UntransposeBander(x interface{}) (y...
function GijitShadow_InterfaceConvertTo1_UntransposeBander (line 455) | func GijitShadow_InterfaceConvertTo1_UntransposeBander(x interface{}) ma...
function GijitShadow_InterfaceConvertTo2_UntransposeTrier (line 459) | func GijitShadow_InterfaceConvertTo2_UntransposeTrier(x interface{}) (y ...
function GijitShadow_InterfaceConvertTo1_UntransposeTrier (line 464) | func GijitShadow_InterfaceConvertTo1_UntransposeTrier(x interface{}) mat...
function GijitShadow_InterfaceConvertTo2_Untransposer (line 468) | func GijitShadow_InterfaceConvertTo2_Untransposer(x interface{}) (y mat....
function GijitShadow_InterfaceConvertTo1_Untransposer (line 473) | func GijitShadow_InterfaceConvertTo1_Untransposer(x interface{}) mat.Unt...
function GijitShadow_NewStruct_VecDense (line 477) | func GijitShadow_NewStruct_VecDense() *mat.VecDense {
function GijitShadow_InterfaceConvertTo2_Vector (line 481) | func GijitShadow_InterfaceConvertTo2_Vector(x interface{}) (y mat.Vector...
function GijitShadow_InterfaceConvertTo1_Vector (line 486) | func GijitShadow_InterfaceConvertTo1_Vector(x interface{}) mat.Vector {
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/optimize/optimize.genimp.go
function init (line 7) | func init() {
function GijitShadow_NewStruct_BFGS (line 33) | func GijitShadow_NewStruct_BFGS() *optimize.BFGS {
function GijitShadow_NewStruct_Backtracking (line 37) | func GijitShadow_NewStruct_Backtracking() *optimize.Backtracking {
function GijitShadow_NewStruct_Bisection (line 41) | func GijitShadow_NewStruct_Bisection() *optimize.Bisection {
function GijitShadow_NewStruct_CG (line 45) | func GijitShadow_NewStruct_CG() *optimize.CG {
function GijitShadow_InterfaceConvertTo2_CGVariant (line 49) | func GijitShadow_InterfaceConvertTo2_CGVariant(x interface{}) (y optimiz...
function GijitShadow_InterfaceConvertTo1_CGVariant (line 54) | func GijitShadow_InterfaceConvertTo1_CGVariant(x interface{}) optimize.C...
function GijitShadow_NewStruct_CmaEsChol (line 58) | func GijitShadow_NewStruct_CmaEsChol() *optimize.CmaEsChol {
function GijitShadow_NewStruct_ConstantStepSize (line 62) | func GijitShadow_NewStruct_ConstantStepSize() *optimize.ConstantStepSize {
function GijitShadow_NewStruct_DaiYuan (line 66) | func GijitShadow_NewStruct_DaiYuan() *optimize.DaiYuan {
function GijitShadow_NewStruct_ErrGrad (line 70) | func GijitShadow_NewStruct_ErrGrad() *optimize.ErrGrad {
function GijitShadow_NewStruct_FirstOrderStepSize (line 74) | func GijitShadow_NewStruct_FirstOrderStepSize() *optimize.FirstOrderStep...
function GijitShadow_NewStruct_FletcherReeves (line 78) | func GijitShadow_NewStruct_FletcherReeves() *optimize.FletcherReeves {
function GijitShadow_NewStruct_FunctionConverge (line 82) | func GijitShadow_NewStruct_FunctionConverge() *optimize.FunctionConverge {
function GijitShadow_InterfaceConvertTo2_GlobalMethod (line 86) | func GijitShadow_InterfaceConvertTo2_GlobalMethod(x interface{}) (y opti...
function GijitShadow_InterfaceConvertTo1_GlobalMethod (line 91) | func GijitShadow_InterfaceConvertTo1_GlobalMethod(x interface{}) optimiz...
function GijitShadow_NewStruct_GlobalTask (line 95) | func GijitShadow_NewStruct_GlobalTask() *optimize.GlobalTask {
function GijitShadow_NewStruct_GradientDescent (line 99) | func GijitShadow_NewStruct_GradientDescent() *optimize.GradientDescent {
function GijitShadow_NewStruct_GuessAndCheck (line 103) | func GijitShadow_NewStruct_GuessAndCheck() *optimize.GuessAndCheck {
function GijitShadow_NewStruct_HagerZhang (line 107) | func GijitShadow_NewStruct_HagerZhang() *optimize.HagerZhang {
function GijitShadow_NewStruct_HestenesStiefel (line 111) | func GijitShadow_NewStruct_HestenesStiefel() *optimize.HestenesStiefel {
function GijitShadow_NewStruct_LBFGS (line 115) | func GijitShadow_NewStruct_LBFGS() *optimize.LBFGS {
function GijitShadow_NewStruct_LinesearchMethod (line 119) | func GijitShadow_NewStruct_LinesearchMethod() *optimize.LinesearchMethod {
function GijitShadow_InterfaceConvertTo2_Linesearcher (line 123) | func GijitShadow_InterfaceConvertTo2_Linesearcher(x interface{}) (y opti...
function GijitShadow_InterfaceConvertTo1_Linesearcher (line 128) | func GijitShadow_InterfaceConvertTo1_Linesearcher(x interface{}) optimiz...
function GijitShadow_NewStruct_Location (line 132) | func GijitShadow_NewStruct_Location() *optimize.Location {
function GijitShadow_InterfaceConvertTo2_Method (line 136) | func GijitShadow_InterfaceConvertTo2_Method(x interface{}) (y optimize.M...
function GijitShadow_InterfaceConvertTo1_Method (line 141) | func GijitShadow_InterfaceConvertTo1_Method(x interface{}) optimize.Meth...
function GijitShadow_NewStruct_MoreThuente (line 145) | func GijitShadow_NewStruct_MoreThuente() *optimize.MoreThuente {
function GijitShadow_InterfaceConvertTo2_Needser (line 149) | func GijitShadow_InterfaceConvertTo2_Needser(x interface{}) (y optimize....
function GijitShadow_InterfaceConvertTo1_Needser (line 154) | func GijitShadow_InterfaceConvertTo1_Needser(x interface{}) optimize.Nee...
function GijitShadow_NewStruct_NelderMead (line 158) | func GijitShadow_NewStruct_NelderMead() *optimize.NelderMead {
function GijitShadow_NewStruct_Newton (line 162) | func GijitShadow_NewStruct_Newton() *optimize.Newton {
function GijitShadow_InterfaceConvertTo2_NextDirectioner (line 166) | func GijitShadow_InterfaceConvertTo2_NextDirectioner(x interface{}) (y o...
function GijitShadow_InterfaceConvertTo1_NextDirectioner (line 171) | func GijitShadow_InterfaceConvertTo1_NextDirectioner(x interface{}) opti...
function GijitShadow_NewStruct_PolakRibierePolyak (line 175) | func GijitShadow_NewStruct_PolakRibierePolyak() *optimize.PolakRibierePo...
function GijitShadow_NewStruct_Printer (line 179) | func GijitShadow_NewStruct_Printer() *optimize.Printer {
function GijitShadow_NewStruct_Problem (line 183) | func GijitShadow_NewStruct_Problem() *optimize.Problem {
function GijitShadow_NewStruct_QuadraticStepSize (line 187) | func GijitShadow_NewStruct_QuadraticStepSize() *optimize.QuadraticStepSi...
function GijitShadow_InterfaceConvertTo2_Recorder (line 191) | func GijitShadow_InterfaceConvertTo2_Recorder(x interface{}) (y optimize...
function GijitShadow_InterfaceConvertTo1_Recorder (line 196) | func GijitShadow_InterfaceConvertTo1_Recorder(x interface{}) optimize.Re...
function GijitShadow_NewStruct_Result (line 200) | func GijitShadow_NewStruct_Result() *optimize.Result {
function GijitShadow_NewStruct_Settings (line 204) | func GijitShadow_NewStruct_Settings() *optimize.Settings {
function GijitShadow_NewStruct_Stats (line 208) | func GijitShadow_NewStruct_Stats() *optimize.Stats {
function GijitShadow_InterfaceConvertTo2_Statuser (line 212) | func GijitShadow_InterfaceConvertTo2_Statuser(x interface{}) (y optimize...
function GijitShadow_InterfaceConvertTo1_Statuser (line 217) | func GijitShadow_InterfaceConvertTo1_Statuser(x interface{}) optimize.St...
function GijitShadow_InterfaceConvertTo2_StepSizer (line 221) | func GijitShadow_InterfaceConvertTo2_StepSizer(x interface{}) (y optimiz...
function GijitShadow_InterfaceConvertTo1_StepSizer (line 226) | func GijitShadow_InterfaceConvertTo1_StepSizer(x interface{}) optimize.S...
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/stat/stat.genimp.go
function init (line 7) | func init() {
function GijitShadow_NewStruct_CC (line 50) | func GijitShadow_NewStruct_CC() *stat.CC {
function GijitShadow_NewStruct_PC (line 54) | func GijitShadow_NewStruct_PC() *stat.PC {
FILE: pkg/compiler/shadow/gonum.org/v1/gonum/unit/unit.genimp.go
function init (line 7) | func init() {
function GijitShadow_NewStruct_Unit (line 35) | func GijitShadow_NewStruct_Unit() *unit.Unit {
function GijitShadow_InterfaceConvertTo2_Uniter (line 39) | func GijitShadow_InterfaceConvertTo2_Uniter(x interface{}) (y unit.Unite...
function GijitShadow_InterfaceConvertTo1_Uniter (line 44) | func GijitShadow_InterfaceConvertTo1_Uniter(x interface{}) unit.Uniter {
FILE: pkg/compiler/shadow/io/io.genimp.go
function init (line 8) | func init() {
function GijitShadow_InterfaceConvertTo2_ByteReader (line 56) | func GijitShadow_InterfaceConvertTo2_ByteReader(x interface{}) (y io.Byt...
function GijitShadow_InterfaceConvertTo1_ByteReader (line 61) | func GijitShadow_InterfaceConvertTo1_ByteReader(x interface{}) io.ByteRe...
function GijitShadow_InterfaceConvertTo2_ByteScanner (line 66) | func GijitShadow_InterfaceConvertTo2_ByteScanner(x interface{}) (y io.By...
function GijitShadow_InterfaceConvertTo1_ByteScanner (line 71) | func GijitShadow_InterfaceConvertTo1_ByteScanner(x interface{}) io.ByteS...
function GijitShadow_InterfaceConvertTo2_ByteWriter (line 76) | func GijitShadow_InterfaceConvertTo2_ByteWriter(x interface{}) (y io.Byt...
function GijitShadow_InterfaceConvertTo1_ByteWriter (line 81) | func GijitShadow_InterfaceConvertTo1_ByteWriter(x interface{}) io.ByteWr...
function GijitShadow_InterfaceConvertTo2_Closer (line 86) | func GijitShadow_InterfaceConvertTo2_Closer(x interface{}) (y io.Closer,...
function GijitShadow_InterfaceConvertTo1_Closer (line 91) | func GijitShadow_InterfaceConvertTo1_Closer(x interface{}) io.Closer {
function GijitShadow_NewStruct_LimitedReader (line 96) | func GijitShadow_NewStruct_LimitedReader(src *io.LimitedReader) *io.Limi...
function GijitShadow_NewStruct_PipeReader (line 105) | func GijitShadow_NewStruct_PipeReader(src *io.PipeReader) *io.PipeReader {
function GijitShadow_NewStruct_PipeWriter (line 114) | func GijitShadow_NewStruct_PipeWriter(src *io.PipeWriter) *io.PipeWriter {
function GijitShadow_InterfaceConvertTo2_ReadCloser (line 123) | func GijitShadow_InterfaceConvertTo2_ReadCloser(x interface{}) (y io.Rea...
function GijitShadow_InterfaceConvertTo1_ReadCloser (line 128) | func GijitShadow_InterfaceConvertTo1_ReadCloser(x interface{}) io.ReadCl...
function GijitShadow_InterfaceConvertTo2_ReadSeeker (line 133) | func GijitShadow_InterfaceConvertTo2_ReadSeeker(x interface{}) (y io.Rea...
function GijitShadow_InterfaceConvertTo1_ReadSeeker (line 138) | func GijitShadow_InterfaceConvertTo1_ReadSeeker(x interface{}) io.ReadSe...
function GijitShadow_InterfaceConvertTo2_ReadWriteCloser (line 143) | func GijitShadow_InterfaceConvertTo2_ReadWriteCloser(x interface{}) (y i...
function GijitShadow_InterfaceConvertTo1_ReadWriteCloser (line 148) | func GijitShadow_InterfaceConvertTo1_ReadWriteCloser(x interface{}) io.R...
function GijitShadow_InterfaceConvertTo2_ReadWriteSeeker (line 153) | func GijitShadow_InterfaceConvertTo2_ReadWriteSeeker(x interface{}) (y i...
function GijitShadow_InterfaceConvertTo1_ReadWriteSeeker (line 158) | func GijitShadow_InterfaceConvertTo1_ReadWriteSeeker(x interface{}) io.R...
function GijitShadow_InterfaceConvertTo2_ReadWriter (line 163) | func GijitShadow_InterfaceConvertTo2_ReadWriter(x interface{}) (y io.Rea...
function GijitShadow_InterfaceConvertTo1_ReadWriter (line 168) | func GijitShadow_InterfaceConvertTo1_ReadWriter(x interface{}) io.ReadWr...
function GijitShadow_InterfaceConvertTo2_Reader (line 173) | func GijitShadow_InterfaceConvertTo2_Reader(x interface{}) (y io.Reader,...
function GijitShadow_InterfaceConvertTo1_Reader (line 178) | func GijitShadow_InterfaceConvertTo1_Reader(x interface{}) io.Reader {
function GijitShadow_InterfaceConvertTo2_ReaderAt (line 183) | func GijitShadow_InterfaceConvertTo2_ReaderAt(x interface{}) (y io.Reade...
function GijitShadow_InterfaceConvertTo1_ReaderAt (line 188) | func GijitShadow_InterfaceConvertTo1_ReaderAt(x interface{}) io.ReaderAt {
function GijitShadow_InterfaceConvertTo2_ReaderFrom (line 193) | func GijitShadow_InterfaceConvertTo2_ReaderFrom(x interface{}) (y io.Rea...
function GijitShadow_InterfaceConvertTo1_ReaderFrom (line 198) | func GijitShadow_InterfaceConvertTo1_ReaderFrom(x interface{}) io.Reader...
function GijitShadow_InterfaceConvertTo2_RuneReader (line 203) | func GijitShadow_InterfaceConvertTo2_RuneReader(x interface{}) (y io.Run...
function GijitShadow_InterfaceConvertTo1_RuneReader (line 208) | func GijitShadow_InterfaceConvertTo1_RuneReader(x interface{}) io.RuneRe...
function GijitShadow_InterfaceConvertTo2_RuneScanner (line 213) | func GijitShadow_InterfaceConvertTo2_RuneScanner(x interface{}) (y io.Ru...
function GijitShadow_InterfaceConvertTo1_RuneScanner (line 218) | func GijitShadow_InterfaceConvertTo1_RuneScanner(x interface{}) io.RuneS...
function GijitShadow_NewStruct_SectionReader (line 223) | func GijitShadow_NewStruct_SectionReader(src *io.SectionReader) *io.Sect...
function GijitShadow_InterfaceConvertTo2_Seeker (line 232) | func GijitShadow_InterfaceConvertTo2_Seeker(x interface{}) (y io.Seeker,...
function GijitShadow_InterfaceConvertTo1_Seeker (line 237) | func GijitShadow_InterfaceConvertTo1_Seeker(x interface{}) io.Seeker {
function GijitShadow_InterfaceConvertTo2_WriteCloser (line 242) | func GijitShadow_InterfaceConvertTo2_WriteCloser(x interface{}) (y io.Wr...
function GijitShadow_InterfaceConvertTo1_WriteCloser (line 247) | func GijitShadow_InterfaceConvertTo1_WriteCloser(x interface{}) io.Write...
function GijitShadow_InterfaceConvertTo2_WriteSeeker (line 252) | func GijitShadow_InterfaceConvertTo2_WriteSeeker(x interface{}) (y io.Wr...
function GijitShadow_InterfaceConvertTo1_WriteSeeker (line 257) | func GijitShadow_InterfaceConvertTo1_WriteSeeker(x interface{}) io.Write...
function GijitShadow_InterfaceConvertTo2_Writer (line 262) | func GijitShadow_InterfaceConvertTo2_Writer(x interface{}) (y io.Writer,...
function GijitShadow_InterfaceConvertTo1_Writer (line 267) | func GijitShadow_InterfaceConvertTo1_Writer(x interface{}) io.Writer {
function GijitShadow_InterfaceConvertTo2_WriterAt (line 272) | func GijitShadow_InterfaceConvertTo2_WriterAt(x interface{}) (y io.Write...
function GijitShadow_InterfaceConvertTo1_WriterAt (line 277) | func GijitShadow_InterfaceConvertTo1_WriterAt(x interface{}) io.WriterAt {
function GijitShadow_InterfaceConvertTo2_WriterTo (line 282) | func GijitShadow_InterfaceConvertTo2_WriterTo(x interface{}) (y io.Write...
function GijitShadow_InterfaceConvertTo1_WriterTo (line 287) | func GijitShadow_InterfaceConvertTo1_WriterTo(x interface{}) io.WriterTo {
function InitLua (line 293) | func InitLua() string {
FILE: pkg/compiler/shadow/io/ioutil/ioutil.genimp.go
function init (line 8) | func init() {
function InitLua (line 20) | func InitLua() string {
FILE: pkg/compiler/shadow/math/math.genimp.go
function init (line 8) | func init() {
function InitLua (line 105) | func InitLua() string {
FILE: pkg/compiler/shadow/math/rand/rand.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Rand (line 34) | func GijitShadow_NewStruct_Rand(src *rand.Rand) *rand.Rand {
function GijitShadow_InterfaceConvertTo2_Source (line 43) | func GijitShadow_InterfaceConvertTo2_Source(x interface{}) (y rand.Sourc...
function GijitShadow_InterfaceConvertTo1_Source (line 48) | func GijitShadow_InterfaceConvertTo1_Source(x interface{}) rand.Source {
function GijitShadow_InterfaceConvertTo2_Source64 (line 53) | func GijitShadow_InterfaceConvertTo2_Source64(x interface{}) (y rand.Sou...
function GijitShadow_InterfaceConvertTo1_Source64 (line 58) | func GijitShadow_InterfaceConvertTo1_Source64(x interface{}) rand.Source...
function GijitShadow_NewStruct_Zipf (line 63) | func GijitShadow_NewStruct_Zipf(src *rand.Zipf) *rand.Zipf {
function InitLua (line 73) | func InitLua() string {
FILE: pkg/compiler/shadow/os/os.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_File (line 97) | func GijitShadow_NewStruct_File(src *os.File) *os.File {
function GijitShadow_InterfaceConvertTo2_FileInfo (line 106) | func GijitShadow_InterfaceConvertTo2_FileInfo(x interface{}) (y os.FileI...
function GijitShadow_InterfaceConvertTo1_FileInfo (line 111) | func GijitShadow_InterfaceConvertTo1_FileInfo(x interface{}) os.FileInfo {
function GijitShadow_NewStruct_LinkError (line 116) | func GijitShadow_NewStruct_LinkError(src *os.LinkError) *os.LinkError {
function GijitShadow_NewStruct_PathError (line 125) | func GijitShadow_NewStruct_PathError(src *os.PathError) *os.PathError {
function GijitShadow_NewStruct_ProcAttr (line 134) | func GijitShadow_NewStruct_ProcAttr(src *os.ProcAttr) *os.ProcAttr {
function GijitShadow_NewStruct_Process (line 143) | func GijitShadow_NewStruct_Process(src *os.Process) *os.Process {
function GijitShadow_NewStruct_ProcessState (line 152) | func GijitShadow_NewStruct_ProcessState(src *os.ProcessState) *os.Proces...
function GijitShadow_InterfaceConvertTo2_Signal (line 161) | func GijitShadow_InterfaceConvertTo2_Signal(x interface{}) (y os.Signal,...
function GijitShadow_InterfaceConvertTo1_Signal (line 166) | func GijitShadow_InterfaceConvertTo1_Signal(x interface{}) os.Signal {
function GijitShadow_NewStruct_SyscallError (line 171) | func GijitShadow_NewStruct_SyscallError(src *os.SyscallError) *os.Syscal...
function InitLua (line 181) | func InitLua() string {
FILE: pkg/compiler/shadow/reflect/reflect.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Method (line 43) | func GijitShadow_NewStruct_Method(src *reflect.Method) *reflect.Method {
function GijitShadow_NewStruct_SelectCase (line 52) | func GijitShadow_NewStruct_SelectCase(src *reflect.SelectCase) *reflect....
function GijitShadow_NewStruct_SliceHeader (line 61) | func GijitShadow_NewStruct_SliceHeader(src *reflect.SliceHeader) *reflec...
function GijitShadow_NewStruct_StringHeader (line 70) | func GijitShadow_NewStruct_StringHeader(src *reflect.StringHeader) *refl...
function GijitShadow_NewStruct_StructField (line 79) | func GijitShadow_NewStruct_StructField(src *reflect.StructField) *reflec...
function GijitShadow_InterfaceConvertTo2_Type (line 88) | func GijitShadow_InterfaceConvertTo2_Type(x interface{}) (y reflect.Type...
function GijitShadow_InterfaceConvertTo1_Type (line 93) | func GijitShadow_InterfaceConvertTo1_Type(x interface{}) reflect.Type {
function GijitShadow_NewStruct_Value (line 98) | func GijitShadow_NewStruct_Value(src *reflect.Value) *reflect.Value {
function GijitShadow_NewStruct_ValueError (line 107) | func GijitShadow_NewStruct_ValueError(src *reflect.ValueError) *reflect....
function InitLua (line 117) | func InitLua() string {
FILE: pkg/compiler/shadow/regexp/regexp.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Regexp (line 20) | func GijitShadow_NewStruct_Regexp(src *regexp.Regexp) *regexp.Regexp {
function InitLua (line 30) | func InitLua() string {
FILE: pkg/compiler/shadow/runtime/debug/debug.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_GCStats (line 22) | func GijitShadow_NewStruct_GCStats(src *debug.GCStats) *debug.GCStats {
function InitLua (line 32) | func InitLua() string {
FILE: pkg/compiler/shadow/runtime/runtime.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_BlockProfileRecord (line 57) | func GijitShadow_NewStruct_BlockProfileRecord(src *runtime.BlockProfileR...
function GijitShadow_InterfaceConvertTo2_Error (line 66) | func GijitShadow_InterfaceConvertTo2_Error(x interface{}) (y runtime.Err...
function GijitShadow_InterfaceConvertTo1_Error (line 71) | func GijitShadow_InterfaceConvertTo1_Error(x interface{}) runtime.Error {
function GijitShadow_NewStruct_Frame (line 76) | func GijitShadow_NewStruct_Frame(src *runtime.Frame) *runtime.Frame {
function GijitShadow_NewStruct_Frames (line 85) | func GijitShadow_NewStruct_Frames(src *runtime.Frames) *runtime.Frames {
function GijitShadow_NewStruct_Func (line 94) | func GijitShadow_NewStruct_Func(src *runtime.Func) *runtime.Func {
function GijitShadow_NewStruct_MemProfileRecord (line 103) | func GijitShadow_NewStruct_MemProfileRecord(src *runtime.MemProfileRecor...
function GijitShadow_NewStruct_MemStats (line 112) | func GijitShadow_NewStruct_MemStats(src *runtime.MemStats) *runtime.MemS...
function GijitShadow_NewStruct_StackRecord (line 121) | func GijitShadow_NewStruct_StackRecord(src *runtime.StackRecord) *runtim...
function GijitShadow_NewStruct_TypeAssertionError (line 130) | func GijitShadow_NewStruct_TypeAssertionError(src *runtime.TypeAssertion...
function InitLua (line 140) | func InitLua() string {
FILE: pkg/compiler/shadow/strconv/strconv.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_NumError (line 46) | func GijitShadow_NewStruct_NumError(src *strconv.NumError) *strconv.NumE...
function InitLua (line 56) | func InitLua() string {
FILE: pkg/compiler/shadow/strings/strings.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Builder (line 59) | func GijitShadow_NewStruct_Builder(src *strings.Builder) *strings.Builder {
function GijitShadow_NewStruct_Reader (line 68) | func GijitShadow_NewStruct_Reader(src *strings.Reader) *strings.Reader {
function GijitShadow_NewStruct_Replacer (line 77) | func GijitShadow_NewStruct_Replacer(src *strings.Replacer) *strings.Repl...
function InitLua (line 87) | func InitLua() string {
FILE: pkg/compiler/shadow/sync/atomic/atomic.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Value (line 41) | func GijitShadow_NewStruct_Value(src *atomic.Value) *atomic.Value {
function InitLua (line 51) | func InitLua() string {
FILE: pkg/compiler/shadow/sync/sync.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Cond (line 20) | func GijitShadow_NewStruct_Cond(src *sync.Cond) *sync.Cond {
function GijitShadow_InterfaceConvertTo2_Locker (line 29) | func GijitShadow_InterfaceConvertTo2_Locker(x interface{}) (y sync.Locke...
function GijitShadow_InterfaceConvertTo1_Locker (line 34) | func GijitShadow_InterfaceConvertTo1_Locker(x interface{}) sync.Locker {
function GijitShadow_NewStruct_Map (line 39) | func GijitShadow_NewStruct_Map(src *sync.Map) *sync.Map {
function GijitShadow_NewStruct_Mutex (line 48) | func GijitShadow_NewStruct_Mutex(src *sync.Mutex) *sync.Mutex {
function GijitShadow_NewStruct_Once (line 57) | func GijitShadow_NewStruct_Once(src *sync.Once) *sync.Once {
function GijitShadow_NewStruct_Pool (line 66) | func GijitShadow_NewStruct_Pool(src *sync.Pool) *sync.Pool {
function GijitShadow_NewStruct_RWMutex (line 75) | func GijitShadow_NewStruct_RWMutex(src *sync.RWMutex) *sync.RWMutex {
function GijitShadow_NewStruct_WaitGroup (line 84) | func GijitShadow_NewStruct_WaitGroup(src *sync.WaitGroup) *sync.WaitGroup {
function InitLua (line 94) | func InitLua() string {
FILE: pkg/compiler/shadow/time/time.genimp.go
function init (line 8) | func init() {
function GijitShadow_NewStruct_Location (line 50) | func GijitShadow_NewStruct_Location(src *time.Location) *time.Location {
function GijitShadow_NewStruct_ParseError (line 59) | func GijitShadow_NewStruct_ParseError(src *time.ParseError) *time.ParseE...
function GijitShadow_NewStruct_Ticker (line 68) | func GijitShadow_NewStruct_Ticker(src *time.Ticker) *time.Ticker {
function GijitShadow_NewStruct_Time (line 77) | func GijitShadow_NewStruct_Time(src *time.Time) *time.Time {
function GijitShadow_NewStruct_Timer (line 86) | func GijitShadow_NewStruct_Timer(src *time.Timer) *time.Timer {
function InitLua (line 96) | func InitLua() string {
FILE: pkg/compiler/slc_test.go
function Test086SlicesPointToArrays (line 10) | func Test086SlicesPointToArrays(t *testing.T) {
function Test088SlicesFromArrays (line 41) | func Test088SlicesFromArrays(t *testing.T) {
function Test089CopyOntoSameSliceShouldNotDestroy (line 84) | func Test089CopyOntoSameSliceShouldNotDestroy(t *testing.T) {
function Test090CopyOntoSameSliceShouldNotDestroy (line 112) | func Test090CopyOntoSameSliceShouldNotDestroy(t *testing.T) {
function Test091AppendSlices (line 140) | func Test091AppendSlices(t *testing.T) {
FILE: pkg/compiler/source.go
method ImportSourcePackage (line 13) | func (ic *IncrState) ImportSourcePackage(path, pkgDir string, depth int)...
FILE: pkg/compiler/spkg_tst/spkg.go
type GONZAGA (line 3) | type GONZAGA interface
function Fish (line 7) | func Fish(numPole int) (fishCaught int) {
FILE: pkg/compiler/spkg_tst2/vprint.go
function P (line 11) | func P(format string, a ...interface{}) {
function ToString (line 18) | func ToString(format string, a ...interface{}) string {
FILE: pkg/compiler/spkg_tst3/errors.go
type ErrorW2 (line 3) | type ErrorW2 interface
type S (line 5) | type S struct
method ErrorW2 (line 12) | func (*S) ErrorW2() {}
FILE: pkg/compiler/spkg_tst4/rbuf.go
type R (line 3) | type R struct
method Get1 (line 14) | func (r *R) Get1() string {
function NewR (line 7) | func NewR() *R {
FILE: pkg/compiler/spkg_tst5/api.go
function Astm (line 5) | func Astm(s string) time.Time {
function Incr (line 11) | func Incr(a int) int {
function panicOn (line 14) | func panicOn(err error) {
FILE: pkg/compiler/spkg_tst5/panicon.go
function panicOn (line 3) | func panicOn(err error) {
FILE: pkg/compiler/statements.go
method translateStmtList (line 17) | func (c *funcContext) translateStmtList(stmts []ast.Stmt) {
method translateStmt (line 24) | func (c *funcContext) translateStmt(stmt ast.Stmt, label *types.Label) {
method translateBranchingStmt (line 645) | func (c *funcContext) translateBranchingStmt(caseClauses []*ast.CaseClau...
method translateLoopingStmt (line 740) | func (c *funcContext) translateLoopingStmt(cond func() string, body *ast...
method getKeyCast (line 800) | func (c *funcContext) getKeyCast(key ast.Expr) string {
method translateForRangeStmt (line 813) | func (c *funcContext) translateForRangeStmt(s *ast.RangeStmt, body *ast....
method translateBodyHelper (line 917) | func (c *funcContext) translateBodyHelper(cond func() string, body *ast....
method translateAssign (line 968) | func (c *funcContext) translateAssign(lhs, rhs ast.Expr, define bool) st...
method translateResults (line 1111) | func (c *funcContext) translateResults(results []ast.Expr) string {
method translateResultsAllQuoted (line 1116) | func (c *funcContext) translateResultsAllQuoted(results []ast.Expr) stri...
method translateResultsPreJoinQuoted (line 1121) | func (c *funcContext) translateResultsPreJoinQuoted(results []ast.Expr) ...
method translateResultsPreJoin (line 1129) | func (c *funcContext) translateResultsPreJoin(results []ast.Expr) []stri...
method labelCase (line 1179) | func (c *funcContext) labelCase(label *types.Label) int {
FILE: pkg/compiler/struct_test.go
function Test093NewMethodsShouldBeRegistered (line 9) | func Test093NewMethodsShouldBeRegistered(t *testing.T) {
function Test120PointersInsideStructs (line 39) | func Test120PointersInsideStructs(t *testing.T) {
function Test121PointersInsideStructs (line 71) | func Test121PointersInsideStructs(t *testing.T) {
function Test122ManyPointersInsideStructs (line 105) | func Test122ManyPointersInsideStructs(t *testing.T) {
function Test123PointersInsideStructStartsNil (line 147) | func Test123PointersInsideStructStartsNil(t *testing.T) {
function Test124ValueFromStructPointer (line 181) | func Test124ValueFromStructPointer(t *testing.T) {
function Test125AnonymousStructType (line 210) | func Test125AnonymousStructType(t *testing.T) {
FILE: pkg/compiler/time_test.go
function Test921TimeImports (line 11) | func Test921TimeImports(t *testing.T) {
function Test923TimeStruct (line 37) | func Test923TimeStruct(t *testing.T) {
FILE: pkg/compiler/translate.go
type IncrState (line 23) | type IncrState struct
method Close (line 131) | func (tr *IncrState) Close() {
method trMust (line 138) | func (tr *IncrState) trMust(src []byte) []byte {
method trMustPre (line 144) | func (tr *IncrState) trMustPre(src []byte, pre bool) []byte {
method Tr (line 152) | func (tr *IncrState) Tr(src []byte) (by []byte, err error) {
method TrWithPrepend (line 156) | func (tr *IncrState) TrWithPrepend(src []byte, prependOk bool) (by []b...
method prependAns (line 253) | func (tr *IncrState) prependAns(src []byte) (ret []byte, didPrepend bo...
method FullPackage (line 277) | func (tr *IncrState) FullPackage(src []byte, importPath string, depth ...
function NewIncrState (line 51) | func NewIncrState(lvm *LuaVm, cfg *GIConfig) *IncrState {
type IncrPkg (line 93) | type IncrPkg struct
function newIncrPkg (line 107) | func newIncrPkg(key string,
type UniqPkgPath (line 129) | type UniqPkgPath
function removeTrailingSemicolon (line 315) | func removeTrailingSemicolon(src []byte) []byte {
FILE: pkg/compiler/typesutil/typesutil.go
function IsJsPackage (line 9) | func IsJsPackage(pkg *types.Package) bool {
function IsJsObject (line 13) | func IsJsObject(t types.Type) bool {
function IsLuarPackage (line 22) | func IsLuarPackage(pkg *types.Package) bool {
function IsLuarObject (line 27) | func IsLuarObject(t types.Type) bool {
FILE: pkg/compiler/utf8_test.go
function Test041RangeOverUtf8BytesInString (line 10) | func Test041RangeOverUtf8BytesInString(t *testing.T) {
FILE: pkg/compiler/utils.go
method Write (line 21) | func (c *funcContext) Write(b []byte) (int, error) {
method Printf (line 31) | func (c *funcContext) Printf(format string, values ...interface{}) {
method PrintCond (line 39) | func (c *funcContext) PrintCond(cond bool, onTrue, onFalse string) {
method SetPos (line 47) | func (c *funcContext) SetPos(pos token.Pos) {
method writePos (line 52) | func (c *funcContext) writePos() {
method Indent (line 62) | func (c *funcContext) Indent(f func()) {
method CatchOutput (line 68) | func (c *funcContext) CatchOutput(indent int, f func()) []byte {
method Delayed (line 80) | func (c *funcContext) Delayed(f func()) {
method translateArgs (line 84) | func (c *funcContext) translateArgs(sig *types.Signature, argExprs []ast...
method translateSelection (line 193) | func (c *funcContext) translateSelection(sel selection, pos token.Pos) (...
method zeroValue (line 229) | func (c *funcContext) zeroValue(ty types.Type) ast.Expr {
method newConst (line 270) | func (c *funcContext) newConst(t types.Type, value constant.Value) ast.E...
method newTypeName (line 276) | func (c *funcContext) newTypeName(name string) string {
method newVariable (line 280) | func (c *funcContext) newVariable(name string) string {
method gensym (line 284) | func (c *funcContext) gensym(name string) string {
method newVariableWithLevel (line 292) | func (c *funcContext) newVariableWithLevel(name string, pkgLevel bool, i...
method newIdent (line 367) | func (c *funcContext) newIdent(name string, t types.Type) *ast.Ident {
method setType (line 376) | func (c *funcContext) setType(e ast.Expr, t types.Type) ast.Expr {
method pkgVar (line 381) | func (c *funcContext) pkgVar(pkg *types.Package) string {
function isVarOrConst (line 398) | func isVarOrConst(o types.Object) bool {
function isPkgLevel (line 406) | func isPkgLevel(o types.Object) bool {
method objectNameWithPackagePrefix (line 410) | func (c *funcContext) objectNameWithPackagePrefix(o types.Object) (nam s...
method objectName (line 419) | func (c *funcContext) objectName(o types.Object) (nam string) {
method varPtrName (line 452) | func (c *funcContext) varPtrName(o *types.Var) string {
type typeNameSetting (line 465) | type typeNameSetting
method String (line 473) | func (tns typeNameSetting) String() string {
constant IMMEDIATE (line 468) | IMMEDIATE typeNameSetting = 0
constant DELAYED (line 469) | DELAYED typeNameSetting = 1
constant SKIP_ANON (line 470) | SKIP_ANON typeNameSetting = 2
method typeNameReport (line 486) | func (c *funcContext) typeNameReport(level int, ty types.Type) string {
method typeName (line 514) | func (c *funcContext) typeName(ty types.Type, parent types.Type) (res st...
method getPkgName (line 520) | func (c *funcContext) getPkgName() string {
method typeNameWithAnonInfo (line 534) | func (c *funcContext) typeNameWithAnonInfo(
method externalize (line 637) | func (c *funcContext) externalize(s string, t types.Type) string {
method handleEscapingVars (line 653) | func (c *funcContext) handleEscapingVars(n ast.Node) {
function fieldName (line 678) | func fieldName(t *types.Struct, i int) string {
function typeKind (line 686) | func typeKind(ty types.Type) (res string) {
function toJavaScriptType (line 717) | func toJavaScriptType(t *types.Basic) string {
function toJavaScriptTypeUppercase (line 735) | func toJavaScriptTypeUppercase(t *types.Basic) string {
function is64Bit (line 751) | func is64Bit(t *types.Basic) bool {
function isBoolean (line 755) | func isBoolean(t *types.Basic) bool {
function isComplex (line 759) | func isComplex(t *types.Basic) bool {
function isFloat (line 763) | func isFloat(t *types.Basic) bool {
function isInteger (line 767) | func isInteger(t *types.Basic) bool {
function isNumeric (line 771) | func isNumeric(t *types.Basic) bool {
function isString (line 775) | func isString(t *types.Basic) bool {
function isUnsigned (line 779) | func isUnsigned(t *types.Basic) bool {
function isBlank (line 783) | func isBlank(expr ast.Expr) bool {
function nameHelper (line 793) | func nameHelper(expr ast.Expr) string {
function isWrapped (line 809) | func isWrapped(ty types.Type) bool {
function encodeString (line 835) | func encodeString(s string) string {
function getJsTag (line 867) | func getJsTag(tag string) string {
function needsSpace (line 913) | func needsSpace(c byte) bool {
function removeWhitespace (line 917) | func removeWhitespace(b []byte, minify bool) []byte {
function setRangeCheck (line 963) | func setRangeCheck(constantIndex, array bool) string {
function rangeCheck (line 971) | func rangeCheck(pattern string, constantIndex, array bool) string {
function endsWithReturn (line 991) | func endsWithReturn(stmts []ast.Stmt) bool {
function encodeIdent (line 1000) | func encodeIdent(name string) string {
function stripOuterParen (line 1004) | func stripOuterParen(s string) (r string) {
function stripOuterDoubleQuotes (line 1019) | func stripOuterDoubleQuotes(s string) (r string) {
function elimSlashDQ (line 1030) | func elimSlashDQ(s string) string {
function stripFirstFunctionAndArg (line 1056) | func stripFirstFunctionAndArg(s string) (head, body string) {
function translateTypeNameToNewOper (line 1101) | func translateTypeNameToNewOper(typeName string) string {
function extractBasePackageName (line 1110) | func extractBasePackageName(pkg string) (shortPkg, typ string) {
function isShadowStruct (line 1128) | func isShadowStruct(pkgName string) (is bool, typeName string) {
FILE: pkg/compiler/version.go
function Version (line 14) | func Version() string {
FILE: pkg/compiler/version_check.go
constant ___GIJIT_REQUIRES_GO_VERSION_1_10___ (line 6) | ___GIJIT_REQUIRES_GO_VERSION_1_10___ = true
constant Version (line 9) | Version = "1.10-1"
FILE: pkg/compiler/view_test.go
function Test510StructsShouldBeViewable (line 10) | func Test510StructsShouldBeViewable(t *testing.T) {
function Test511SlicesShouldBeViewable (line 49) | func Test511SlicesShouldBeViewable(t *testing.T) {
FILE: pkg/constant/value.go
type Kind (line 25) | type Kind
constant Unknown (line 29) | Unknown Kind = iota
constant Bool (line 32) | Bool
constant String (line 33) | String
constant Int (line 36) | Int
constant Float (line 37) | Float
constant Complex (line 38) | Complex
type Value (line 42) | type Value interface
constant prec (line 65) | prec = 512
type unknownVal (line 68) | type unknownVal struct
method Kind (line 78) | func (unknownVal) Kind() Kind { return Unknown }
method String (line 87) | func (unknownVal) String() string { return "unknown" }
method ExactString (line 161) | func (x unknownVal) ExactString() string { return x.String() }
method implementsValue (line 181) | func (unknownVal) implementsValue() {}
type boolVal (line 69) | type boolVal
method Kind (line 79) | func (boolVal) Kind() Kind { return Bool }
method String (line 88) | func (x boolVal) String() string { return strconv.FormatBool(bool(x)) }
method ExactString (line 162) | func (x boolVal) ExactString() string { return x.String() }
method implementsValue (line 182) | func (boolVal) implementsValue() {}
type stringVal (line 70) | type stringVal
method Kind (line 80) | func (stringVal) Kind() Kind { return String }
method String (line 91) | func (x stringVal) String() string {
method ExactString (line 163) | func (x stringVal) ExactString() string { return strconv.Quote(string...
method implementsValue (line 183) | func (stringVal) implementsValue() {}
type int64Val (line 71) | type int64Val
method Kind (line 81) | func (int64Val) Kind() Kind { return Int }
method String (line 108) | func (x int64Val) String() string { return strconv.FormatInt(int64(x),...
method ExactString (line 164) | func (x int64Val) ExactString() string { return x.String() }
method implementsValue (line 184) | func (int64Val) implementsValue() {}
type intVal (line 72) | type intVal struct
method Kind (line 82) | func (intVal) Kind() Kind { return Int }
method String (line 109) | func (x intVal) String() string { return x.val.String() }
method ExactString (line 165) | func (x intVal) ExactString() string { return x.String() }
method implementsValue (line 186) | func (intVal) implementsValue() {}
type ratVal (line 73) | type ratVal struct
method Kind (line 83) | func (ratVal) Kind() Kind { return Float }
method String (line 110) | func (x ratVal) String() string { return rtof(x).String() }
method ExactString (line 167) | func (x ratVal) ExactString() string {
method implementsValue (line 185) | func (ratVal) implementsValue() {}
type floatVal (line 74) | type floatVal struct
method Kind (line 84) | func (floatVal) Kind() Kind { return Float }
method String (line 113) | func (x floatVal) String() string {
method ExactString (line 175) | func (x floatVal) ExactString() string { return x.val.Text('p', 0) }
method implementsValue (line 187) | func (floatVal) implementsValue() {}
type complexVal (line 75) | type complexVal struct
method Kind (line 85) | func (complexVal) Kind() Kind { return Complex }
method String (line 159) | func (x complexVal) String() string { return fmt.Sprintf("(%s + %si)",...
method ExactString (line 177) | func (x complexVal) ExactString() string {
method implementsValue (line 188) | func (complexVal) implementsValue() {}
function newInt (line 190) | func newInt() *big.Int { return new(big.Int) }
function newRat (line 191) | func newRat() *big.Rat { return new(big.Rat) }
function newFloat (line 192) | func newFloat() *big.Float { return new(big.Float).SetPrec(prec) }
function i64toi (line 194) | func i64toi(x int64Val) intVal { return intVal{newInt().SetInt64(int64...
function i64tor (line 195) | func i64tor(x int64Val) ratVal { return ratVal{newRat().SetInt64(int64...
function i64tof (line 196) | func i64tof(x int64Val) floatVal { return floatVal{newFloat().SetInt64(i...
function itor (line 197) | func itor(x intVal) ratVal { return ratVal{newRat().SetInt(x.val)} }
function itof (line 198) | func itof(x intVal) floatVal { return floatVal{newFloat().SetInt(x.v...
function rtof (line 200) | func rtof(x ratVal) floatVal {
function vtoc (line 206) | func vtoc(x Value) complexVal { return complexVal{x, int64Val(0)} }
function makeInt (line 208) | func makeInt(x *big.Int) Value {
constant maxExp (line 217) | maxExp = 4 << 10
function makeRat (line 219) | func makeRat(x *big.Rat) Value {
function makeFloat (line 234) | func makeFloat(x *big.Float) Value {
function makeComplex (line 242) | func makeComplex(re, im Value) Value {
function makeFloatFromLiteral (line 246) | func makeFloatFromLiteral(lit string) Value {
function smallRat (line 268) | func smallRat(x *big.Float) bool {
function MakeUnknown (line 280) | func MakeUnknown() Value { return unknownVal{} }
function MakeBool (line 283) | func MakeBool(b bool) Value { return boolVal(b) }
function MakeString (line 286) | func MakeString(s string) Value { return stringVal(s) }
function MakeInt64 (line 289) | func MakeInt64(x int64) Value { return int64Val(x) }
function MakeUint64 (line 292) | func MakeUint64(x uint64) Value {
function MakeFloat64 (line 301) | func MakeFloat64(x float64) Value {
function MakeFromLiteral (line 317) | func MakeFromLiteral(lit string, tok token.Token, zero uint) Value {
function BoolVal (line 370) | func BoolVal(x Value) bool {
function StringVal (line 383) | func StringVal(x Value) string {
function Int64Val (line 397) | func Int64Val(x Value) (int64, bool) {
function Uint64Val (line 413) | func Uint64Val(x Value) (uint64, bool) {
function Float32Val (line 427) | func Float32Val(x Value) (float32, bool) {
function Float64Val (line 452) | func Float64Val(x Value) (float64, bool) {
function BitLen (line 475) | func BitLen(x Value) int {
function Sign (line 491) | func Sign(x Value) int {
constant _m (line 521) | _m = ^big.Word(0)
constant _log (line 522) | _log = _m>>8&1 + _m>>16&1 + _m>>32&1
constant wordSize (line 523) | wordSize = 1 << _log
function Bytes (line 528) | func Bytes(x Value) []byte {
function MakeFromBytes (line 560) | func MakeFromBytes(bytes []byte) Value {
function Num (line 592) | func Num(x Value) Value {
function Denom (line 614) | func Denom(x Value) Value {
function MakeImag (line 636) | func MakeImag(x Value) Value {
function Real (line 649) | func Real(x Value) Value {
function Imag (line 662) | func Imag(x Value) Value {
function ToInt (line 680) | func ToInt(x Value) Value {
function ToFloat (line 734) | func ToFloat(x Value) Value {
function ToComplex (line 753) | func ToComplex(x Value) Value {
function is32bit (line 773) | func is32bit(x int64) bool {
function is63bit (line 779) | func is63bit(x int64) bool {
function UnaryOp (line 789) | func UnaryOp(op token.Token, y Value, prec uint) Value {
function ord (line 851) | func ord(x Value) int {
function match (line 879) | func match(x, y Value) (_, _ Value) {
function BinaryOp (line 950) | func BinaryOp(x_ Value, op token.Token, y_ Value) Value {
function add (line 1121) | func add(x, y Value) Value { return BinaryOp(x, token.ADD, y) }
function sub (line 1122) | func sub(x, y Value) Value { return BinaryOp(x, token.SUB, y) }
function mul (line 1123) | func mul(x, y Value) Value { return BinaryOp(x, token.MUL, y) }
function quo (line 1124) | func quo(x, y Value) Value { return BinaryOp(x, token.QUO, y) }
function Shift (line 1130) | func Shift(x Value, op token.Token, s uint) Value {
function cmpZero (line 1163) | func cmpZero(x int, op token.Token) bool {
function Compare (line 1186) | func Compare(x_ Value, op token.Token, y_ Value) bool {
FILE: pkg/constant/value_test.go
function TestOps (line 150) | func TestOps(t *testing.T) {
function eql (line 194) | func eql(x, y Value) bool {
function TestString (line 258) | func TestString(t *testing.T) {
function val (line 273) | func val(lit string) Value {
function panicHandler (line 337) | func panicHandler(v *Value) {
function doOp (line 350) | func doOp(x Value, op token.Token, y Value) (z Value) {
function TestFractions (line 383) | func TestFractions(t *testing.T) {
function TestBytes (line 406) | func TestBytes(t *testing.T) {
function TestUnknown (line 426) | func TestUnknown(t *testing.T) {
FILE: pkg/doc/comment.go
function commentEscape (line 25) | func commentEscape(w io.Writer, text string, nice bool) {
constant identRx (line 48) | identRx = `[\pL_][\pL_0-9]*`
constant protoPart (line 57) | protoPart = `(https?|ftp|file|gopher|mailto|nntp)`
constant hostPart (line 59) | hostPart = `([a-zA-Z0-9_@\-.\[\]:]+)`
constant pathPart (line 61) | pathPart = `([.,:;?!]*[a-zA-Z0-9$'()*+&#=@~_/\-\[\]%])*`
constant urlRx (line 63) | urlRx = protoPart + `://` + hostPart + pathPart
function pairedParensPrefixLen (line 84) | func pairedParensPrefixLen(s string) int {
function emphasize (line 114) | func emphasize(w io.Writer, line string, words map[string]string, nice b...
function indentLen (line 172) | func indentLen(s string) int {
function isBlank (line 180) | func isBlank(s string) bool {
function commonPrefix (line 184) | func commonPrefix(a, b string) string {
function unindent (line 192) | func unindent(block []string) {
function heading (line 216) | func heading(line string) string {
type op (line 254) | type op
constant opPara (line 257) | opPara op = iota
constant opHead (line 258) | opHead
constant opPre (line 259) | opPre
type block (line 262) | type block struct
function anchorID (line 269) | func anchorID(line string) string {
function ToHTML (line 296) | func ToHTML(w io.Writer, text string, words map[string]string) {
function blocks (line 330) | func blocks(text string) []block {
function ToText (line 410) | func ToText(w io.Writer, text string, indent, preIndent string, width in...
type lineWrapper (line 444) | type lineWrapper struct
method write (line 456) | func (l *lineWrapper) write(text string) {
method flush (line 480) | func (l *lineWrapper) flush() {
FILE: pkg/doc/comment_test.go
function TestIsHeading (line 36) | func TestIsHeading(t *testing.T) {
function TestBlocks (line 130) | func TestBlocks(t *testing.T) {
function TestToText (line 139) | func TestToText(t *testing.T) {
function TestEmphasize (line 174) | func TestEmphasize(t *testing.T) {
function TestPairedParensPrefixLen (line 208) | func TestPairedParensPrefixLen(t *testing.T) {
FILE: pkg/doc/doc.go
type Package (line 14) | type Package struct
type Value (line 34) | type Value struct
type Type (line 43) | type Type struct
type Func (line 56) | type Func struct
type Note (line 72) | type Note struct
type Mode (line 79) | type Mode
constant AllDecls (line 84) | AllDecls Mode = 1 << iota
constant AllMethods (line 88) | AllMethods
function New (line 94) | func New(pkg *ast.Package, importPath string, mode Mode) *Package {
FILE: pkg/doc/doc_test.go
constant dataDir (line 26) | dataDir = "testdata"
function readTemplate (line 30) | func readTemplate(filename string) *template.Template {
function nodeFmt (line 40) | func nodeFmt(node interface{}, fset *token.FileSet) string {
function synopsisFmt (line 46) | func synopsisFmt(s string) string {
function indentFmt (line 59) | func indentFmt(indent, s string) string {
function isGoFile (line 68) | func isGoFile(fi os.FileInfo) bool {
type bundle (line 75) | type bundle struct
function test (line 80) | func test(t *testing.T, mode Mode) {
function Test (line 142) | func Test(t *testing.T) {
FILE: pkg/doc/example.go
type Example (line 22) | type Example struct
function Examples (line 47) | func Examples(files ...*ast.File) []*Example {
function exampleOutput (line 107) | func exampleOutput(b *ast.BlockStmt, comments []*ast.CommentGroup) (outp...
function isTest (line 130) | func isTest(name, prefix string) bool {
function playExample (line 143) | func playExample(file *ast.File, body *ast.BlockStmt) *ast.File {
function playExampleFile (line 296) | func playExampleFile(file *ast.File) *ast.File {
function stripOutputComment (line 326) | func stripOutputComment(body *ast.BlockStmt, comments []*ast.CommentGrou...
function lastComment (line 346) | func lastComment(b *ast.BlockStmt, c []*ast.CommentGroup) (i int, last *...
FILE: pkg/doc/example_test.go
constant exampleTestFile (line 17) | exampleTestFile = `
constant exampleHelloPlay (line 101) | exampleHelloPlay = `package main
constant exampleImportPlay (line 111) | exampleImportPlay = `package main
constant exampleKeyValuePlay (line 128) | exampleKeyValuePlay = `package main
constant exampleKeyValueImportPlay (line 146) | exampleKeyValueImportPlay = `package main
function TestExamples (line 161) | func TestExamples(t *testing.T) {
FILE: pkg/doc/exports.go
function filterIdentList (line 17) | func filterIdentList(list []*ast.Ident) []*ast.Ident {
function hasExportedName (line 30) | func hasExportedName(list []*ast.Ident) bool {
function removeErrorField (line 43) | func removeErrorField(ityp *ast.InterfaceType) {
method filterFieldList (line 70) | func (r *reader) filterFieldList(parent *namedType, fields *ast.FieldLis...
method filterParamList (line 114) | func (r *reader) filterParamList(fields *ast.FieldList) {
method filterType (line 126) | func (r *reader) filterType(parent *namedType, typ ast.Expr) {
method filterSpec (line 153) | func (r *reader) filterSpec(spec ast.Spec) bool {
function copyConstType (line 180) | func copyConstType(typ ast.Expr, pos token.Pos) ast.Expr {
method filterSpecList (line 196) | func (r *reader) filterSpecList(list []ast.Spec, tok token.Token) []ast....
method filterDecl (line 226) | func (r *reader) filterDecl(decl ast.Decl) bool {
method fileExports (line 243) | func (r *reader) fileExports(src *ast.File) {
FILE: pkg/doc/filter.go
type Filter (line 9) | type Filter
function matchFields (line 11) | func matchFields(fields *ast.FieldList, f Filter) bool {
function matchDecl (line 24) | func matchDecl(d *ast.GenDecl, f Filter) bool {
function filterValues (line 52) | func filterValues(a []*Value, f Filter) []*Value {
function filterFuncs (line 63) | func filterFuncs(a []*Func, f Filter) []*Func {
function filterTypes (line 74) | func filterTypes(a []*Type, f Filter) []*Type {
method Filter (line 99) | func (p *Package) Filter(f Filter) {
FILE: pkg/doc/headscan.go
constant html_endh (line 40) | html_endh = "</h3>\n"
function isGoFile (line 42) | func isGoFile(fi os.FileInfo) bool {
function appendHeadings (line 47) | func appendHeadings(list []string, comment string) []string {
function main (line 67) | func main() {
FILE: pkg/doc/reader.go
type methodSet (line 23) | type methodSet
method set (line 42) | func (mset methodSet) set(f *ast.FuncDecl) {
method add (line 76) | func (mset methodSet) add(m *Func) {
function recvString (line 28) | func recvString(recv ast.Expr) string {
function baseTypeName (line 97) | func baseTypeName(x ast.Expr) (name string, imported bool) {
type embeddedSet (line 114) | type embeddedSet
type namedType (line 120) | type namedType struct
type reader (line 145) | type reader struct
method isVisible (line 166) | func (r *reader) isVisible(name string) bool {
method lookupType (line 175) | func (r *reader) lookupType(name string) *namedType {
method recordAnonymousField (line 198) | func (r *reader) recordAnonymousField(parent *namedType, fieldType ast...
method readDoc (line 211) | func (r *reader) readDoc(comment *ast.CommentGroup) {
method remember (line 222) | func (r *reader) remember(typ *ast.InterfaceType) {
method readValue (line 239) | func (r *reader) readValue(decl *ast.GenDecl) {
method readType (line 329) | func (r *reader) readType(decl *ast.GenDecl, spec *ast.TypeSpec) {
method readFunc (line 363) | func (r *reader) readFunc(fun *ast.FuncDecl) {
method readNote (line 427) | func (r *reader) readNote(list []*ast.Comment) {
method readNotes (line 453) | func (r *reader) readNotes(comments []*ast.CommentGroup) {
method readFile (line 473) | func (r *reader) readFile(src *ast.File) {
method readPackage (line 544) | func (r *reader) readPackage(pkg *ast.Package, mode Mode) {
method collectEmbeddedMethods (line 612) | func (r *reader) collectEmbeddedMethods(mset methodSet, typ *namedType...
method computeMethodSets (line 636) | func (r *reader) computeMethodSets() {
method cleanupTypes (line 661) | func (r *reader) cleanupTypes() {
function specNames (line 226) | func specNames(specs []ast.Spec) []string {
function fields (line 312) | func fields(typ ast.Expr) (list []*ast.Field, isStruct bool) {
function customizeRecv (line 575) | func customizeRecv(f *Func, recvTypeName string, embeddedIsPtr bool, lev...
type data (line 700) | type data struct
method Len (line 706) | func (d *data) Len() int { return d.n }
method Swap (line 707) | func (d *data) Swap(i, j int) { d.swap(i, j) }
method Less (line 708) | func (d *data) Less(i, j int) bool { return d.less(i, j) }
function sortBy (line 711) | func sortBy(less func(i, j int) bool, swap func(i, j int), n int) {
function sortedKeys (line 715) | func sortedKeys(m map[string]int) []string {
function sortingName (line 728) | func sortingName(d *ast.GenDecl) string {
function sortedValues (line 737) | func sortedValues(m []*Value, tok token.Token) []*Value {
function sortedTypes (line 762) | func sortedTypes(m map[string]*namedType, allMethods bool) []*Type {
function removeStar (line 787) | func removeStar(s string) string {
function sortedFuncs (line 794) | func sortedFuncs(m methodSet, allMethods bool) []*Func {
function noteBodies (line 821) | func noteBodies(notes []*Note) []string {
function IsPredeclared (line 833) | func IsPredeclared(s string) bool {
FILE: pkg/doc/synopsis.go
function firstSentenceLen (line 16) | func firstSentenceLen(s string) int {
constant keepNL (line 34) | keepNL = 1 << iota
function clean (line 41) | func clean(s string, flags int) string {
function Synopsis (line 68) | func Synopsis(s string) string {
FILE: pkg/doc/synopsis_test.go
function TestSynopsis (line 40) | func TestSynopsis(t *testing.T) {
FILE: pkg/doc/testdata/b.go
constant Pi (line 12) | Pi = 3.14
type T (line 14) | type T struct
method M (line 17) | func (x *T) M() {}
function F (line 16) | func F(x int) int {}
function NotAFactory (line 22) | func NotAFactory() int {}
function UintFactory (line 25) | func UintFactory() uint {}
function uintFactory (line 28) | func uintFactory() uint {}
type uint (line 31) | type uint struct
type notExported (line 36) | type notExported
constant C (line 38) | C notExported = 0
constant C1 (line 41) | C1 notExported = iota
constant C2 (line 42) | C2
constant c3 (line 43) | c3
constant C4 (line 44) | C4
constant C5 (line 45) | C5
function F1 (line 57) | func F1() notExported {}
function f2 (line 58) | func f2() notExported {}
FILE: pkg/doc/testdata/benchmark.go
type InternalBenchmark (line 20) | type InternalBenchmark struct
type B (line 27) | type B struct
method StartTimer (line 39) | func (b *B) StartTimer() {
method StopTimer (line 49) | func (b *B) StopTimer() {
method ResetTimer (line 58) | func (b *B) ResetTimer() {
method SetBytes (line 67) | func (b *B) SetBytes(n int64) { b.bytes = n }
method nsPerOp (line 69) | func (b *B) nsPerOp() int64 {
method runN (line 77) | func (b *B) runN(n int) {
method run (line 131) | func (b *B) run() BenchmarkResult {
method launch (line 142) | func (b *B) launch() {
method trimOutput (line 267) | func (b *B) trimOutput() {
function min (line 88) | func min(x, y int) int {
function max (line 95) | func max(x, y int) int {
function roundDown10 (line 103) | func roundDown10(n int) int {
function roundUp (line 119) | func roundUp(n int) int {
type BenchmarkResult (line 175) | type BenchmarkResult struct
method NsPerOp (line 181) | func (r BenchmarkResult) NsPerOp() int64 {
method mbPerSec (line 188) | func (r BenchmarkResult) mbPerSec() float64 {
method String (line 195) | func (r BenchmarkResult) String() string {
function RunBenchmarks (line 217) | func RunBenchmarks(matchString func(pat, str string) (bool, error), benc...
function Benchmark (line 285) | func Benchmark(f func(b *B)) BenchmarkResult {
FILE: pkg/doc/testdata/blank.go
type T (line 11) | type T
constant _ (line 15) | _ T = iota
constant T1 (line 16) | T1
constant T2 (line 17) | T2
constant tweedledee (line 22) | tweedledee T = iota
constant tweedledum (line 23) | tweedledum
constant C1 (line 24) | C1
constant C2 (line 25) | C2
constant alice (line 26) | alice
constant C3 (line 27) | C3
constant redQueen (line 28) | redQueen int = iota
constant C4 (line 29) | C4
constant zero (line 34) | zero os.FileMode = 0
constant Default (line 35) | Default = 0644
constant Useless (line 36) | Useless = 0312
constant WideOpen (line 37) | WideOpen = 0777
constant zero (line 42) | zero os.FileMode = 0
constant M1 (line 43) | M1
constant M2 (line 44) | M2
constant M3 (line 45) | M3
constant _ (line 50) | _ int = iota
constant I1 (line 51) | I1
constant I2 (line 52) | I2
constant _ (line 58) | _ = iota
constant one (line 59) | one = iota + 1
type S (line 65) | type S struct
function _ (line 71) | func _() {}
type _ (line 73) | type _
FILE: pkg/doc/testdata/c.go
type A (line 23) | type A struct
type B (line 27) | type B struct
type C (line 32) | type C struct
type D (line 38) | type D struct
type E1 (line 44) | type E1 struct
type E2 (line 45) | type E2 struct
type E3 (line 46) | type E3 struct
type E4 (line 48) | type E4 struct
type T1 (line 55) | type T1 struct
method M (line 57) | func (t1 *T1) M() {}
type T2 (line 60) | type T2 struct
FILE: pkg/doc/testdata/d1.go
constant C2 (line 10) | C2 = 2
constant CB2 (line 17) | CB2 = iota
constant CB1 (line 18) | CB1
constant CB0 (line 19) | CB0
constant Cungrouped (line 32) | Cungrouped = 0
type T2 (line 42) | type T2 struct
type TG2 (line 47) | type TG2 struct
type TG1 (line 50) | type TG1 struct
type TG0 (line 53) | type TG0 struct
function F2 (line 57) | func F2() {}
FILE: pkg/doc/testdata/d2.go
constant C1 (line 10) | C1 = 1
constant C0 (line 13) | C0 = 0
constant CA2 (line 23) | CA2 = iota
constant CA1 (line 24) | CA1
constant CA0 (line 25) | CA0
type T1 (line 36) | type T1 struct
type T0 (line 39) | type T0 struct
function F1 (line 42) | func F1() {}
function F0 (line 45) | func F0() {}
FILE: pkg/doc/testdata/e.go
type t1 (line 11) | type t1 struct
method M (line 14) | func (t1) M() {}
type t2 (line 16) | type t2 struct
method M (line 19) | func (t2) M() {}
type T1 (line 22) | type T1 struct
type T2 (line 31) | type T2 struct
method M (line 36) | func (T2) M() {}
type t1e (line 41) | type t1e struct
type t2e (line 45) | type t2e struct
type T3 (line 50) | type T3 struct
method M (line 56) | func (T3) M() {}
type T4 (line 63) | type T4 struct
method M (line 75) | func (*T4) M() {}
type T4 (line 72) | type
Copy disabled (too large)
Download .json
Condensed preview — 14011 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (112,717K chars).
[
{
"path": ".gitignore",
"chars": 52,
"preview": "*~\nvendor/github.com/LuaJIT/LuaJIT/src/gijit_luajit\n"
},
{
"path": "LICENSE",
"chars": 8617,
"preview": "The MIT License\n\nCopyright (c) 2019 Jason E. Aten, Ph.D. All rights reserved.\n\nPermission is hereby granted, free of cha"
},
{
"path": "Makefile",
"chars": 532,
"preview": ".PHONY: tags\n\ninstall:\n\t## git branch --set-upstream-to=origin/master\n\t## CGO_LDFLAGS_ALLOW='.*\\.a$$' go get -t -d -u ./"
},
{
"path": "README.md",
"chars": 44062,
"preview": "gijit: a just-in-time trace-compiled golang interpreter\n=======\n`gijit` is a scalable Go REPL\nfor doing interactive codi"
},
{
"path": "TAGS",
"chars": 38643,
"preview": "\f\ncmd/gi/lua.help.lua,50\nfunction locals(11,378\nfunction upvalues(30,808\n\f\npkg/compiler/_templates/defer.lua,17\nfuncti"
},
{
"path": "cmd/gen_static_prelude/prep.go",
"chars": 646,
"preview": "// prep the prelude for static inclusion with the\n// `gi` binary.\npackage main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"os\"\n\n\t\"git"
},
{
"path": "cmd/gijit_build/tool.go",
"chars": 27471,
"preview": "package main\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/doc\"\n\t\"github."
},
{
"path": "emacs/gijit.el",
"chars": 31506,
"preview": ";;; gijit-3.92\n;;;\n;;; (Setq *gijit-version-string* \"3.92\") ; update this below when changing.\n;;;\n;;; gijit.el - is"
},
{
"path": "emacs/vlua.el",
"chars": 31772,
"preview": ";;; vlua-3.92\n;;; \n;;; (Setq *vlua-version-string* \"3.92\") ; update this below when changing.\n;;;\n;;; vlua.el - is a"
},
{
"path": "macos.sh",
"chars": 411,
"preview": "#!/bin/sh\necho \"posix.sh: Doing one time build of libluajit.a\"\n\n## recent macOS need the extra MACOSX_DEPLOYMENT_TARGET "
},
{
"path": "pkg/ast/ast.go",
"chars": 32649,
"preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/ast_test.go",
"chars": 1489,
"preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/commentmap.go",
"chars": 9050,
"preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/commentmap_test.go",
"chars": 3400,
"preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/example_test.go",
"chars": 5816,
"preview": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/filter.go",
"chars": 12816,
"preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/filter_test.go",
"chars": 1738,
"preview": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/import.go",
"chars": 4630,
"preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/print.go",
"chars": 6062,
"preview": "// Copyright 2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/print_test.go",
"chars": 1880,
"preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/resolve.go",
"chars": 5399,
"preview": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/scope.go",
"chars": 4046,
"preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/ast/walk.go",
"chars": 6364,
"preview": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license "
},
{
"path": "pkg/compiler/.gitignore",
"chars": 20,
"preview": "gi\n*~\ncompiler.test\n"
},
{
"path": "pkg/compiler/Makefile",
"chars": 273,
"preview": "\nall:\n\tgen_static_prelude && cd ../../cmd/gi && make\n\n## allows testing under go1.9.4 using \"make test -- -run 063\" for "
},
{
"path": "pkg/compiler/_bench/gonum.go",
"chars": 513,
"preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"math/rand\"\n\t\"time\"\n\n\t\"gonum.org/v1/gonum/mat\"\n\t//\"gonum.org/v1/gonum/matrix/mat64\"\n)\n\nfu"
},
{
"path": "pkg/compiler/_bench/matmul.gijit",
"chars": 2297,
"preview": "package main\n\n// matrix multiplication benchmark\n\nimport (\n\t\"fmt\"\n\t\"math/rand\"\n\t\"time\"\n)\n\nvar _ = time.Now\n\ntype Matrix "
},
{
"path": "pkg/compiler/_bench/matmul.go.txt",
"chars": 2274,
"preview": "package main\n\n// matrix multiplication benchmark\n\nimport (\n\t\"fmt\"\n\t\"math/rand\"\n\t\"time\"\n)\n\ntype Matrix struct {\n\tA []["
},
{
"path": "pkg/compiler/_bench/mul.go",
"chars": 2109,
"preview": "package main\n\n// matrix multiplication benchmark\n\ntype Matrix struct {\n\tA [][]float64\n\tNrow int\n\tNcol int\n}\n\n//\n// ve"
},
{
"path": "pkg/compiler/_bench/mul.lua",
"chars": 5889,
"preview": "dofile 'tsys.lua'\n\n--__go_import \"math/rand\"\n--__go_import \"fmt\"\n--__go_import \"time\"\n\n__type__.anon_sliceType = __slice"
},
{
"path": "pkg/compiler/_bench/r",
"chars": 5716,
"preview": "\n__go_import \"math/rand\"\n__go_import \"fmt\"\n__go_import \"time\"\n\n\n__type__anon_sliceType = __sliceType(__type__float64); -"
},
{
"path": "pkg/compiler/_templates/defer.lua",
"chars": 3324,
"preview": "a = 0;\nb = 0;\nfunction f(...)\n orig = {...}\n \n -- f uses defer, boilerplate:\n \n local __defers={}\n \n -- __"
},
{
"path": "pkg/compiler/_templates/deferinit.lua",
"chars": 5077,
"preview": "-- deferinit.lua : global setup for defer handling\n\n-- utility: table show\nfunction ts(t)\n if t == nil then\n retu"
},
{
"path": "pkg/compiler/_templates/diffs",
"chars": 1497,
"preview": "diff --git a/pkg/compiler/templates/flow1.lua b/pkg/compiler/templates/flow1.lua\nindex bf716ee..835c7f4 100644\n--- a/pkg"
},
{
"path": "pkg/compiler/_templates/flow1.go.txt",
"chars": 528,
"preview": "package main\n\nimport \"fmt\"\n\n// defers access and modify named return values.\n\nfunc main() {\n\ta := 7\n\tb := 0\n\tf := func()"
},
{
"path": "pkg/compiler/_templates/flow1.lua",
"chars": 1706,
"preview": "\ndofile 'deferinit.lua'\n\na = 7;\nb = 0;\n\n-- f uses defer, boilerplate: \nfunction f(...)\n orig = {...}\n \n local __d"
},
{
"path": "pkg/compiler/_templates/flow10.go.txt",
"chars": 1241,
"preview": "package main\n\nimport \"fmt\"\n\n// nested calls: can panic transfer\n// from lower in the stack to higher up?\n\nvar global int"
},
{
"path": "pkg/compiler/_templates/flow10.lua",
"chars": 3888,
"preview": "\n-- flow10.lua\n\n-- same go code as flow8.go, but here we factor out the lua funtions\n-- into re-usable functions as opp"
},
{
"path": "pkg/compiler/_templates/flow11.go.txt",
"chars": 567,
"preview": "package main\n\n// what happens to the function if the first defer\n// halts the panic, what does it return? the zero valu"
},
{
"path": "pkg/compiler/_templates/flow11.lua",
"chars": 1823,
"preview": "\n-- flow11.lua\n\ndofile(\"deferinit.lua\")\n\n---\n\na = 0;\nb = 0;\n\n-- nested calls: can panic transfer\n-- from lower in the st"
},
{
"path": "pkg/compiler/_templates/flow2.go.txt",
"chars": 1200,
"preview": "package main\n\nimport \"fmt\"\n\n// a defer can recover a panic value, and re-panic with\n// a new value that the next defer i"
},
{
"path": "pkg/compiler/_templates/flow2.lua",
"chars": 2243,
"preview": "\ndofile 'deferinit.lua'\n\na = 0;\nb = 0;\n\n\n-- f uses defer, boilerplate: \nfunction f(...)\n orig = {...}\n \n local __"
},
{
"path": "pkg/compiler/_templates/flow3.go.txt",
"chars": 918,
"preview": "package main\n\nimport \"fmt\"\n\n// one defer throws a different panic, a later\n// defer recovers completely.\n\nfunc main() {"
},
{
"path": "pkg/compiler/_templates/flow3.lua",
"chars": 2429,
"preview": "\ndofile 'deferinit.lua'\n\na = 0;\nb = 0;\n\n-- f uses defer, boilerplate: \nfunction f(...)\n orig = {...}\n \n local __d"
},
{
"path": "pkg/compiler/_templates/flow4.go.txt",
"chars": 1012,
"preview": "package main\n\nimport \"fmt\"\n\nfunc main() {\n\ta := 0\n\tb := 0\n\tf := func() (ret0, ret1 int) {\n\n\t\tdefer func(a int) {\n\t\t\tfmt."
},
{
"path": "pkg/compiler/_templates/flow4.lua",
"chars": 2708,
"preview": "dofile 'deferinit.lua'\n\na = 0;\nb = 0;\n\n-- f uses defer, boilerplate: \nfunction f(...)\n orig = {...}\n \n local __de"
},
{
"path": "pkg/compiler/_templates/flow5.go.txt",
"chars": 917,
"preview": "package main\n\nimport \"fmt\"\n\nfunc main() {\n\ta := 0\n\tb := 0\n\tf := func() (ret0, ret1 int) {\n\n\t\tdefer func(a int) {\n\t\t\tfmt."
},
{
"path": "pkg/compiler/_templates/flow5.lua",
"chars": 2196,
"preview": "\ndofile 'deferinit.lua'\n\na = 0;\nb = 0;\n\n-- f uses defer, boilerplate: \nfunction f(...)\n orig = {...}\n \n local __d"
},
{
"path": "pkg/compiler/_templates/flow6.go.txt",
"chars": 1038,
"preview": "package main\n\nimport \"fmt\"\n\nfunc main() {\n\ta := 0\n\tb := 0\n\tf := func() (ret0, ret1 int) {\n\n\t\tdefer func(a int) {\n\t\t\tfmt."
},
{
"path": "pkg/compiler/_templates/flow6.lua",
"chars": 2419,
"preview": "\ndofile 'deferinit.lua'\n\na = 0;\nb = 0;\n\n-- f uses defer, boilerplate: \nfunction f(...)\n orig = {...}\n \n local __d"
},
{
"path": "pkg/compiler/_templates/flow7.go.txt",
"chars": 806,
"preview": "package main\n\nimport \"fmt\"\n\n// nested calls: can panic transfer\n// from lower in the stack to higher up?\n\nvar global int"
},
{
"path": "pkg/compiler/_templates/flow7.lua",
"chars": 1988,
"preview": "dofile 'deferinit.lua'\n\na = 0;\nb = 0;\n\n-- nested calls: can panic transfer\n-- from lower in the stack to higher up?\n\nglo"
},
{
"path": "pkg/compiler/_templates/flow8.go.txt",
"chars": 1225,
"preview": "package main\n\nimport \"fmt\"\n\n// nested calls: can panic transfer\n// from lower in the stack to higher up?\n\nvar global int"
},
{
"path": "pkg/compiler/_templates/flow8.lua",
"chars": 2046,
"preview": "dofile 'deferinit.lua'\n\n\na = 0;\nb = 0;\n\n-- nested calls: can panic transfer\n-- from lower in the stack to higher up?\n\ngl"
},
{
"path": "pkg/compiler/_templates/flow9.go.txt",
"chars": 930,
"preview": "package main\n\nimport \"fmt\"\n\n// uncaught panic value.\n\nfunc main() {\n\ta := 0\n\tb := 0\n\tf := func() (ret0, ret1 int) {\n\n\t\td"
},
{
"path": "pkg/compiler/_templates/flow9.lua",
"chars": 1899,
"preview": "dofile 'deferinit.lua'\n\na = 0;\nb = 0;\n\n\nfunction f(...)\n orig = {...}\n local __defers={}\n local __zeroret = {0,0}\n"
},
{
"path": "pkg/compiler/_templates/godefer.go",
"chars": 396,
"preview": "package main\n\nimport \"fmt\"\n\nfunc main() {\n\tdefer func() {\n\t\tfmt.Printf(\"defer 1 running.\\n\")\n\t\tif r := recover(); r != n"
},
{
"path": "pkg/compiler/_templates/godefer1_defer_panic_a_new_val.go.txt",
"chars": 469,
"preview": "package main\n\nimport \"fmt\"\n\nfunc main() {\n\ta := 0\n\tb := 0\n\tf := func(ret0, ret1 int) {\n\t\tdefer func(a int) {\n\t\t\tfmt.Prin"
},
{
"path": "pkg/compiler/_templates/luadefer1_defer_panic_a_new_val.lua",
"chars": 3324,
"preview": "a = 0;\nb = 0;\nfunction f(...)\n orig = {...}\n \n -- f uses defer, boilerplate:\n \n local __defers={}\n \n -- __"
},
{
"path": "pkg/compiler/_templates/luadefer2_defer_error_a_new_val.lua",
"chars": 3324,
"preview": "a = 0;\nb = 0;\nfunction f(...)\n orig = {...}\n \n -- f uses defer, boilerplate:\n \n local __defers={}\n \n -- __"
},
{
"path": "pkg/compiler/_templates/new.defer.lua",
"chars": 2743,
"preview": "a = 0;\nb = 0;\nfunction f(...)\n orig = {...}\n \n -- f uses defer, boilerplate:\n \n local __defers={}\n \n -- __"
},
{
"path": "pkg/compiler/_templates/q.lua",
"chars": 308,
"preview": "stack = {}\n\nfunction stack:new()\n return {}\nend\n\nfunction stack:pop()\n if #self == 0 then\n return nil\n end\n "
},
{
"path": "pkg/compiler/_templates/q2.lua",
"chars": 627,
"preview": "\nstack = {}\n\nfunction stack.new()\n return {}\nend\n\nfunction stack.pop(self)\n if #self == 0 then\n return nil\n en"
},
{
"path": "pkg/compiler/_templates/r.lua",
"chars": 708,
"preview": "-- recursive xpcalls, do they work? hmm... looks like we get \"error in error handling\"\n\nouch=function() error(\"ouch\") en"
},
{
"path": "pkg/compiler/_templates/recursive.xpcall.defer.lua",
"chars": 3312,
"preview": "a = 0;\nb = 0;\nfunction f(...)\n orig = {...}\n \n -- f uses defer, boilerplate:\n \n local __defers={}\n \n -- __"
},
{
"path": "pkg/compiler/_templates/repcall.lua",
"chars": 29,
"preview": "-- do recursive pcall work?\n\n"
},
{
"path": "pkg/compiler/_templates/rexp.lua",
"chars": 1115,
"preview": "-- recursive xpcalls, do they work? hmm... looks like we get \"error in error handling\"\n\nouch=function() error(\"ouch\") en"
},
{
"path": "pkg/compiler/_templates/s.lua",
"chars": 500,
"preview": "-- recursive pcalls, do they work?\n\nf1=function()\n error(\"ouch\") end\n\nf2=function()\n g={pcall(f1)}\n for k,v in pai"
},
{
"path": "pkg/compiler/_templates/test.lua",
"chars": 373,
"preview": "local jit = require('jit')\nlocal format = string.format\nlocal pcall = pcall\n\nlocal function dofuss()\n return 42\nend\n\n"
},
{
"path": "pkg/compiler/_templates/tests.in.go.summary",
"chars": 7562,
"preview": "\n=========== flow1.go ============\n\npackage main\n\nimport \"fmt\"\n\n// defers access and modify named return values.\n\nfunc "
},
{
"path": "pkg/compiler/allport/fin.lua",
"chars": 51071,
"preview": "dofile '../math.lua' -- for __max, __min, __truncateToInt\n\n-- NB fin and fin_test use ___ triple underscores, to\n-- avoi"
},
{
"path": "pkg/compiler/allport/full.lua",
"chars": 1095981,
"preview": "dofile '../math.lua' -- for __max, __min, __truncateToInt\n\nfunction __assertIsArray(a)\n local n = 0\n for k,v in pair"
},
{
"path": "pkg/compiler/allport/half.lua",
"chars": 64348,
"preview": "dofile '../math.lua' -- for __max, __min, __truncateToInt\n\n__Infinity = math.huge\n\nfunction __newAnyArrayValue(elem, len"
},
{
"path": "pkg/compiler/allport/lglob",
"chars": 30383,
"preview": "#!/usr/bin/env lua\n-- Like globals.lua in Lua 5.1.4 -- globalsplus.lua\n-- Like globals.lua in Lua 5.1.4 but records fiel"
},
{
"path": "pkg/compiler/allport/port.lua",
"chars": 2635,
"preview": "Baggins= __newType(8, __kindInterface, \"main.Baggins\", true, \"github.com/gijit/gi/pkg/compiler/tmp\", true, null);\nGollum"
},
{
"path": "pkg/compiler/allport/tmp.js",
"chars": 959554,
"preview": "\"use strict\";\n(function() {\n\nError.stackTraceLimit = Infinity;\n\nvar $global, $module;\nif (typeof window !== \"undefined\")"
},
{
"path": "pkg/compiler/analysis/bool.go",
"chars": 880,
"preview": "package analysis\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/constant\"\n\t\"github.com/gijit/gi/pkg/"
},
{
"path": "pkg/compiler/analysis/break.go",
"chars": 600,
"preview": "package analysis\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/token\"\n)\n\nfunc HasBreak(n ast.Node) "
},
{
"path": "pkg/compiler/analysis/escape.go",
"chars": 1595,
"preview": "package analysis\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/token\"\n\t\"github.com/gijit/gi/pkg/typ"
},
{
"path": "pkg/compiler/analysis/info.go",
"chars": 6619,
"preview": "package analysis\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/token\"\n\t\"github.com/gijit/gi/pkg/typ"
},
{
"path": "pkg/compiler/analysis/sideeffect.go",
"chars": 745,
"preview": "package analysis\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/token\"\n\t\"github.com/gijit/gi/pkg/typ"
},
{
"path": "pkg/compiler/arr_test.go",
"chars": 4187,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nfunc Test080Int64ArraysByGoP"
},
{
"path": "pkg/compiler/astutil/astutil.go",
"chars": 1089,
"preview": "package astutil\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/types\"\n)\n\nfunc RemoveParens(e ast.Exp"
},
{
"path": "pkg/compiler/attic/array.lua",
"chars": 5928,
"preview": "-- arrays\n\n-- important keys\n__giPrivateRaw = \"__giPrivateRaw\"\n__giPrivateArrayProps = \"__giPrivateArrayProps\"\n__giPriva"
},
{
"path": "pkg/compiler/attic/bilbo.gi",
"chars": 944,
"preview": "package main\n\nimport (\n\t\"fmt\"\n)\n\ntype Baggins interface {\n\tWearRing() bool\n}\ntype Gollum interface {\n\tScowl() int\n}\ntype"
},
{
"path": "pkg/compiler/attic/bilbo.go",
"chars": 940,
"preview": "package main\n\nimport (\n\t\"fmt\"\n)\n\ntype Baggins interface {\n\tWearRing() bool\n}\ntype Gollum interface {\n\tScowl() int\n}\ntype"
},
{
"path": "pkg/compiler/attic/native_array.lua",
"chars": 1139,
"preview": "\n--[[\n\n__nativeArray = function(elemKind)\n\n if false then\n if elemKind == __kindInt then \n return Int32A"
},
{
"path": "pkg/compiler/attic/slice.lua",
"chars": 11640,
"preview": "-- like a Go slice, a lua slice needs to point\n-- to a backing array\n\n-- important keys\n__giPrivateRaw = \"__giPrivateRaw"
},
{
"path": "pkg/compiler/attic/struct.lua",
"chars": 57386,
"preview": "-- structs and interfaces and pointers.\n\n-- if __debug is true then __gi_NewType() will\n-- dump a bunch of debug info at"
},
{
"path": "pkg/compiler/attic/wolf.gi",
"chars": 736,
"preview": "package main\n\nimport (\n\t\"fmt\"\n)\n\ntype Bowser interface {\n\tHi()\n}\n\ntype Possum interface {\n\tHi()\n Pebbles()\n}\n\ntype Un"
},
{
"path": "pkg/compiler/build.go",
"chars": 27178,
"preview": "package compiler\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/gostd/build\"\n\t\"githu"
},
{
"path": "pkg/compiler/build_test.go",
"chars": 7357,
"preview": "package compiler\n\n// formerly build_test.go was in pkg/gibuild/build_test.go\n\nimport (\n\t\"fmt\"\n\tgobuild \"github.com/gijit"
},
{
"path": "pkg/compiler/calllua_test.go",
"chars": 1223,
"preview": "package compiler\n\nimport (\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nfunc Test1500CallLuaFromGijit(t *te"
},
{
"path": "pkg/compiler/callzygo.go",
"chars": 269,
"preview": "package compiler\n\nimport (\n\t\"github.com/glycerine/zygomys/zygo\"\n)\n\nfunc initZygo() *zygo.Zlisp {\n\tenv := zygo.NewZlisp()"
},
{
"path": "pkg/compiler/callzygo_test.go",
"chars": 642,
"preview": "package compiler\n\nimport (\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nfunc Test1502CallZygoFromGijit(t *t"
},
{
"path": "pkg/compiler/chan_test.go",
"chars": 8337,
"preview": "package compiler\n\n// chan_test.go: tests of the all-lua channels\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\t\"time\"\n\n\t//\"github.com/gij"
},
{
"path": "pkg/compiler/cmplex_test.go",
"chars": 2538,
"preview": "package compiler\n\n/* generated test values for complex.lua; keep for future extensions/use, but no\n need to test every"
},
{
"path": "pkg/compiler/compiler.go",
"chars": 13210,
"preview": "package compiler\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"strings\"\n\n\t\"encoding/gob\"\n\t\"github.com/gijit/gi/pkg/ast\"\n\n\t\"enc"
},
{
"path": "pkg/compiler/conv_test.go",
"chars": 836,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nfunc Test110ConvertFloat64To"
},
{
"path": "pkg/compiler/cvrt_test.go",
"chars": 1192,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\t//\"github.com/gijit/gi/pkg/verb\"\n\tcv \"github.com/glycerine/goconvey/conve"
},
{
"path": "pkg/compiler/debug.go",
"chars": 101,
"preview": "package compiler\n\nimport (\n\t\"runtime/debug\"\n)\n\nfunc stack() string {\n\treturn string(debug.Stack())\n}\n"
},
{
"path": "pkg/compiler/defer_test.go",
"chars": 7741,
"preview": "package compiler\n\nimport (\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nfunc Test033DefersRunOnPanic(t *tes"
},
{
"path": "pkg/compiler/depend.go",
"chars": 5359,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\n\t\"github.com/gijit/gi/pkg/types\"\n)\n\n// depend.go\n//\n// Implement Depth-First-"
},
{
"path": "pkg/compiler/depend_test.go",
"chars": 2948,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t//\"os\"\n\t\"testing\"\n\n\t\"github.com/gijit/gi/pkg/types\"\n\n\tcv \"github.com/glycerine/goconv"
},
{
"path": "pkg/compiler/exists.go",
"chars": 330,
"preview": "package compiler\n\nimport (\n\t\"os\"\n)\n\nfunc FileExists(name string) bool {\n\tfi, err := os.Stat(name)\n\tif err != nil {\n\t\tret"
},
{
"path": "pkg/compiler/expr_test.go",
"chars": 2865,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nfunc Test094MathExpressionsS"
},
{
"path": "pkg/compiler/expressions.go",
"chars": 69358,
"preview": "package compiler\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/constant\"\n\t\"github.c"
},
{
"path": "pkg/compiler/face_test.go",
"chars": 6075,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nvar _ = fmt.Printf\nvar _ = t"
},
{
"path": "pkg/compiler/filter/assign.go",
"chars": 2393,
"preview": "package filter\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/token\"\n\t\"github.com/gijit/gi/pkg/types"
},
{
"path": "pkg/compiler/filter/incdecstmt.go",
"chars": 838,
"preview": "package filter\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/constant\"\n\t\"github.com/gijit/gi/pkg/to"
},
{
"path": "pkg/compiler/fullpkg.go",
"chars": 18569,
"preview": "package compiler\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/con"
},
{
"path": "pkg/compiler/genshadow.go",
"chars": 6166,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"path/filepath\"\n\n\t\"github.com/gijit/gi/pkg/ast\"\n\t\"github.com/gijit/gi/pkg/impo"
},
{
"path": "pkg/compiler/goro.go",
"chars": 7048,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\t\"sync/atomic\"\n\n\t\"time\"\n\n\t\"github.com/gijit/gi/pkg/verb\"\n\tgolua \"github.com/gl"
},
{
"path": "pkg/compiler/goro_test.go",
"chars": 4532,
"preview": "package compiler\n\nimport (\n\t//\"fmt\"\n\t\"testing\"\n\n\t//\"github.com/gijit/gi/pkg/token\"\n\t//\"github.com/gijit/gi/pkg/types\"\n\tc"
},
{
"path": "pkg/compiler/idchk.go",
"chars": 2220,
"preview": "package compiler\n\nimport (\n\t\"github.com/gijit/gi/pkg/ast\"\n)\n\n/*\nRestriction to a subset of legal `go` programs:\n\nIn `gij"
},
{
"path": "pkg/compiler/imp.go",
"chars": 590,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\n\t//\"github.com/glycerine/golua/lua\"\n\t\"github.com/glycerine/luar\"\n)\n\n// call fmt.Sprin"
},
{
"path": "pkg/compiler/imp_test.go",
"chars": 9432,
"preview": "package compiler\n\nimport (\n\t//\"fmt\"\n\t\"testing\"\n\n\t//\"github.com/gijit/gi/pkg/verb\"\n\tcv \"github.com/glycerine/goconvey/con"
},
{
"path": "pkg/compiler/import.go",
"chars": 24546,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"path\"\n\t\"reflect\"\n\t\"runtime/debug\"\n\t\"strings\"\n\n\t\"github.com/gijit/gi/pkg"
},
{
"path": "pkg/compiler/import_test.go",
"chars": 6011,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"testing\"\n\n\t//\"github.com/gijit/gi/pkg/verb\"\n\tcv \"github.com/glycerine/goconvey"
},
{
"path": "pkg/compiler/incr.go",
"chars": 33039,
"preview": "package compiler\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"github.com/gijit/gi/pkg/ast\"\n\t//\"github.com/gijit/gi/pkg/c"
},
{
"path": "pkg/compiler/label_test.go",
"chars": 644,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nfunc Test1100LabelsAndGotoAt"
},
{
"path": "pkg/compiler/lj",
"chars": 53,
"preview": "#!/bin/bash\nluajit -i -e 'dofile(\"prelude/tsys.lua\")'"
},
{
"path": "pkg/compiler/luaUtil.go",
"chars": 17088,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"math\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"reflect\"\n\t\"runtime\"\n\t\"sort\"\n\t\"strings\"\n\t"
},
{
"path": "pkg/compiler/lua_select_test.go",
"chars": 733,
"preview": "package compiler\n\n// lua-only verion of select_test\n\n// For the moment, we'll comment this out while\n// we get the fully"
},
{
"path": "pkg/compiler/luar_test.go",
"chars": 11112,
"preview": "package compiler\n\n/* comment out all luar/native go imports for now\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"reflect\"\n\t\"testing\"\n\n\tcv \""
},
{
"path": "pkg/compiler/mat_test.go",
"chars": 5048,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"testing\"\n\n\t//\"github.com/gijit/gi/pkg/verb\"\n\tcv \"github.com/glycerine/goc"
},
{
"path": "pkg/compiler/natives/doc.go",
"chars": 382,
"preview": "// Package natives provides native packages via a virtual filesystem.\n//\n// See documentation of parseAndAugment in gith"
},
{
"path": "pkg/compiler/natives/fs.go",
"chars": 999,
"preview": "// plus build gopherjsdev\n\npackage natives\n\nimport (\n\t\"github.com/gijit/gi/pkg/gostd/build\"\n\t\"log\"\n\t\"net/http\"\n\t\"os\"\n\t\"s"
},
{
"path": "pkg/compiler/natives/fs_vfsdata.go",
"chars": 217756,
"preview": "// Code generated by vfsgen; DO NOT EDIT.\n\n// +build want_cached_natives\n\npackage natives\n\nimport (\n\t\"bytes\"\n\t\"compress/"
},
{
"path": "pkg/compiler/natives/src/bytes/bytes.go",
"chars": 511,
"preview": "// +build gijit\n\npackage bytes\n\nfunc IndexByte(s []byte, c byte) int {\n\tfor i, b := range s {\n\t\tif b == c {\n\t\t\treturn i\n"
},
{
"path": "pkg/compiler/natives/src/bytes/bytes_test.go",
"chars": 218,
"preview": "// +build gijit\n\npackage bytes_test\n\nimport (\n\t\"testing\"\n)\n\nfunc dangerousSlice(t *testing.T) []byte {\n\tt.Skip(\"dangerou"
},
{
"path": "pkg/compiler/natives/src/crypto/rand/rand.go",
"chars": 1179,
"preview": "// +build gijit\n\npackage rand\n\nimport (\n\t\"errors\"\n\n\t\"github.com/gijit/gi/pkg/luaapi\"\n)\n\nfunc init() {\n\tReader = &rngRead"
},
{
"path": "pkg/compiler/natives/src/crypto/x509/x509.go",
"chars": 180,
"preview": "// +build gijit\n\npackage x509\n\nimport \"errors\"\n\nfunc loadSystemRoots() (*CertPool, error) {\n\treturn nil, errors.New(\"cry"
},
{
"path": "pkg/compiler/natives/src/crypto/x509/x509_test.go",
"chars": 367,
"preview": "// +build gijit\n\npackage x509\n\nimport \"testing\"\n\nfunc TestSystemCertPool(t *testing.T) {\n\tt.Skip(\"no system roots\")\n}\n\nf"
},
{
"path": "pkg/compiler/natives/src/database/sql/driver/driver_test.go",
"chars": 1188,
"preview": "// +build gijit\n\npackage driver\n\nvar valueConverterTests = []valueConverterTest{\n\t{Bool, \"true\", true, \"\"},\n\t{Bool, \"Tru"
},
{
"path": "pkg/compiler/natives/src/debug/elf/elf_test.go",
"chars": 111,
"preview": "// +build gijit\n\npackage elf\n\nimport \"testing\"\n\nfunc TestNoSectionOverlaps(t *testing.T) {\n\tt.Skip(\"not 6l\")\n}\n"
},
{
"path": "pkg/compiler/natives/src/encoding/gob/gob_test.go",
"chars": 2602,
"preview": "// +build gijit\n\npackage gob\n\nimport (\n\t\"bytes\"\n\t\"reflect\"\n\t\"testing\"\n)\n\n// TODO: TestEndToEnd override can be removed o"
},
{
"path": "pkg/compiler/natives/src/encoding/json/stream_test.go",
"chars": 144,
"preview": "// +build gijit\n\npackage json\n\nimport \"testing\"\n\nfunc TestHTTPDecoding(t *testing.T) {\n\tt.Skip(\"network access is not su"
},
{
"path": "pkg/compiler/natives/src/fmt/fmt_test.go",
"chars": 56,
"preview": "// +build gijit\n\npackage fmt_test\n\nconst intCount = 100\n"
},
{
"path": "pkg/compiler/natives/src/go/token/token_test.go",
"chars": 104,
"preview": "// +build gijit\n\npackage token\n\nimport (\n\t\"testing\"\n)\n\nfunc TestFileSetRace(t *testing.T) {\n\tt.Skip()\n}\n"
},
{
"path": "pkg/compiler/natives/src/internal/poll/fd_poll_js.go",
"chars": 1937,
"preview": "// +build gijit\n\npackage poll\n\nimport \"time\"\n\n// pollDesc is a no-op implementation of an I/O poller for GOARCH=gijit.\n/"
},
{
"path": "pkg/compiler/natives/src/internal/testenv/testenv.go",
"chars": 436,
"preview": "// +build gijit\n\npackage testenv\n\nimport (\n\t\"runtime\"\n\t\"strings\"\n)\n\n// HasExec reports whether the current system can st"
},
{
"path": "pkg/compiler/natives/src/io/io_test.go",
"chars": 577,
"preview": "// +build gijit\n\npackage io_test\n\nimport (\n\t\"testing\"\n)\n\nfunc TestMultiWriter_WriteStringSingleAlloc(t *testing.T) {\n\tt."
},
{
"path": "pkg/compiler/natives/src/math/big/big.go",
"chars": 177,
"preview": "// +build gijit\n\npackage big\n\n// TODO: This is a workaround for https://github.com/gopherjs/gopherjs/issues/652.\n// "
},
{
"path": "pkg/compiler/natives/src/math/big/big_test.go",
"chars": 151,
"preview": "// +build gijit\n\npackage big\n\nimport \"testing\"\n\nfunc TestBytes(t *testing.T) {\n\tt.Skip(\"broken\")\n}\n\nfunc TestModSqrt(t *"
},
{
"path": "pkg/compiler/natives/src/math/math.go",
"chars": 4661,
"preview": "// +build gijit\n\npackage math\n\nimport (\n\tjs \"github.com/gijit/gi/pkg/luaapi\"\n)\n\nvar math = js.Global.Get(\"Math\")\nvar zer"
},
{
"path": "pkg/compiler/natives/src/math/math_test.go",
"chars": 590,
"preview": "// +build gijit\n\npackage math_test\n\n// Slighly higher tolerances than upstream, otherwise TestGamma fails.\n// TODO: Is t"
},
{
"path": "pkg/compiler/natives/src/math/rand/rand_test.go",
"chars": 163,
"preview": "// +build gijit\n\npackage rand\n\nimport \"testing\"\n\nfunc TestFloat32(t *testing.T) {\n\tt.Skip(\"slow\")\n}\n\nfunc TestConcurrent"
},
{
"path": "pkg/compiler/natives/src/net/http/cookiejar/example_test.go",
"chars": 272,
"preview": "// +build gijit\n\npackage cookiejar_test\n\nimport \"fmt\"\n\nfunc ExampleNew() {\n\t// network access not supported by GopherJS,"
},
{
"path": "pkg/compiler/natives/src/net/http/fetch.go",
"chars": 3553,
"preview": "// +build gijit\n\npackage http\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"strconv\"\n\n\t\"github.com/gijit/gi/pkg/luaapi"
},
{
"path": "pkg/compiler/natives/src/net/http/http.go",
"chars": 3000,
"preview": "// +build gijit\n\npackage http\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"errors\"\n\t\"io/ioutil\"\n\t\"net/textproto\"\n\t\"strconv\"\n\n\t\"github.c"
},
{
"path": "pkg/compiler/natives/src/net/net.go",
"chars": 1124,
"preview": "// +build gijit\n\npackage net\n\nimport (\n\t\"errors\"\n\t\"syscall\"\n\n\t\"github.com/gijit/gi/pkg/luaapi\"\n)\n\nfunc Listen(net, laddr"
},
{
"path": "pkg/compiler/natives/src/os/os.go",
"chars": 586,
"preview": "// +build gijit\n\npackage os\n\nimport (\n\t\"errors\"\n\n\t\"github.com/gijit/gi/pkg/luaapi\"\n)\n\nfunc runtime_args() []string { // "
},
{
"path": "pkg/compiler/natives/src/os/signal/signal.go",
"chars": 239,
"preview": "// +build gijit\n\npackage signal\n\n// Package signal is not implemented for GOARCH=gijit.\n\nfunc signal_disable(uint32) {}\n"
},
{
"path": "pkg/compiler/natives/src/reflect/example_test.go",
"chars": 314,
"preview": "// +build gijit\n\npackage reflect_test\n\nimport \"fmt\"\n\nfunc ExampleStructOf() {\n\t// GopherJS does not implement reflect.ad"
},
{
"path": "pkg/compiler/natives/src/reflect/reflect.go",
"chars": 37830,
"preview": "// +build gijit\n\npackage reflect\n\nimport (\n\t\"errors\"\n\t\"strconv\"\n\t\"unsafe\"\n\n\t\"github.com/gijit/gi/pkg/luaapi\"\n)\n\nvar init"
},
{
"path": "pkg/compiler/natives/src/reflect/reflect_test.go",
"chars": 4278,
"preview": "// +build gijit\n\npackage reflect_test\n\nimport (\n\t\"math\"\n\t\"reflect\"\n\t\"testing\"\n)\n\nfunc TestAlignment(t *testing.T) {\n\tt.S"
},
{
"path": "pkg/compiler/natives/src/reflect/swapper.go",
"chars": 608,
"preview": "// +build gijit\n\npackage reflect\n\nfunc Swapper(slice interface{}) func(i, j int) {\n\tv := ValueOf(slice)\n\tif v.Kind() != "
},
{
"path": "pkg/compiler/natives/src/regexp/regexp_test.go",
"chars": 151,
"preview": "// +build gijit\n\npackage regexp\n\nimport (\n\t\"testing\"\n)\n\nfunc TestOnePassCutoff(t *testing.T) {\n\tt.Skip() // \"Maximum cal"
},
{
"path": "pkg/compiler/natives/src/runtime/debug/debug.go",
"chars": 301,
"preview": "// +build gijit\n\npackage debug\n\nfunc setGCPercent(int32) int32 {\n\t// Not implemented. Return initial setting.\n\treturn 10"
},
{
"path": "pkg/compiler/natives/src/runtime/pprof/pprof.go",
"chars": 663,
"preview": "// +build gijit\n\npackage pprof\n\nimport (\n\t\"io\"\n\t\"sync\"\n)\n\ntype Profile struct {\n\tname string\n\tmu sync.Mutex\n\tm m"
},
{
"path": "pkg/compiler/natives/src/runtime/runtime.go",
"chars": 5736,
"preview": "// +build gijit\n\npackage runtime\n\nimport (\n\t\"runtime/internal/sys\"\n\n\tjs \"github.com/gijit/gi/pkg/luaapi\"\n)\n\nconst GOOS ="
},
{
"path": "pkg/compiler/natives/src/strings/strings.go",
"chars": 1770,
"preview": "// +build gijit\n\npackage strings\n\n/*\nimport (\n\t\"unicode/utf8\"\n\n\tjs \"github.com/gijit/gi/pkg/luaapi\"\n)\n\nfunc IndexByte(s "
},
{
"path": "pkg/compiler/natives/src/strings/strings_test.go",
"chars": 178,
"preview": "// +build gijit\n\npackage strings_test\n\nimport \"testing\"\n\nfunc TestBuilderAllocs(t *testing.T) {\n\tt.Skip(\"runtime.ReadMem"
},
{
"path": "pkg/compiler/natives/src/sync/atomic/atomic.go",
"chars": 3065,
"preview": "// +build gijit\n\npackage atomic\n\nimport (\n\t\"unsafe\"\n\n\tjs \"github.com/gijit/gi/pkg/luaapi\"\n)\n\nfunc SwapInt32(addr *int32,"
},
{
"path": "pkg/compiler/natives/src/sync/atomic/atomic_test.go",
"chars": 124,
"preview": "// +build gijit\n\npackage atomic_test\n\nimport \"testing\"\n\nfunc TestHammerStoreLoad(t *testing.T) {\n\tt.Skip(\"use of unsafe\""
},
{
"path": "pkg/compiler/natives/src/sync/cond.go",
"chars": 514,
"preview": "// +build gijit\n\npackage sync\n\ntype Cond struct {\n\t// fields used by vanilla implementation\n\tnoCopy noCopy\n\tL Loc"
},
{
"path": "pkg/compiler/natives/src/sync/export_test.go",
"chars": 171,
"preview": "// +build gijit\n\npackage sync\n\n// Referenced by tests, need to have no-op implementations.\nvar Runtime_procPin = func() "
},
{
"path": "pkg/compiler/natives/src/sync/pool.go",
"chars": 508,
"preview": "// +build gijit\n\npackage sync\n\nimport \"unsafe\"\n\ntype Pool struct {\n\tlocal unsafe.Pointer\n\tlocalSize uintptr\n\n\tstore "
},
{
"path": "pkg/compiler/natives/src/sync/sync.go",
"chars": 1273,
"preview": "// +build gijit\n\npackage sync\n\nimport js \"github.com/gijit/gi/pkg/luaapi\"\n\nvar semWaiters = make(map[*uint32][]chan bool"
},
{
"path": "pkg/compiler/natives/src/sync/sync_test.go",
"chars": 577,
"preview": "// +build gijit\n\npackage sync_test\n\nimport (\n\t\"testing\"\n)\n\nfunc TestPool(t *testing.T) {\n\tt.Skip()\n}\n\nfunc TestPoolGC(t "
},
{
"path": "pkg/compiler/natives/src/sync/waitgroup.go",
"chars": 463,
"preview": "// +build gijit\n\npackage sync\n\ntype WaitGroup struct {\n\tcounter int\n\tch chan struct{}\n\n\tstate1 [12]byte\n\tsema uin"
},
{
"path": "pkg/compiler/natives/src/syscall/syscall.go",
"chars": 1349,
"preview": "// +build gijit\n\npackage syscall\n\nimport (\n\t\"unsafe\"\n\n\t\"github.com/gijit/gi/pkg/luaapi\"\n)\n\nvar warningPrinted = false\nva"
},
{
"path": "pkg/compiler/natives/src/syscall/syscall_linux.go",
"chars": 66,
"preview": "// +build gijit\n\npackage syscall\n\nconst exitTrap = SYS_EXIT_GROUP\n"
},
{
"path": "pkg/compiler/natives/src/syscall/syscall_nonlinux.go",
"chars": 67,
"preview": "// +build gijit,!linux\n\npackage syscall\n\nconst exitTrap = SYS_EXIT\n"
},
{
"path": "pkg/compiler/natives/src/syscall/syscall_unix.go",
"chars": 2937,
"preview": "// +build gijit,!windows\n\npackage syscall\n\nimport (\n\t\"runtime\"\n\t\"unsafe\"\n\n\tjs \"github.com/gijit/gi/pkg/luaapi\"\n)\n\nfunc r"
},
{
"path": "pkg/compiler/natives/src/syscall/syscall_windows.go",
"chars": 2366,
"preview": "// +build gijit\n\npackage syscall\n\nimport \"runtime\"\n\nvar minusOne = -1\n\nfunc Syscall(trap, nargs, a1, a2, a3 uintptr) (r1"
},
{
"path": "pkg/compiler/natives/src/testing/example.go",
"chars": 1427,
"preview": "// +build gijit\n\npackage testing\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n)\n\nfunc runExample(eg InternalExample) (ok bo"
},
{
"path": "pkg/compiler/natives/src/testing/ioutil.go",
"chars": 1166,
"preview": "// +build gijit\n\npackage testing\n\nimport (\n\t\"bytes\"\n\t\"io\"\n\t\"os\"\n\t\"strconv\"\n\t\"sync\"\n\t\"time\"\n)\n\nvar rand uint32\nvar randmu"
},
{
"path": "pkg/compiler/natives/src/testing/testing.go",
"chars": 589,
"preview": "// +build gijit\n\npackage testing\n\n// The upstream callerName and frameSkip rely on runtime.Callers,\n// and panic if ther"
},
{
"path": "pkg/compiler/natives/src/text/template/template.go",
"chars": 61,
"preview": "// +build gijit\n\npackage template\n\nconst maxExecDepth = 3000\n"
},
{
"path": "pkg/compiler/natives/src/time/time.go",
"chars": 2492,
"preview": "// +build gijit\n\npackage time\n\nimport (\n\t\"runtime\"\n\n\tjs \"github.com/gijit/gi/pkg/luaapi\"\n)\n\n// Make sure time.Unix func "
},
{
"path": "pkg/compiler/natives/src/unicode/unicode.go",
"chars": 603,
"preview": "// +build gijit\n\npackage unicode\n\nfunc to(_case int, r rune, caseRange []CaseRange) rune {\n\tif _case < 0 || MaxCase <= _"
},
{
"path": "pkg/compiler/newtyp_test.go",
"chars": 5188,
"preview": "package compiler\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"testing\"\n\n\tcv \"github.com/glycerine/goconvey/convey\"\n)\n\nvar _ = fmt.Print"
},
{
"path": "pkg/compiler/package.go",
"chars": 17784,
"preview": "package compiler\n\nimport (\n\t\"bytes\"\n\t\"os\"\n\t//\"encoding/json\"\n\t\"fmt\"\n\t\"github.com/gijit/gi/pkg/ast\"\n\t//\"github.com/gijit/"
},
{
"path": "pkg/compiler/panicon.go",
"chars": 232,
"preview": "package compiler\n\nimport (\n\t\"strings\"\n)\n\nfunc panicOn(err error) {\n\tif err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc panicOnNotNA"
},
{
"path": "pkg/compiler/prelude/__gijit_prelude",
"chars": 194,
"preview": "-- __gijit_prelude is a\n-- file whose presence lets us\n-- locate our __preludePath reliably.\n-- The contents of this fil"
},
{
"path": "pkg/compiler/prelude/absnow.lua",
"chars": 2376,
"preview": "-- native time queries\n\nlocal ffi = require(\"ffi\")\n\n-- establish a fine-grained __abs_now()\n-- that can be used for nano"
},
{
"path": "pkg/compiler/prelude/chan.lua",
"chars": 21822,
"preview": "-- chan.lua\n-- Derived from lua-channels.lua. Portions\n-- Copyright (c) 2013 Marek Majkowski\n-- used under the MIT licen"
},
{
"path": "pkg/compiler/prelude/chan_test.lua",
"chars": 8831,
"preview": "dofile 'channel.lua'\n\n\nlocal __chan_tests = {\n counter = function ()\n local done\n local function counter(c)\n"
},
{
"path": "pkg/compiler/prelude/complex.lua",
"chars": 14010,
"preview": "--\n-- complex number support\n--\n\n-- Portions of /usr/local/go/src/math/cmplx\n-- in the Go language distribution/Go stand"
},
{
"path": "pkg/compiler/prelude/defer.lua",
"chars": 6646,
"preview": "-- deferinit.lua : global setup for defer handling\n\n-- utility: table show\nfunction __ts(t)\n if t == nil then\n re"
},
{
"path": "pkg/compiler/prelude/dfs.lua",
"chars": 7136,
"preview": "-- depend.lua:\n--\n-- Implement Depth-First-Search (DFS)\n-- on the graph of depedencies\n-- between types. A pre-order"
},
{
"path": "pkg/compiler/prelude/int64.lua",
"chars": 2665,
"preview": "-- int64 uint64 helpers\n\nlocal ffi = require(\"ffi\")\n\n__bit = require(\"bit\")\n\nif jit.os == \"Windows\" then\n ffi.cdef[[\n "
},
{
"path": "pkg/compiler/prelude/math.lua",
"chars": 952,
"preview": "-- math helper functions\n\n-- x == math.huge -- test for +inf, inline\n\n-- x == -math.huge -- test for -inf, inline\n\n--"
},
{
"path": "pkg/compiler/prelude/prelude.lua",
"chars": 867,
"preview": "-- prelude defines things that should\n-- be available before any user code is run.\n\nfunction __gi_GetRangeCheck(x, i)\n "
},
{
"path": "pkg/compiler/prelude/reflect_goro.lua",
"chars": 3870,
"preview": "-- reflect_goro.lua:\n--\n-- refactor from goroutines.lua into\n-- their own file: implementation of\n-- send/receive/select"
},
{
"path": "pkg/compiler/prelude/rune.lua",
"chars": 2421,
"preview": "function __decodeRune(s, i)\n return {__utf8.sub(s, i+1, i+1), 1}\nend\n\n-- from gopherjs, ported to use bit ops.\n__bit ="
},
{
"path": "pkg/compiler/prelude/string.lua",
"chars": 790,
"preview": "\n__stringToRunes = function(str)\n local array = Int32Array(#str);\n local rune, j = 0;\n local i = 0\n local n = #str\n "
},
{
"path": "pkg/compiler/prelude/tsys.lua",
"chars": 101375,
"preview": "--\n-- tsys.lua provides the type system for gijit.\n--\n-- It started life as a port of the GopherJS type\n-- system to Lua"
}
]
// ... and 13811 more files (download for full content)
About this extraction
This page contains the full source code of the gijit/gi GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 14011 files (178.3 MB), approximately 27.1M tokens, and a symbol index with 16181 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.