Repository Analysis

tinygo-org/tinygo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

3.0 Likely human-written View on GitHub
3.0
Adjusted Score
3.0
Raw Score
100%
Time Factor
2026-05-29
Last Push
17,476
Stars
Go
Language
193,780
Lines of Code
1558
Files
593
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 2LOW 591

Pattern Findings

593 matches across 6 categories. Click a row to expand file-level details.

Over-Commented Block583 hits · 564 pts
SeverityFileLineSnippet
LOWdiff.go21//
LOWdiff.go181// tgs returns the pairs of indexes of the longest common subsequence
LOWmain.go2341
LOWtestdata/corpus.yaml1# This contains code from https://github.com/dgryski/tinygo-test-corpus
LOWtestdata/corpus.yaml241 - pkg: stat/distmat
LOWtestdata/corpus.yaml261 #- pkg: spatial/vptree # panic: unimplemented: (reflect.Value).MapKeys()
LOWtestdata/errors/compiler.go21// ERROR: compiler.go:4:6: can only use //go:wasmimport on declarations
LOWtestdata/errors/interp.go21// ERROR: # main
LOWtools/gen-device-svd/gen-device-svd.go941}
LOWtargets/wasm_exec.js1// Copyright 2018 The Go Authors. All rights reserved.
LOWinterp/memory.go1package interp
LOWinterp/memory.go581 if !llvmType.IsNil() && llvmType.TypeKind() != llvm.PointerTypeKind {
LOWinterp/interpreter.go81 // nodes before continuing with regular instructions.
LOWinterp/interpreter.go261 // already be emitted in initAll.
LOWinterp/interpreter.go281 if err != nil {
LOWinterp/interp.go81
LOWtests/text/template/smoke/smoke_test.go41 t := template.Must(template.New("letter").Parse(letter))
LOWtests/text/template/smoke/smoke_test.go61 //
LOWtests/text/template/smoke/smoke_test.go101 // Output:
LOWdocs/conf.py1# -*- coding: utf-8 -*-
LOWdocs/conf.py21# sys.path.insert(0, os.path.abspath('.'))
LOWdocs/conf.py61# The full version, including alpha/beta/rc tags.
LOWdocs/conf.py81# directories to ignore when looking for source files.
LOWdocs/conf.py101#
LOWdocs/conf.py121#
LOWdocs/conf.py141
LOWdocs/conf.py161
LOWdocs/conf.py181# html_sidebars = {}
LOWdocs/conf.py201#
LOWdocs/conf.py221# Language to be used for generating the HTML full-text search index.
LOWdocs/conf.py241
LOWdocs/conf.py261
LOWdocs/conf.py281#
LOWdocs/conf.py321# dir menu entry, description, category)
LOWdocs/conf.py341#
LOWcgo/libclang_config_llvm16.go1//go:build !byollvm && llvm16
LOWcgo/libclang_config_llvm17.go1//go:build !byollvm && llvm17
LOWcgo/libclang_config_llvm18.go1//go:build !byollvm && llvm18
LOWcgo/security.go1// Copyright 2018 The Go Authors. All rights reserved.
LOWcgo/libclang_config_llvm19.go1//go:build !byollvm && llvm19
LOWcgo/libclang.go21)
LOWcgo/libclang.go661 // https://clang.llvm.org/doxygen/classclang_1_1ElaboratedType.html#details
LOWcgo/cgo.go621 },
LOWcgo/cgo.go1361 }
LOWcgo/libclang_config_llvm20.go1//go:build !byollvm && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19
LOWcgo/libclang_config_llvm15.go1//go:build !byollvm && llvm15
LOWcgo/testdata/flags.go1package main
LOWcgo/testdata/errors.out.go1// CGo errors:
LOWcgo/testdata/errors.go21#define SOME_CONST_b 3 ) // const with lots of weird whitespace (to test error locations)
LOWloader/goroot.go301// always creates a symlink. On Windows, it tries to create a symlink and if
LOWloader/loader.go221 // tested package with *_test.go files, but excluding the original
LOWloader/loader.go301// Sorted returns a list of all packages, sorted in a way that no packages come
LOWbuilder/library.go41 librarySources func(target string, libcNeedsMalloc bool) ([]string, error)
LOWbuilder/buildid.go81 // Normally we would have found a build ID by now. But not on Nix,
LOWbuilder/cc.go21 "tinygo.org/x/go-llvm"
LOWbuilder/cc.go41// return outfile
LOWbuilder/cc.go241}
LOWbuilder/sizes_test.go21}
LOWbuilder/build.go41 // The executable directly from the linker, usually including debug
LOWbuilder/build.go61 // correctly printing test results: the import path isn't always the same as
523 more matches not shown…
Verbosity Indicators4 hits · 9 pts
SeverityFileLineSnippet
LOWsrc/machine/machine_nrf52840.go83 // Step 1: wait for new sampling to start for target buffer
LOWsrc/machine/machine_nrf52840.go88 // Step 2: swap out buffers for next recording so we don't continue to
LOWsrc/machine/machine_nrf52840.go94 // Step 3: wait for original event to end
LOWsrc/machine/machine_nrf52840.go98 // Step 4: wait for default buffer to start recording before proceeding
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippet
LOWtools/tgtestjson.sh6# TODO: let's just add -json support to tinygo test.
MEDIUMsrc/runtime/complex.go24 // Algorithm for robust complex division as described in
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMdocs/conf.py6# This file is execfile()d with the current directory set to its
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippet
LOWcompiler/llvm.go22// This is useful for creating temporary allocas for intrinsics. Don't forget to
LOWcompiler/llvmutil/llvm.go38// This is useful for creating temporary allocas for intrinsics. Don't forget to
Unused Imports1 hit · 1 pts
SeverityFileLineSnippet
LOWdocs/conf.py123