@@ -2505,7 +2505,11 @@ export class LuaTransformer {
25052505 ) ;
25062506 }
25072507
2508- if ( statement . expression . arguments . some ( a => ! tsHelper . isNumberType ( this . checker . getTypeAtLocation ( a ) ) ) ) {
2508+ if (
2509+ statement . expression . arguments . some (
2510+ a => ! tsHelper . isNumberType ( this . checker . getTypeAtLocation ( a ) , this . checker , this . program )
2511+ )
2512+ ) {
25092513 throw TSTLErrors . InvalidForRangeCall ( statement . expression , "@forRange arguments must be number types." ) ;
25102514 }
25112515
@@ -2522,7 +2526,7 @@ export class LuaTransformer {
25222526 }
25232527
25242528 const controlType = this . checker . getTypeAtLocation ( controlDeclaration ) ;
2525- if ( controlType && ! tsHelper . isNumberType ( controlType ) ) {
2529+ if ( controlType && ! tsHelper . isNumberType ( controlType , this . checker , this . program ) ) {
25262530 throw TSTLErrors . InvalidForRangeCall (
25272531 statement . expression ,
25282532 "@forRange function must return Iterable<number> or Array<number>."
@@ -3860,7 +3864,7 @@ export class LuaTransformer {
38603864 return this . transformLuaLibFunction ( LuaLibFeature . Number , node , ...parameters ) ;
38613865 case "isNaN" :
38623866 case "isFinite" :
3863- const numberParameters = tsHelper . isNumberType ( expressionType )
3867+ const numberParameters = tsHelper . isNumberType ( expressionType , this . checker , this . program )
38643868 ? parameters
38653869 : [ this . transformLuaLibFunction ( LuaLibFeature . Number , undefined , ...parameters ) ] ;
38663870
@@ -4295,7 +4299,10 @@ export class LuaTransformer {
42954299 const index = this . transformExpression ( expression . argumentExpression ) ;
42964300 const argumentType = this . checker . getTypeAtLocation ( expression . argumentExpression ) ;
42974301 const type = this . checker . getTypeAtLocation ( expression . expression ) ;
4298- if ( tsHelper . isNumberType ( argumentType ) && tsHelper . isArrayType ( type , this . checker , this . program ) ) {
4302+ if (
4303+ tsHelper . isNumberType ( argumentType , this . checker , this . program ) &&
4304+ tsHelper . isArrayType ( type , this . checker , this . program )
4305+ ) {
42994306 return this . expressionPlusOne ( index ) ;
43004307 } else {
43014308 return index ;
@@ -4315,7 +4322,10 @@ export class LuaTransformer {
43154322
43164323 const argumentType = this . checker . getTypeAtLocation ( expression . argumentExpression ) ;
43174324 const type = this . checker . getTypeAtLocation ( expression . expression ) ;
4318- if ( tsHelper . isNumberType ( argumentType ) && tsHelper . isStringType ( type , this . checker , this . program ) ) {
4325+ if (
4326+ tsHelper . isNumberType ( argumentType , this . checker , this . program ) &&
4327+ tsHelper . isStringType ( type , this . checker , this . program )
4328+ ) {
43194329 const index = this . transformExpression ( expression . argumentExpression ) ;
43204330 return tstl . createCallExpression (
43214331 tstl . createTableIndexExpression ( tstl . createIdentifier ( "string" ) , tstl . createStringLiteral ( "sub" ) ) ,
0 commit comments