@@ -62,6 +62,10 @@ function toUpperSnakeCase(str) {
62
62
return str . replace ( / - / g, "_" ) . toUpperCase ( ) ;
63
63
}
64
64
65
+ function isNonEmptyString ( value ) {
66
+ return typeof value === "string" && value !== "" ;
67
+ }
68
+
65
69
/** Ensures that an object is a wrapper class instead of just a pointer. */
66
70
// function __wrap(ptrOrObj, wrapperClass) {
67
71
// if (typeof ptrOrObj === "number") {
@@ -309,7 +313,9 @@ export async function main(argv, options) {
309
313
assemblyscript . setSharedMemory ( compilerOptions , opts . sharedMemory ) ;
310
314
assemblyscript . setImportTable ( compilerOptions , opts . importTable ) ;
311
315
assemblyscript . setExportTable ( compilerOptions , opts . exportTable ) ;
312
- assemblyscript . setExportStart ( compilerOptions , typeof opts . exportStart === "string" ? opts . exportStart : null ) ;
316
+ if ( opts . exportStart ) {
317
+ assemblyscript . setExportStart ( compilerOptions , isNonEmptyString ( opts . exportStart ) ? opts . exportStart : "_start" ) ;
318
+ }
313
319
assemblyscript . setMemoryBase ( compilerOptions , opts . memoryBase >>> 0 ) ;
314
320
assemblyscript . setTableBase ( compilerOptions , opts . tableBase >>> 0 ) ;
315
321
assemblyscript . setSourceMap ( compilerOptions , opts . sourceMap != null ) ;
@@ -318,7 +324,7 @@ export async function main(argv, options) {
318
324
assemblyscript . setLowMemoryLimit ( compilerOptions , opts . lowMemoryLimit >>> 0 ) ;
319
325
assemblyscript . setExportRuntime ( compilerOptions , opts . exportRuntime ) ;
320
326
assemblyscript . setBundleVersion ( compilerOptions , bundleMajorVersion , bundleMinorVersion , bundlePatchVersion ) ;
321
- if ( ! opts . stackSize && opts . runtime == " incremental" ) {
327
+ if ( ! opts . stackSize && runtime === 2 /* incremental */ ) {
322
328
opts . stackSize = assemblyscript . DEFAULT_STACK_SIZE ;
323
329
}
324
330
assemblyscript . setStackSize ( compilerOptions , opts . stackSize ) ;
@@ -615,7 +621,7 @@ export async function main(argv, options) {
615
621
stats . parseTime += stats . end ( begin ) ;
616
622
}
617
623
}
618
- const numErrors = checkDiagnostics ( program , stderr , options . reportDiagnostic , stderrColors . enabled ) ;
624
+ const numErrors = checkDiagnostics ( program , stderr , opts . disableWarning , options . reportDiagnostic , stderrColors . enabled ) ;
619
625
if ( numErrors ) {
620
626
const err = Error ( `${ numErrors } parse error(s)` ) ;
621
627
err . stack = err . message ; // omit stack
@@ -724,7 +730,7 @@ export async function main(argv, options) {
724
730
? assemblyscript . getBinaryenModuleRef ( module )
725
731
: module . ref
726
732
) ;
727
- var numErrors = checkDiagnostics ( program , stderr , options . reportDiagnostic , stderrColors . enabled ) ;
733
+ var numErrors = checkDiagnostics ( program , stderr , opts . disableWarning , options . reportDiagnostic , stderrColors . enabled ) ;
728
734
if ( numErrors ) {
729
735
const err = Error ( `${ numErrors } compile error(s)` ) ;
730
736
err . stack = err . message ; // omit stack
@@ -737,7 +743,7 @@ export async function main(argv, options) {
737
743
if ( error ) return prepareResult ( error ) ;
738
744
}
739
745
740
- numErrors = checkDiagnostics ( program , stderr , options . reportDiagnostic , stderrColors . enabled ) ;
746
+ numErrors = checkDiagnostics ( program , stderr , opts . disableWarning , options . reportDiagnostic , stderrColors . enabled ) ;
741
747
if ( numErrors ) {
742
748
const err = Error ( `${ numErrors } afterCompile error(s)` ) ;
743
749
err . stack = err . message ; // omit stack
@@ -835,7 +841,7 @@ export async function main(argv, options) {
835
841
}
836
842
if ( next . length >= last . length ) {
837
843
if ( next . length > last . length ) {
838
- stderr . write ( `Last converge was suboptimial .${ EOL } ` ) ;
844
+ stderr . write ( `Last converge was suboptimal .${ EOL } ` ) ;
839
845
}
840
846
break ;
841
847
}
@@ -1117,17 +1123,22 @@ async function getConfig(file, baseDir, readFile) {
1117
1123
}
1118
1124
1119
1125
/** Checks diagnostics emitted so far for errors. */
1120
- export function checkDiagnostics ( program , stderr , reportDiagnostic , useColors ) {
1126
+ export function checkDiagnostics ( program , stderr , disableWarning , reportDiagnostic , useColors ) {
1121
1127
if ( typeof useColors === "undefined" && stderr ) useColors = stderr . isTTY ;
1122
1128
var numErrors = 0 ;
1123
1129
do {
1124
1130
let diagnostic = assemblyscript . nextDiagnostic ( program ) ;
1125
1131
if ( ! diagnostic ) break ;
1126
1132
if ( stderr ) {
1127
- stderr . write (
1128
- assemblyscript . formatDiagnostic ( diagnostic , useColors , true ) +
1129
- EOL + EOL
1130
- ) ;
1133
+ const isDisabledWarning = ( diagnostic ) => {
1134
+ if ( disableWarning == null ) return false ;
1135
+ if ( ! disableWarning . length ) return true ;
1136
+ const code = assemblyscript . getDiagnosticCode ( diagnostic ) ;
1137
+ return disableWarning . includes ( code ) ;
1138
+ } ;
1139
+ if ( assemblyscript . isError ( diagnostic ) || ! isDisabledWarning ( diagnostic ) ) {
1140
+ stderr . write ( assemblyscript . formatDiagnostic ( diagnostic , useColors , true ) + EOL + EOL ) ;
1141
+ }
1131
1142
}
1132
1143
if ( reportDiagnostic ) {
1133
1144
function wrapRange ( range ) {
0 commit comments