diff --git a/src/common.ts b/src/common.ts index 2f7445a4e2..54ccd742b2 100644 --- a/src/common.ts +++ b/src/common.ts @@ -147,6 +147,7 @@ export namespace CommonNames { export const indexof = "indexof"; export const valueof = "valueof"; export const returnof = "returnof"; + export const nonnull = "nonnull"; // aliases export const null_ = "null"; export const true_ = "true"; diff --git a/src/program.ts b/src/program.ts index 319624095a..e614a0da5f 100644 --- a/src/program.ts +++ b/src/program.ts @@ -992,6 +992,12 @@ export class Program extends DiagnosticEmitter { this.makeNativeTypeDeclaration(CommonNames.returnof, CommonFlags.EXPORT | CommonFlags.GENERIC), DecoratorFlags.BUILTIN )); + this.nativeFile.add(CommonNames.nonnull, new TypeDefinition( + CommonNames.nonnull, + this.nativeFile, + this.makeNativeTypeDeclaration(CommonNames.nonnull, CommonFlags.EXPORT | CommonFlags.GENERIC), + DecoratorFlags.BUILTIN + )); // The following types might not be enabled by compiler options, so the // compiler needs to check this condition whenever such a value is created diff --git a/src/resolver.ts b/src/resolver.ts index a139664ac7..bb07488988 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -296,6 +296,7 @@ export class Resolver extends DiagnosticEmitter { if (text == CommonNames.indexof) return this.resolveBuiltinIndexofType(node, ctxElement, ctxTypes, reportMode); if (text == CommonNames.valueof) return this.resolveBuiltinValueofType(node, ctxElement, ctxTypes, reportMode); if (text == CommonNames.returnof) return this.resolveBuiltinReturnTypeType(node, ctxElement, ctxTypes, reportMode); + if (text == CommonNames.nonnull) return this.resolveBuiltinNotNullableType(node, ctxElement, ctxTypes, reportMode); } // Resolve normally @@ -438,19 +439,9 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.REPORT ): Type | null { - var typeArgumentNodes = node.typeArguments; - if (!typeArgumentNodes || typeArgumentNodes.length != 1) { - if (reportMode == ReportMode.REPORT) { - let numTypeArguments = 0; - if (typeArgumentNodes) numTypeArguments = typeArgumentNodes.length; - this.error( - DiagnosticCode.Expected_0_type_arguments_but_got_1, - node.range, "1", numTypeArguments.toString() - ); - } - return null; - } - var typeArgument = this.resolveType(typeArgumentNodes[0], ctxElement, ctxTypes, reportMode); + const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + var typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); if (!typeArgument) return null; switch (typeArgument.kind) { case TypeKind.I8: @@ -483,26 +474,16 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.REPORT ): Type | null { - var typeArgumentNodes = node.typeArguments; - if (!typeArgumentNodes || typeArgumentNodes.length != 1) { - if (reportMode == ReportMode.REPORT) { - let numTypeArguments = 0; - if (typeArgumentNodes) numTypeArguments = typeArgumentNodes.length; - this.error( - DiagnosticCode.Expected_0_type_arguments_but_got_1, - node.range, "1", numTypeArguments.toString() - ); - } - return null; - } - var typeArgument = this.resolveType(typeArgumentNodes[0], ctxElement, ctxTypes, reportMode); + const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + var typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); if (!typeArgument) return null; var classReference = typeArgument.classReference; if (!classReference) { if (reportMode == ReportMode.REPORT) { this.error( DiagnosticCode.Index_signature_is_missing_in_type_0, - typeArgumentNodes[0].range, typeArgument.toString() + typeArgumentNode.range, typeArgument.toString() ); } return null; @@ -520,7 +501,7 @@ export class Resolver extends DiagnosticEmitter { if (reportMode == ReportMode.REPORT) { this.error( DiagnosticCode.Index_signature_is_missing_in_type_0, - typeArgumentNodes[0].range, typeArgument.toString() + typeArgumentNode.range, typeArgument.toString() ); } return null; @@ -536,19 +517,9 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.REPORT ): Type | null { - var typeArgumentNodes = node.typeArguments; - if (!typeArgumentNodes || typeArgumentNodes.length != 1) { - let numTypeArguments = 0; - if (typeArgumentNodes) numTypeArguments = typeArgumentNodes.length; - if (reportMode == ReportMode.REPORT) { - this.error( - DiagnosticCode.Expected_0_type_arguments_but_got_1, - node.range, "1", numTypeArguments.toString() - ); - } - return null; - } - var typeArgument = this.resolveType(typeArgumentNodes[0], ctxElement, ctxTypes, reportMode); + const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + var typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); if (!typeArgument) return null; var classReference = typeArgument.getClassOrWrapper(this.program); if (classReference) { @@ -558,7 +529,7 @@ export class Resolver extends DiagnosticEmitter { if (reportMode == ReportMode.REPORT) { this.error( DiagnosticCode.Index_signature_is_missing_in_type_0, - typeArgumentNodes[0].range, typeArgument.toString() + typeArgumentNode.range, typeArgument.toString() ); } return null; @@ -574,31 +545,39 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventualy diagnostics. */ reportMode: ReportMode = ReportMode.REPORT ): Type | null { - var typeArgumentNodes = node.typeArguments; - if (!typeArgumentNodes || typeArgumentNodes.length != 1) { - if (reportMode == ReportMode.REPORT) { - let numTypeArguments = 0; - if (typeArgumentNodes) numTypeArguments = typeArgumentNodes.length; - this.error( - DiagnosticCode.Expected_0_type_arguments_but_got_1, - node.range, "1", numTypeArguments.toString() - ); - } - return null; - } - var typeArgument = this.resolveType(typeArgumentNodes[0], ctxElement, ctxTypes, reportMode); + const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + var typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); if (!typeArgument) return null; var signatureReference = typeArgument.getSignature(); if (signatureReference) return signatureReference.returnType; if (reportMode == ReportMode.REPORT) { this.error( DiagnosticCode.Type_0_has_no_call_signatures, - typeArgumentNodes[0].range, typeArgument.toString() + typeArgumentNode.range, typeArgument.toString() ); } return null; } + private resolveBuiltinNotNullableType( + /** The type to resolve. */ + node: NamedTypeNode, + /** Contextual element. */ + ctxElement: Element, + /** Contextual types, i.e. `T`. */ + ctxTypes: Map | null = null, + /** How to proceed with eventual diagnostics. */ + reportMode: ReportMode = ReportMode.REPORT + ): Type | null { + const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + var typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); + if (!typeArgument) return null; + if (!typeArgument.isNullableReference) return typeArgument; + return typeArgument.nonNullableType; + } + /** Resolves a type name to the program element it refers to. */ resolveTypeName( /** The type name to resolve. */ @@ -3362,4 +3341,24 @@ export class Resolver extends DiagnosticEmitter { } return instance; } + + private ensureOneTypeArgument( + /** The type to resolve. */ + node: NamedTypeNode, + /** How to proceed with eventual diagnostics. */ + reportMode: ReportMode = ReportMode.REPORT + ): TypeNode | null { + var typeArgumentNodes = node.typeArguments; + let numTypeArguments = 0; + if (!typeArgumentNodes || (numTypeArguments = typeArgumentNodes.length) != 1) { + if (reportMode == ReportMode.REPORT) { + this.error( + DiagnosticCode.Expected_0_type_arguments_but_got_1, + node.range, "1", numTypeArguments.toString() + ); + } + return null; + } + return typeArgumentNodes[0]; + } } diff --git a/std/assembly/compat.ts b/std/assembly/compat.ts index 372e4aa04f..669bb16fb1 100644 --- a/std/assembly/compat.ts +++ b/std/assembly/compat.ts @@ -1 +1,2 @@ export type ReturnType = returnof; +export type NonNullable = nonnull; diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 73495ffac5..862b9914c3 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -1314,6 +1314,10 @@ declare type valueof = T[0]; declare type ReturnType any> = T extends (...args: any) => infer R ? R : any; /** A special type evaluated to the return type of T if T is a callable function. */ declare type returnof any> = ReturnType; +/** A special type that excludes null and undefined from T. */ +declare type NonNullable = T extends null | undefined ? never : T; +/** A special type that excludes null and undefined from T. */ +declare type nonnull = NonNullable; /** Pseudo-class representing the backing class of integer types. */ declare class _Integer { diff --git a/tests/asconfig/complicated/asconfig.json b/tests/asconfig/complicated/asconfig.json index 7f5d4c8c57..0a8e106ebc 100644 --- a/tests/asconfig/complicated/asconfig.json +++ b/tests/asconfig/complicated/asconfig.json @@ -14,4 +14,4 @@ "initialMemory": 100, "enable": ["simd"] } -} \ No newline at end of file +} diff --git a/tests/asconfig/extends/expected.json b/tests/asconfig/extends/expected.json index c212ff76d8..1c542ae118 100644 --- a/tests/asconfig/extends/expected.json +++ b/tests/asconfig/extends/expected.json @@ -5,4 +5,4 @@ "noAssert": true, "enable": ["simd"] } -} \ No newline at end of file +} diff --git a/tests/asconfig/target/expected.json b/tests/asconfig/target/expected.json index 9608315490..1a9e43f149 100644 --- a/tests/asconfig/target/expected.json +++ b/tests/asconfig/target/expected.json @@ -3,4 +3,4 @@ "exportRuntime": false, "noAssert": true } -} \ No newline at end of file +} diff --git a/tests/compiler/NonNullable.optimized.wat b/tests/compiler/NonNullable.optimized.wat new file mode 100644 index 0000000000..ddbf4dbb62 --- /dev/null +++ b/tests/compiler/NonNullable.optimized.wat @@ -0,0 +1,279 @@ +(module + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $none_=>_none (func)) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 17708)) + (memory $0 1) + (data (i32.const 1036) "\1c") + (data (i32.const 1048) "\01\00\00\00\06\00\00\00u\003\002") + (data (i32.const 1068) ",") + (data (i32.const 1080) "\01\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s") + (data (i32.const 1116) "\1c") + (data (i32.const 1128) "\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data (i32.const 1148) "L") + (data (i32.const 1160) "\01\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>") + (data (i32.const 1228) "\1c") + (data (i32.const 1240) "\01\00\00\00\02\00\00\00z") + (data (i32.const 1260) "<") + (data (i32.const 1272) "\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l") + (export "memory" (memory $0)) + (start $~start) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.const 0 + local.get $0 + select + i32.eqz + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.set $2 + local.get $1 + local.set $3 + local.get $2 + i32.const 7 + i32.and + local.get $3 + i32.const 7 + i32.and + i32.or + i32.const 1 + local.get $4 + local.tee $0 + i32.const 4 + i32.ge_u + select + i32.eqz + if + loop $do-continue|0 + local.get $2 + i64.load + local.get $3 + i64.load + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $1 + if + local.get $2 + i32.load16_u + local.tee $1 + local.get $3 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $1 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) + (func $~start + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1324 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 1056 + i32.store + local.get $0 + i32.const 1056 + i32.store offset=4 + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 3 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1136 + i32.store + local.get $0 + i32.const 1136 + i32.store offset=4 + i32.const 1136 + i32.const 1136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 4 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1168 + i32.store + local.get $0 + i32.const 1168 + i32.store offset=4 + i32.const 1168 + i32.const 1168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 5 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1248 + i32.store offset=8 + local.get $0 + i32.const 1248 + i32.store + i32.const 1248 + i32.const 0 + call $~lib/string/String.__eq + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1248 + i32.store + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1324 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1248 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1248 + i32.store + i32.const 1248 + i32.const 0 + call $~lib/string/String.__eq + br_if $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 17728 + i32.const 17776 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1088 + i32.const 9 + i32.const 3 + call $~lib/builtins/abort + unreachable + ) +) diff --git a/tests/compiler/NonNullable.ts b/tests/compiler/NonNullable.ts new file mode 100644 index 0000000000..b06ddec286 --- /dev/null +++ b/tests/compiler/NonNullable.ts @@ -0,0 +1,21 @@ +type nullableString = string | null; + +assert(nameof>() == nameof()); +assert(nameof>() == nameof()); +assert(nameof>() == nameof()); + +function assertNonNull(t: T): void { + assert(!isNullable(), "T cannot be null"); + assert(t != null); +} + +function safetyCheck(t: A): void { + if (t != null) { + assertNonNull(>t); + } +} + +let z: nullableString = "z"; + +assertNonNull>(z!); +safetyCheck(z); diff --git a/tests/compiler/NonNullable.untouched.wat b/tests/compiler/NonNullable.untouched.wat new file mode 100644 index 0000000000..3ab9ac7798 --- /dev/null +++ b/tests/compiler/NonNullable.untouched.wat @@ -0,0 +1,373 @@ +(module + (type $none_=>_none (func)) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_=>_none (func (param i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $NonNullable/z (mut i32) (i32.const 224)) + (global $~lib/memory/__data_end i32 (i32.const 300)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 16684)) + (global $~lib/memory/__heap_base i32 (i32.const 16684)) + (memory $0 1) + (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") + (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s\00") + (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data (i32.const 124) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1e\00\00\00u\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00n\00u\00l\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (table $0 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/string/String#get:length (param $0 i32) (result i32) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + ) + (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $4 + i32.const 4 + i32.ge_u + if (result i32) + local.get $5 + i32.const 7 + i32.and + local.get $6 + i32.const 7 + i32.and + i32.or + i32.eqz + else + i32.const 0 + end + if + block $do-break|0 + loop $do-continue|0 + local.get $5 + i64.load + local.get $6 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $6 + i32.const 8 + i32.add + local.set $6 + local.get $4 + i32.const 4 + i32.sub + local.set $4 + local.get $4 + i32.const 4 + i32.ge_u + local.set $7 + local.get $7 + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $4 + local.tee $7 + i32.const 1 + i32.sub + local.set $4 + local.get $7 + local.set $7 + local.get $7 + if + local.get $5 + i32.load16_u + local.set $8 + local.get $6 + i32.load16_u + local.set $9 + local.get $8 + local.get $9 + i32.ne + if + local.get $8 + local.get $9 + i32.sub + return + end + local.get $5 + i32.const 2 + i32.add + local.set $5 + local.get $6 + i32.const 2 + i32.add + local.set $6 + br $while-continue|1 + end + end + i32.const 0 + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) + (func $~lib/string/String.__ne (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + ) + (func $NonNullable/assertNonNull<~lib/string/String> (param $0 i32) + i32.const 0 + i32.eqz + drop + local.get $0 + i32.const 0 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 9 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + ) + (func $~start + call $start:NonNullable + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 16704 + i32.const 16752 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $NonNullable/safetyCheck<~lib/string/String|null> (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 0 + call $~lib/string/String.__ne + if + local.get $0 + local.tee $1 + if (result i32) + local.get $1 + else + i32.const 256 + i32.const 64 + i32.const 14 + i32.const 35 + call $~lib/builtins/abort + unreachable + end + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $NonNullable/assertNonNull<~lib/string/String> + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:NonNullable + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 32 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 32 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 3 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 112 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 112 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 4 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 144 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 144 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 5 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $NonNullable/z + local.tee $0 + i32.store offset=8 + local.get $0 + if (result i32) + local.get $0 + else + i32.const 256 + i32.const 64 + i32.const 20 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $NonNullable/assertNonNull<~lib/string/String> + global.get $NonNullable/z + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $NonNullable/safetyCheck<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) +) diff --git a/tests/compiler/ReturnType.json b/tests/compiler/ReturnType.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/ReturnType.json +++ b/tests/compiler/ReturnType.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/abi.json b/tests/compiler/abi.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/abi.json +++ b/tests/compiler/abi.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/asc-constants.json b/tests/compiler/asc-constants.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/asc-constants.json +++ b/tests/compiler/asc-constants.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/assert-nonnull.json b/tests/compiler/assert-nonnull.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/assert-nonnull.json +++ b/tests/compiler/assert-nonnull.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/assert.json b/tests/compiler/assert.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/assert.json +++ b/tests/compiler/assert.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/basic-nullable.json b/tests/compiler/basic-nullable.json index b44318af20..8a239581d5 100644 --- a/tests/compiler/basic-nullable.json +++ b/tests/compiler/basic-nullable.json @@ -5,4 +5,4 @@ "AS204: Type 'i32' cannot be nullable.", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/binary.json b/tests/compiler/binary.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/binary.json +++ b/tests/compiler/binary.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/bool.json b/tests/compiler/bool.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/bool.json +++ b/tests/compiler/bool.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/builtins.json b/tests/compiler/builtins.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/builtins.json +++ b/tests/compiler/builtins.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/call-inferred.json b/tests/compiler/call-inferred.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/call-inferred.json +++ b/tests/compiler/call-inferred.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/call-optional.json b/tests/compiler/call-optional.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/call-optional.json +++ b/tests/compiler/call-optional.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/call-super.json b/tests/compiler/call-super.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/call-super.json +++ b/tests/compiler/call-super.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/class-abstract-errors.json b/tests/compiler/class-abstract-errors.json index fffa589f5b..5482cd9174 100644 --- a/tests/compiler/class-abstract-errors.json +++ b/tests/compiler/class-abstract-errors.json @@ -7,4 +7,4 @@ "TS2515: Non-abstract class 'class-abstract-errors/Baz' does not implement inherited abstract member 'a'", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/class-extends.json b/tests/compiler/class-extends.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/class-extends.json +++ b/tests/compiler/class-extends.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/class-implements.json b/tests/compiler/class-implements.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/class-implements.json +++ b/tests/compiler/class-implements.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/class-overloading.json b/tests/compiler/class-overloading.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/class-overloading.json +++ b/tests/compiler/class-overloading.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/class-static-function.json b/tests/compiler/class-static-function.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/class-static-function.json +++ b/tests/compiler/class-static-function.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/class.json b/tests/compiler/class.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/class.json +++ b/tests/compiler/class.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/closure.json b/tests/compiler/closure.json index d4aa655329..75907cebe4 100644 --- a/tests/compiler/closure.json +++ b/tests/compiler/closure.json @@ -10,4 +10,4 @@ "$local0; // closure 3", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/comma.json b/tests/compiler/comma.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/comma.json +++ b/tests/compiler/comma.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/constant-assign.json b/tests/compiler/constant-assign.json index 93add47109..67ddc79096 100644 --- a/tests/compiler/constant-assign.json +++ b/tests/compiler/constant-assign.json @@ -9,4 +9,4 @@ "TS2540: Cannot assign to", "a = 2;", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/constructor.json b/tests/compiler/constructor.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/constructor.json +++ b/tests/compiler/constructor.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/continue.json b/tests/compiler/continue.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/continue.json +++ b/tests/compiler/continue.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/converge.json b/tests/compiler/converge.json index cde60dc56e..9208cfe9d6 100644 --- a/tests/compiler/converge.json +++ b/tests/compiler/converge.json @@ -2,4 +2,4 @@ "asc_flags": [ "--converge" ] -} \ No newline at end of file +} diff --git a/tests/compiler/declare.json b/tests/compiler/declare.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/declare.json +++ b/tests/compiler/declare.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/do.json b/tests/compiler/do.json index 5709811e4b..a3487fc1c7 100644 --- a/tests/compiler/do.json +++ b/tests/compiler/do.json @@ -1,3 +1,3 @@ { "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/duplicate-identifier.json b/tests/compiler/duplicate-identifier.json index 522a879cd9..a3f82cc818 100644 --- a/tests/compiler/duplicate-identifier.json +++ b/tests/compiler/duplicate-identifier.json @@ -10,4 +10,4 @@ "TS2300: Duplicate identifier 'f'", "let f: f32", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/empty-use.json b/tests/compiler/empty-use.json index f7ec67e6e9..29b0f194e5 100644 --- a/tests/compiler/empty-use.json +++ b/tests/compiler/empty-use.json @@ -6,4 +6,4 @@ "TS2304: Cannot find name 'Date'.", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/enum.json b/tests/compiler/enum.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/enum.json +++ b/tests/compiler/enum.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/export-default.json b/tests/compiler/export-default.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/export-default.json +++ b/tests/compiler/export-default.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/export-generic.json b/tests/compiler/export-generic.json index 98f5dfcd76..92e8dd2763 100644 --- a/tests/compiler/export-generic.json +++ b/tests/compiler/export-generic.json @@ -13,4 +13,4 @@ "AS232: Exported generic function or class has no concrete instances.", "export class TestNamespacedClass" ] -} \ No newline at end of file +} diff --git a/tests/compiler/export.json b/tests/compiler/export.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/export.json +++ b/tests/compiler/export.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/exportimport-table.json b/tests/compiler/exportimport-table.json index 673cf3c31c..ee90f77c52 100644 --- a/tests/compiler/exportimport-table.json +++ b/tests/compiler/exportimport-table.json @@ -3,4 +3,4 @@ "--importTable", "--exportTable" ] -} \ No newline at end of file +} diff --git a/tests/compiler/exports-lazy.json b/tests/compiler/exports-lazy.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/exports-lazy.json +++ b/tests/compiler/exports-lazy.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/exports.json b/tests/compiler/exports.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/exports.json +++ b/tests/compiler/exports.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/exportstar-rereexport.json b/tests/compiler/exportstar-rereexport.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/exportstar-rereexport.json +++ b/tests/compiler/exportstar-rereexport.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/exportstar.json b/tests/compiler/exportstar.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/exportstar.json +++ b/tests/compiler/exportstar.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/extends-recursive.json b/tests/compiler/extends-recursive.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/extends-recursive.json +++ b/tests/compiler/extends-recursive.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/extends-self.json b/tests/compiler/extends-self.json index a3cf85015e..839343b16a 100644 --- a/tests/compiler/extends-self.json +++ b/tests/compiler/extends-self.json @@ -5,4 +5,4 @@ "TS2506", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/external.json b/tests/compiler/external.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/external.json +++ b/tests/compiler/external.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/features/reference-types.json b/tests/compiler/features/reference-types.json index 93bb76dff8..8f72a8bff4 100644 --- a/tests/compiler/features/reference-types.json +++ b/tests/compiler/features/reference-types.json @@ -6,4 +6,4 @@ ], "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/field-initialization-errors.json b/tests/compiler/field-initialization-errors.json index 5eabd4e467..3769b587f1 100644 --- a/tests/compiler/field-initialization-errors.json +++ b/tests/compiler/field-initialization-errors.json @@ -16,4 +16,4 @@ "TS2564: Property 'field-initialization-errors/Inherit_Base.a' has no initializer", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/field-initialization-warnings.json b/tests/compiler/field-initialization-warnings.json index ccbf9265ff..b2fe2adfa8 100644 --- a/tests/compiler/field-initialization-warnings.json +++ b/tests/compiler/field-initialization-warnings.json @@ -6,4 +6,4 @@ "AS233: Property 'field-initialization-warnings/Ref_Ctor_Init.a' is always assigned", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/field-initialization.json b/tests/compiler/field-initialization.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/field-initialization.json +++ b/tests/compiler/field-initialization.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/for.json b/tests/compiler/for.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/for.json +++ b/tests/compiler/for.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/function-call.json b/tests/compiler/function-call.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/function-call.json +++ b/tests/compiler/function-call.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/function-types.json b/tests/compiler/function-types.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/function-types.json +++ b/tests/compiler/function-types.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/getter-call.json b/tests/compiler/getter-call.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/getter-call.json +++ b/tests/compiler/getter-call.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/getter-setter.json b/tests/compiler/getter-setter.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/getter-setter.json +++ b/tests/compiler/getter-setter.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/heap.json b/tests/compiler/heap.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/heap.json +++ b/tests/compiler/heap.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/if.json b/tests/compiler/if.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/if.json +++ b/tests/compiler/if.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/implicit-getter-setter.json b/tests/compiler/implicit-getter-setter.json index 7a73a41bfd..2c63c08510 100644 --- a/tests/compiler/implicit-getter-setter.json +++ b/tests/compiler/implicit-getter-setter.json @@ -1,2 +1,2 @@ { -} \ No newline at end of file +} diff --git a/tests/compiler/import.json b/tests/compiler/import.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/import.json +++ b/tests/compiler/import.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/indexof-valueof.json b/tests/compiler/indexof-valueof.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/indexof-valueof.json +++ b/tests/compiler/indexof-valueof.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/infer-array.json b/tests/compiler/infer-array.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/infer-array.json +++ b/tests/compiler/infer-array.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/infer-generic.json b/tests/compiler/infer-generic.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/infer-generic.json +++ b/tests/compiler/infer-generic.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/infer-type.json b/tests/compiler/infer-type.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/infer-type.json +++ b/tests/compiler/infer-type.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/inlining-blocklocals.json b/tests/compiler/inlining-blocklocals.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/inlining-blocklocals.json +++ b/tests/compiler/inlining-blocklocals.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/inlining-recursive.json b/tests/compiler/inlining-recursive.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/inlining-recursive.json +++ b/tests/compiler/inlining-recursive.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/inlining.json b/tests/compiler/inlining.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/inlining.json +++ b/tests/compiler/inlining.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/instanceof-class.json b/tests/compiler/instanceof-class.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/instanceof-class.json +++ b/tests/compiler/instanceof-class.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/instanceof.json b/tests/compiler/instanceof.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/instanceof.json +++ b/tests/compiler/instanceof.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/issues/1095.json b/tests/compiler/issues/1095.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/issues/1095.json +++ b/tests/compiler/issues/1095.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/issues/1225.json b/tests/compiler/issues/1225.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/issues/1225.json +++ b/tests/compiler/issues/1225.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/limits.json b/tests/compiler/limits.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/limits.json +++ b/tests/compiler/limits.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/literals.json b/tests/compiler/literals.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/literals.json +++ b/tests/compiler/literals.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/logical.json b/tests/compiler/logical.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/logical.json +++ b/tests/compiler/logical.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/loop-flow.json b/tests/compiler/loop-flow.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/loop-flow.json +++ b/tests/compiler/loop-flow.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/loop-wrap.json b/tests/compiler/loop-wrap.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/loop-wrap.json +++ b/tests/compiler/loop-wrap.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/managed-cast.json b/tests/compiler/managed-cast.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/managed-cast.json +++ b/tests/compiler/managed-cast.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/many-locals.json b/tests/compiler/many-locals.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/many-locals.json +++ b/tests/compiler/many-locals.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/memcpy.json b/tests/compiler/memcpy.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/memcpy.json +++ b/tests/compiler/memcpy.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/memmove.json b/tests/compiler/memmove.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/memmove.json +++ b/tests/compiler/memmove.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/memory.json b/tests/compiler/memory.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/memory.json +++ b/tests/compiler/memory.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/memorybase.json b/tests/compiler/memorybase.json index bf2639fb63..6349eac2ae 100644 --- a/tests/compiler/memorybase.json +++ b/tests/compiler/memorybase.json @@ -2,4 +2,4 @@ "asc_flags": [ "--memoryBase 1024" ] -} \ No newline at end of file +} diff --git a/tests/compiler/memset.json b/tests/compiler/memset.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/memset.json +++ b/tests/compiler/memset.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/merge.json b/tests/compiler/merge.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/merge.json +++ b/tests/compiler/merge.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/named-export-default.json b/tests/compiler/named-export-default.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/named-export-default.json +++ b/tests/compiler/named-export-default.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/named-import-default.json b/tests/compiler/named-import-default.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/named-import-default.json +++ b/tests/compiler/named-import-default.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/namespace.json b/tests/compiler/namespace.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/namespace.json +++ b/tests/compiler/namespace.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/new.json b/tests/compiler/new.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/new.json +++ b/tests/compiler/new.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/nonnullable.json b/tests/compiler/nonnullable.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/nonnullable.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/nullable.json b/tests/compiler/nullable.json index d3a557bf65..fdef0a1a3b 100644 --- a/tests/compiler/nullable.json +++ b/tests/compiler/nullable.json @@ -5,4 +5,4 @@ "TS2322: Type 'nullable/Example | null' is not assignable to type 'nullable/Example'.", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/number.json b/tests/compiler/number.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/number.json +++ b/tests/compiler/number.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/object-literal.json b/tests/compiler/object-literal.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/object-literal.json +++ b/tests/compiler/object-literal.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/optional-typeparameters.json b/tests/compiler/optional-typeparameters.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/optional-typeparameters.json +++ b/tests/compiler/optional-typeparameters.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/overflow.json b/tests/compiler/overflow.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/overflow.json +++ b/tests/compiler/overflow.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/portable-conversions.json b/tests/compiler/portable-conversions.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/portable-conversions.json +++ b/tests/compiler/portable-conversions.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/possibly-null.json b/tests/compiler/possibly-null.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/possibly-null.json +++ b/tests/compiler/possibly-null.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/recursive.json b/tests/compiler/recursive.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/recursive.json +++ b/tests/compiler/recursive.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/reexport.json b/tests/compiler/reexport.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/reexport.json +++ b/tests/compiler/reexport.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/rereexport.json b/tests/compiler/rereexport.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/rereexport.json +++ b/tests/compiler/rereexport.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/resolve-binary.json b/tests/compiler/resolve-binary.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/resolve-binary.json +++ b/tests/compiler/resolve-binary.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/resolve-elementaccess.json b/tests/compiler/resolve-elementaccess.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/resolve-elementaccess.json +++ b/tests/compiler/resolve-elementaccess.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/resolve-function-expression.json b/tests/compiler/resolve-function-expression.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/resolve-function-expression.json +++ b/tests/compiler/resolve-function-expression.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/resolve-nested.json b/tests/compiler/resolve-nested.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/resolve-nested.json +++ b/tests/compiler/resolve-nested.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/resolve-new.json b/tests/compiler/resolve-new.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/resolve-new.json +++ b/tests/compiler/resolve-new.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/resolve-propertyaccess.json b/tests/compiler/resolve-propertyaccess.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/resolve-propertyaccess.json +++ b/tests/compiler/resolve-propertyaccess.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/resolve-unary.json b/tests/compiler/resolve-unary.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/resolve-unary.json +++ b/tests/compiler/resolve-unary.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/retain-i32.json b/tests/compiler/retain-i32.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/retain-i32.json +++ b/tests/compiler/retain-i32.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/finalize.json b/tests/compiler/rt/finalize.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/rt/finalize.json +++ b/tests/compiler/rt/finalize.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/flags.json b/tests/compiler/rt/flags.json index be2492774d..452f164780 100644 --- a/tests/compiler/rt/flags.json +++ b/tests/compiler/rt/flags.json @@ -4,4 +4,4 @@ ], "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/ids.json b/tests/compiler/rt/ids.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/rt/ids.json +++ b/tests/compiler/rt/ids.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/instanceof.json b/tests/compiler/rt/instanceof.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/rt/instanceof.json +++ b/tests/compiler/rt/instanceof.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/runtime-incremental-export.json b/tests/compiler/rt/runtime-incremental-export.json index 45a22d0d52..e6aec828e6 100644 --- a/tests/compiler/rt/runtime-incremental-export.json +++ b/tests/compiler/rt/runtime-incremental-export.json @@ -3,4 +3,4 @@ "--runtime", "incremental", "--exportRuntime" ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/runtime-incremental.json b/tests/compiler/rt/runtime-incremental.json index 5509d05509..d269004c58 100644 --- a/tests/compiler/rt/runtime-incremental.json +++ b/tests/compiler/rt/runtime-incremental.json @@ -2,4 +2,4 @@ "asc_flags": [ "--runtime", "incremental" ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/runtime-minimal-export.json b/tests/compiler/rt/runtime-minimal-export.json index e331f5f8b0..5a1c51bc88 100644 --- a/tests/compiler/rt/runtime-minimal-export.json +++ b/tests/compiler/rt/runtime-minimal-export.json @@ -3,4 +3,4 @@ "--runtime", "minimal", "--exportRuntime" ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/runtime-minimal.json b/tests/compiler/rt/runtime-minimal.json index db5353b1d0..6b2a4893c3 100644 --- a/tests/compiler/rt/runtime-minimal.json +++ b/tests/compiler/rt/runtime-minimal.json @@ -2,4 +2,4 @@ "asc_flags": [ "--runtime", "minimal" ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/runtime-stub-export.json b/tests/compiler/rt/runtime-stub-export.json index e0084d52c2..79c640c351 100644 --- a/tests/compiler/rt/runtime-stub-export.json +++ b/tests/compiler/rt/runtime-stub-export.json @@ -3,4 +3,4 @@ "--runtime", "stub", "--exportRuntime" ] -} \ No newline at end of file +} diff --git a/tests/compiler/rt/runtime-stub.json b/tests/compiler/rt/runtime-stub.json index c974f19a29..8e0a066281 100644 --- a/tests/compiler/rt/runtime-stub.json +++ b/tests/compiler/rt/runtime-stub.json @@ -2,4 +2,4 @@ "asc_flags": [ "--runtime", "stub" ] -} \ No newline at end of file +} diff --git a/tests/compiler/scoped.json b/tests/compiler/scoped.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/scoped.json +++ b/tests/compiler/scoped.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/static-this.json b/tests/compiler/static-this.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/static-this.json +++ b/tests/compiler/static-this.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/array-access.json b/tests/compiler/std/array-access.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/array-access.json +++ b/tests/compiler/std/array-access.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/array-literal.json b/tests/compiler/std/array-literal.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/array-literal.json +++ b/tests/compiler/std/array-literal.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/array.json b/tests/compiler/std/array.json index 2aa1e66970..f38dcdc11d 100644 --- a/tests/compiler/std/array.json +++ b/tests/compiler/std/array.json @@ -3,4 +3,4 @@ "--explicitStart" ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/arraybuffer.json b/tests/compiler/std/arraybuffer.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/arraybuffer.json +++ b/tests/compiler/std/arraybuffer.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/dataview.json b/tests/compiler/std/dataview.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/dataview.json +++ b/tests/compiler/std/dataview.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/date.json b/tests/compiler/std/date.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/std/date.json +++ b/tests/compiler/std/date.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/hash.json b/tests/compiler/std/hash.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/hash.json +++ b/tests/compiler/std/hash.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/map.json b/tests/compiler/std/map.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/map.json +++ b/tests/compiler/std/map.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/math.json b/tests/compiler/std/math.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/math.json +++ b/tests/compiler/std/math.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/mod.json b/tests/compiler/std/mod.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/mod.json +++ b/tests/compiler/std/mod.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/new.json b/tests/compiler/std/new.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/new.json +++ b/tests/compiler/std/new.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/operator-overloading.json b/tests/compiler/std/operator-overloading.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/operator-overloading.json +++ b/tests/compiler/std/operator-overloading.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/pointer.json b/tests/compiler/std/pointer.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/pointer.json +++ b/tests/compiler/std/pointer.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/polyfills.json b/tests/compiler/std/polyfills.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/polyfills.json +++ b/tests/compiler/std/polyfills.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/set.json b/tests/compiler/std/set.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/set.json +++ b/tests/compiler/std/set.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/simd.json b/tests/compiler/std/simd.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/simd.json +++ b/tests/compiler/std/simd.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/static-array.json b/tests/compiler/std/static-array.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/static-array.json +++ b/tests/compiler/std/static-array.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/staticarray.json b/tests/compiler/std/staticarray.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/staticarray.json +++ b/tests/compiler/std/staticarray.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/string-casemapping.js b/tests/compiler/std/string-casemapping.js index b944c36cf8..0190d58097 100644 --- a/tests/compiler/std/string-casemapping.js +++ b/tests/compiler/std/string-casemapping.js @@ -9,4 +9,4 @@ exports.preInstantiate = function preInstantiate(imports) { return code !== undefined ? code : -1; } }; -}; \ No newline at end of file +}; diff --git a/tests/compiler/std/string-casemapping.json b/tests/compiler/std/string-casemapping.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/std/string-casemapping.json +++ b/tests/compiler/std/string-casemapping.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/string-encoding.json b/tests/compiler/std/string-encoding.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/string-encoding.json +++ b/tests/compiler/std/string-encoding.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/string.json b/tests/compiler/std/string.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/string.json +++ b/tests/compiler/std/string.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/std/symbol.json b/tests/compiler/std/symbol.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/std/symbol.json +++ b/tests/compiler/std/symbol.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/trace.json b/tests/compiler/std/trace.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/std/trace.json +++ b/tests/compiler/std/trace.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/std/typedarray.json b/tests/compiler/std/typedarray.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/std/typedarray.json +++ b/tests/compiler/std/typedarray.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/super-inline.json b/tests/compiler/super-inline.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/super-inline.json +++ b/tests/compiler/super-inline.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/switch.json b/tests/compiler/switch.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/switch.json +++ b/tests/compiler/switch.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/tablebase.json b/tests/compiler/tablebase.json index c290be300d..3e8ac20bfe 100644 --- a/tests/compiler/tablebase.json +++ b/tests/compiler/tablebase.json @@ -2,4 +2,4 @@ "asc_flags": [ "--tableBase 32" ] -} \ No newline at end of file +} diff --git a/tests/compiler/templateliteral.json b/tests/compiler/templateliteral.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/templateliteral.json +++ b/tests/compiler/templateliteral.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/ternary.json b/tests/compiler/ternary.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/ternary.json +++ b/tests/compiler/ternary.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/throw.json b/tests/compiler/throw.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/throw.json +++ b/tests/compiler/throw.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/compiler/typealias.json b/tests/compiler/typealias.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/typealias.json +++ b/tests/compiler/typealias.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/typeof.json b/tests/compiler/typeof.json index 65091e5197..1b3c185bda 100644 --- a/tests/compiler/typeof.json +++ b/tests/compiler/typeof.json @@ -2,4 +2,4 @@ "asc_flags": [ "--explicitStart" ] -} \ No newline at end of file +} diff --git a/tests/compiler/unary.json b/tests/compiler/unary.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/unary.json +++ b/tests/compiler/unary.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/unify-local-flags.json b/tests/compiler/unify-local-flags.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/unify-local-flags.json +++ b/tests/compiler/unify-local-flags.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/unsafe.json b/tests/compiler/unsafe.json index 5c3770cac2..f44bd65446 100644 --- a/tests/compiler/unsafe.json +++ b/tests/compiler/unsafe.json @@ -29,4 +29,4 @@ "AS101: Operation is unsafe.", "foo.baz += 1;", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/variable-access-in-initializer.json b/tests/compiler/variable-access-in-initializer.json index ffa5efab4d..44ccbd7698 100644 --- a/tests/compiler/variable-access-in-initializer.json +++ b/tests/compiler/variable-access-in-initializer.json @@ -6,4 +6,4 @@ "TS2448: Variable 'variable-access-in-initializer/test~b' used before its declaration.", "EOF" ] -} \ No newline at end of file +} diff --git a/tests/compiler/void.json b/tests/compiler/void.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/void.json +++ b/tests/compiler/void.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/wasi/snapshot_preview1.json b/tests/compiler/wasi/snapshot_preview1.json index 73d40f91f2..1bdd02b1be 100644 --- a/tests/compiler/wasi/snapshot_preview1.json +++ b/tests/compiler/wasi/snapshot_preview1.json @@ -1,4 +1,4 @@ { "asc_flags": [ ] -} \ No newline at end of file +} diff --git a/tests/compiler/while.json b/tests/compiler/while.json index e2eed82c22..b83788465e 100644 --- a/tests/compiler/while.json +++ b/tests/compiler/while.json @@ -2,4 +2,4 @@ "asc_flags": [ ], "asc_rtrace": true -} \ No newline at end of file +} diff --git a/tests/extension/package.json b/tests/extension/package.json index 7eee66133e..0bfdd721eb 100644 --- a/tests/extension/package.json +++ b/tests/extension/package.json @@ -3,4 +3,4 @@ "test": "npm run asbuild", "asbuild": "node ../../bin/asc assembly/index.as --extension .as --noEmit" } -} \ No newline at end of file +} diff --git a/tests/packages/packages/a/assembly/index.ts b/tests/packages/packages/a/assembly/index.ts index f1c054c099..378dcf843c 100644 --- a/tests/packages/packages/a/assembly/index.ts +++ b/tests/packages/packages/a/assembly/index.ts @@ -1 +1 @@ -export * from "./a"; \ No newline at end of file +export * from "./a"; diff --git a/tests/packages/packages/c/node_modules/b/node_modules/a/assembly/index.ts b/tests/packages/packages/c/node_modules/b/node_modules/a/assembly/index.ts index f1c054c099..378dcf843c 100644 --- a/tests/packages/packages/c/node_modules/b/node_modules/a/assembly/index.ts +++ b/tests/packages/packages/c/node_modules/b/node_modules/a/assembly/index.ts @@ -1 +1 @@ -export * from "./a"; \ No newline at end of file +export * from "./a"; diff --git a/tests/packages/packages/d/node_modules/as/package.json b/tests/packages/packages/d/node_modules/as/package.json index 080e0e0975..614a251f86 100644 --- a/tests/packages/packages/d/node_modules/as/package.json +++ b/tests/packages/packages/d/node_modules/as/package.json @@ -1,3 +1,3 @@ { "ascMain": "./notassembly/index.ts" -} \ No newline at end of file +}