Repository Analysis

AssemblyScript/assemblyscript

A TypeScript-like language for WebAssembly.

2.3 Likely human-written View on GitHub
2.3
Adjusted Score
2.3
Raw Score
100%
Time Factor
2026-04-29
Last Push
17,920
Stars
WebAssembly
Language
125,571
Lines of Code
880
Files
120
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 51LOW 69

Pattern Findings

120 matches across 5 categories. Click a row to expand file-level details.

Decorative Section Separators50 hits · 218 pts
SeverityFileLineSnippet
MEDIUMstd/assembly/iterator.ts14 // ╒═══════════════════ Iterator layout (32-bit) ══════════════════╕
MEDIUMstd/assembly/iterator.ts19 // ├─────────────────────────────────────────────────────────┬───┬─┤
MEDIUMstd/assembly/iterator.ts21 // └─────────────────────────────────────────────────────────┴───┴─┘
MEDIUMstd/assembly/shared/typeinfo.ts3// ╒═══════════════════ Typeinfo interpretation ═══════════════════╕
MEDIUMstd/assembly/shared/typeinfo.ts8// ╞═══════════════════════════════════════════════════════════════╡ ┐
MEDIUMstd/assembly/shared/typeinfo.ts10// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/itcms.ts9// ╒═════════════╤══════════════ Colors ═══════════════════════════╕
MEDIUMstd/assembly/rt/itcms.ts11// ├─────────────┼─────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/itcms.ts16// └─────────────┴─────────────────────────────────────────────────┘
MEDIUMstd/assembly/rt/itcms.ts64// ╒═══════════════ Managed object layout (32-bit) ════════════════╕
MEDIUMstd/assembly/rt/itcms.ts69// ╞═══════════════════════════════════════════════════════════╤═══╡
MEDIUMstd/assembly/rt/itcms.ts71// ├───────────────────────────────────────────────────────────┴───┤
MEDIUMstd/assembly/rt/itcms.ts73// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/itcms.ts75// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/itcms.ts77// ╞>ptr═══════════════════════════════════════════════════════════╡
MEDIUMstd/assembly/rt/common.ts23// ╒════════════ Memory manager block layout (32-bit) ═════════════╕
MEDIUMstd/assembly/rt/common.ts28// ╞>ptr═══════════════════════════════════════════════════════════╡
MEDIUMstd/assembly/rt/common.ts45// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕
MEDIUMstd/assembly/rt/common.ts50// ╞═══════════════════════════════════════════════════════════════╡
MEDIUMstd/assembly/rt/common.ts52// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/common.ts54// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/common.ts56// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/common.ts58// ╞>ptr═══════════════════════════════════════════════════════════╡
MEDIUMstd/assembly/rt/tlsf.ts55// ╒════════════════════ Block layout (32-bit) ════════════════════╕
MEDIUMstd/assembly/rt/tlsf.ts60// ╞>ptr═══════════════════════════════════════════════════════╧═╧═╡ │ ┘
MEDIUMstd/assembly/rt/tlsf.ts62// ├───────────────────────────────────────────────────────────────┤ │
MEDIUMstd/assembly/rt/tlsf.ts64// ├───────────────────────────────────────────────────────────────┤ │
MEDIUMstd/assembly/rt/tlsf.ts66// ├───────────────────────────────────────────────────────────────┤ │
MEDIUMstd/assembly/rt/tlsf.ts68// └───────────────────────────────────────────────────────────────┘ >= MIN SIZE
MEDIUMstd/assembly/rt/tlsf.ts100// ╒═════════════════════ Root layout (32-bit) ════════════════════╕
MEDIUMstd/assembly/rt/tlsf.ts105// ╞═══════════════════════════════════════════════════════════════╡ │
MEDIUMstd/assembly/rt/tlsf.ts107// ├───────────────────────────────────────────────────────────────┤ │ │
MEDIUMstd/assembly/rt/tlsf.ts109// ├───────────────────────────────────────────────────────────────┤ u32 │
MEDIUMstd/assembly/rt/tlsf.ts111// ╞═══════════════════════════════════════════════════════════════╡ usize
MEDIUMstd/assembly/rt/tlsf.ts113// ├───────────────────────────────────────────────────────────────┤ │
MEDIUMstd/assembly/rt/tlsf.ts115// ├───────────────────────────────────────────────────────────────┤ │
MEDIUMstd/assembly/rt/tlsf.ts117// ╞═══════════════════════════════════════════════════════════════╡ │
MEDIUMstd/assembly/rt/tlsf.ts119// └───────────────────────────────────────────────────────────────┘ SIZE ┘
MEDIUMstd/assembly/rt/tlsf.ts11// ╒══════════════ Block size interpretation (32-bit) ═════════════╕
MEDIUMstd/assembly/rt/tlsf.ts16// └───────────────────────────────────────────────┴───────╨───────┘
MEDIUMstd/assembly/rt/tcms.ts7// ╒═════════════╤══════════════ Colors ═══════════════════════════╕
MEDIUMstd/assembly/rt/tcms.ts9// ├─────────────┼─────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/tcms.ts13// └─────────────┴─────────────────────────────────────────────────┘
MEDIUMstd/assembly/rt/tcms.ts44// ╒═══════════════ Managed object layout (32-bit) ════════════════╕
MEDIUMstd/assembly/rt/tcms.ts49// ╞═══════════════════════════════════════════════════════════╤═══╡
MEDIUMstd/assembly/rt/tcms.ts51// ├───────────────────────────────────────────────────────────┴───┤
MEDIUMstd/assembly/rt/tcms.ts53// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/tcms.ts55// ├───────────────────────────────────────────────────────────────┤
MEDIUMstd/assembly/rt/tcms.ts57// ╞>ptr═══════════════════════════════════════════════════════════╡
MEDIUMsrc/compiler.ts2608 // (?block $continue │ │ if loops: (incrementor) ─────┘
Over-Commented Block41 hits · 40 pts
SeverityFileLineSnippet
LOWutil/browser/path.js1import * as process from "./process.js";
LOWutil/browser/process.js21// Redistribution and use in source and binary forms, with or without
LOWtests/parser/class.ts.fixture.ts21}
LOWtests/parser/literals.ts.fixture.ts121// ERROR 6188: "Numeric separators are not allowed here." in literals.ts(103,2+0)
LOWtests/parser/union.ts.fixture.ts1export let a = 1;
LOW…sts/parser/definite-assignment-assertion.ts.fixture.ts21// ERROR 1263: "Declarations with initializers cannot also have definite assignment assertions." in definite-assignment-
LOWtests/parser/interface-errors.ts.fixture.ts21// ERROR 1176: "Interface declaration cannot have 'implements' clause." in interface-errors.ts(8,15+10)
LOWtests/parser/numeric-separators.ts.fixture.ts41// ERROR 6189: "Multiple consecutive numeric separators are not permitted." in numeric-separators.ts(21,6+0)
LOWtests/parser/tuple-errors.ts.fixture.ts1// ERROR 2456: "Type alias 'Loop' circularly references itself." in tuple-errors.ts(1,13+4)
LOWtests/compiler/call-inferred.ts41
LOWtests/compiler/features/relaxed-simd.ts81// r = i32x4.relaxed_dot_i8x16_i7x16_add_s(v, v, v);
LOWtests/compiler/std/string.ts801// Expected: 2.98023223876953125e-8
LOWtests/compiler/std/math.ts361// assert(test_acosh(1.00183940730320464, 0.0606439391272710696, -0.27641335129737854, INEXACT));
LOWtests/compiler/std/math.ts501// assert(test_asinh(0.24297705017513252, 0.240647613714979003, 0.464605927467346191, INEXACT));
LOWstd/assembly/iterator.ts1export abstract class Iterable<T> {
LOWstd/assembly/rt.ts61// // @ts-ignore: decorator
LOWstd/assembly/rt.ts81// // @ts-ignore: decorator
LOWstd/assembly/object.ts21 }
LOWstd/assembly/util/math.ts661 } else {
LOWstd/assembly/util/math.ts701 let scale = reinterpret<f64>(sbits);
LOWstd/assembly/util/math.ts1821 // #elif EXP_USE_TOINT_NARROW
LOWstd/assembly/rt/itcms.ts1import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE, PROFILE } from ".
LOWstd/assembly/rt/itcms.ts61// @ts-ignore: decorator
LOWstd/assembly/rt/common.ts41@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;
LOWstd/assembly/rt/tlsf.ts1import { AL_BITS, AL_SIZE, AL_MASK, DEBUG, BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./common";
LOWstd/assembly/rt/tlsf.ts21// @ts-ignore: decorator
LOWstd/assembly/rt/tlsf.ts41// [09]: < 128K [21]: < 512M
LOWstd/assembly/rt/tlsf.ts61// │ if free: ◄ prev │ ◄─┤ usize
LOWstd/assembly/rt/tlsf.ts101// 3 2 1
LOWstd/assembly/rt/tcms.ts1import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE } from "./common";
LOWstd/assembly/rt/tcms.ts41// @ts-ignore: decorator
LOWlib/loader/tests/index.js241 // assert.strictEqual(fn(2), 4);
LOWsrc/module.ts81 export const Noneref = binaryen._BinaryenTypeNullref();
LOWsrc/module.ts1381 return binaryen._BinaryenConst(this.ref, out);
LOWsrc/program.ts21// │ ├─TypedElement Base class of elements resolving to a type
LOWsrc/program.ts2881 // case BuiltinSymbols.Uint16Array: return Type.u16;
LOWsrc/compiler.ts2481 // (?block $continue
LOWsrc/compiler.ts2601 let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length;
LOWsrc/compiler.ts3281 // (body)
LOWsrc/bindings/js.ts61//
LOWsrc/bindings/js.ts81// - Interface Types `string` will be incompatible with JavaScript `String` and
Hyper-Verbose Identifiers27 hits · 28 pts
SeverityFileLineSnippet
LOWtests/parser/parameter-order.ts8function optionalCannotPrecedeRequired(a?: i32, b: i32): void {}
LOWtests/parser/parameter-order.ts11function optionalWithInitializerCannotPrecedeRequired(a: i32 = 1, b: i32): void {}
LOWtests/parser/parameter-order.ts.fixture.ts4function optionalCannotPrecedeRequired(a?: i32, b: i32): void {}
LOWtests/parser/parameter-order.ts.fixture.ts5function optionalWithInitializerCannotPrecedeRequired(a: i32 = 1, b: i32): void {}
LOWtests/compiler/possibly-null.ts55export function testNotNeNullContinuation(a: Ref | null): void {
LOWtests/compiler/do.ts63function testAlwaysTrueNeverBreaks(): i32 {
LOWtests/compiler/while.ts65function testAlwaysTrueNeverBreaks(): i32 {
LOWtests/compiler/while.ts179function testIfImplicitContinueThen(): void {
LOWtests/compiler/while.ts195function testIfImplicitContinueElse(): void {
LOWtests/compiler/switch.ts77function doSwitchFallThroughDefault(n: i32): i32 {
LOWtests/compiler/switch.ts285function doSwitchClassInstanceWithOverload(foo: BarClass | null): i32 {
LOWtests/compiler/managed-cast.ts46function testDowncastFromToNullable(animal: Animal | null): void {
LOWtests/compiler/std/array.ts971function createReverseOrderedArray(size: i32): Array<i32> {
LOWtests/compiler/std/array.ts989function createReverseOrderedNestedArray(size: i32): Array<Array<i32>> {
LOWtests/compiler/std/array.ts1008function createReverseOrderedElementsArray(size: i32): Array<Proxy<i32>> {
LOWtests/compiler/std/array.ts1065function assertStableSortedForComplexObjects(): void {
LOWtests/compiler/std/array-access.ts5export function stringArrayPropertyAccess(a: string[]): i32 {
LOWtests/compiler/std/array-access.ts13export function stringArrayArrayPropertyAccess(a: string[][]): i32 {
LOWtests/compiler/std/array-access.ts17export function stringArrayArrayMethodCall(a: string[][]): i32 {
LOWlib/loader/index.js291 function attachTypedArrayFunctions(ctor, name, align) {
LOWlib/loader/umd/index.js348 function attachTypedArrayFunctions(ctor, name, align) {
LOWsrc/tokenizer.ts380export function isIllegalVariableIdentifier(name: string): bool {
LOWsrc/index-wasm.ts285export function getDiagnosticRelatedRange(diagnostic: DiagnosticMessage): Range | null {
LOWsrc/diagnostics.ts87export function diagnosticCategoryToString(category: DiagnosticCategory): string {
LOWsrc/diagnostics.ts101export function diagnosticCategoryToColor(category: DiagnosticCategory): string {
LOWsrc/bindings/js.ts1525export function liftRequiresExportRuntime(type: Type): bool {
LOWsrc/bindings/js.ts1556export function lowerRequiresExportRuntime(type: Type): bool {
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMsrc/compiler.ts982 // utilize varargs stub to fill in omitted arguments
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippet
LOWbin/asinit.js170 "Don't forget to install dependencies before you start:",