@@ -1030,29 +1030,6 @@ public void ParseSrc(FileModel fileModel, string ba, bool allowBaReExtract)
1030
1030
continue ;
1031
1031
}
1032
1032
}
1033
- else if ( inValue && ( inParams || inType || inConst )
1034
- && c1 == '/' && valueLength == 0 ) // lookup native regex
1035
- {
1036
- int itemp = i ;
1037
- valueBuffer [ valueLength ++ ] = '/' ;
1038
- while ( valueLength < VALUE_BUFFER && i < len )
1039
- {
1040
- c1 = ba [ i ++ ] ;
1041
- if ( c1 == '\n ' || c1 == '\r ' )
1042
- {
1043
- valueLength = 0 ;
1044
- i = itemp ;
1045
- break ;
1046
- }
1047
- valueBuffer [ valueLength ++ ] = c1 ;
1048
- if ( c1 == '\\ ' && i < len )
1049
- {
1050
- c1 = ba [ i ++ ] ;
1051
- valueBuffer [ valueLength ++ ] = c1 ;
1052
- }
1053
- else if ( c1 == '/' ) break ;
1054
- }
1055
- }
1056
1033
else if ( ( c1 == ':' || c1 == ',' ) && paramBraceCount > 0 ) stopParser = true ;
1057
1034
1058
1035
// end of value
@@ -1230,7 +1207,7 @@ public void ParseSrc(FileModel fileModel, string ba, bool allowBaReExtract)
1230
1207
{
1231
1208
addChar = true ;
1232
1209
}
1233
- // AS3/haXe generics
1210
+ // AS3/Haxe generics
1234
1211
else if ( c1 == '<' && features . hasGenerics )
1235
1212
{
1236
1213
if ( ! inValue && i > 2 && length > 1 && i < len - 3
@@ -1285,6 +1262,10 @@ public void ParseSrc(FileModel fileModel, string ba, bool allowBaReExtract)
1285
1262
}
1286
1263
}
1287
1264
}
1265
+ else if ( ( c1 == '(' || c1 == ')' ) && haXe && inType )
1266
+ {
1267
+ addChar = true ;
1268
+ }
1288
1269
else
1289
1270
{
1290
1271
evalToken = 2 ;
@@ -1296,7 +1277,7 @@ public void ParseSrc(FileModel fileModel, string ba, bool allowBaReExtract)
1296
1277
{
1297
1278
addChar = true ;
1298
1279
}
1299
- // conditional haXe parameter
1280
+ // conditional Haxe parameter
1300
1281
else if ( c1 == '?' && haXe && inParams && length == 0 )
1301
1282
{
1302
1283
addChar = true ;
@@ -1367,7 +1348,7 @@ public void ParseSrc(FileModel fileModel, string ba, bool allowBaReExtract)
1367
1348
braceCount ++ ; // ignore block
1368
1349
}
1369
1350
}
1370
- else if ( foundColon && haXe && length == 0 ) // copy haXe anonymous type
1351
+ else if ( foundColon && haXe && length == 0 ) // copy Haxe anonymous type
1371
1352
{
1372
1353
inValue = true ;
1373
1354
hadValue = false ;
@@ -1451,11 +1432,19 @@ public void ParseSrc(FileModel fileModel, string ba, bool allowBaReExtract)
1451
1432
else if ( c1 == '(' )
1452
1433
{
1453
1434
if ( ! inValue && context == FlagType . Variable && curToken . Text != "catch" && ( ! haXe || curToken . Text != "for" ) )
1454
- if ( haXe && curMember != null && valueLength == 0 ) // haXe properties
1435
+ if ( haXe && curMember != null && valueLength == 0 )
1455
1436
{
1456
- curMember . Flags -= FlagType . Variable ;
1457
- curMember . Flags |= FlagType . Getter | FlagType . Setter ;
1458
- context = FlagType . Function ;
1437
+ if ( ! foundColon && ! inType ) // Haxe properties
1438
+ {
1439
+ curMember . Flags -= FlagType . Variable ;
1440
+ curMember . Flags |= FlagType . Getter | FlagType . Setter ;
1441
+ context = FlagType . Function ;
1442
+ }
1443
+ else // Haxe function types with subtypes
1444
+ {
1445
+ inType = true ;
1446
+ addChar = true ;
1447
+ }
1459
1448
}
1460
1449
else context = 0 ;
1461
1450
@@ -1603,7 +1592,7 @@ public void ParseSrc(FileModel fileModel, string ba, bool allowBaReExtract)
1603
1592
}
1604
1593
}
1605
1594
1606
- // haXe signatures: T -> T -> T
1595
+ // Haxe signatures: T -> T -> T
1607
1596
else if ( haXe && c1 == '-' && curMember != null )
1608
1597
{
1609
1598
if ( ba [ i ] == '>' && curMember . Type != null )
@@ -2239,7 +2228,7 @@ private bool EvalToken(bool evalContext, bool evalKeyword, int position)
2239
2228
}
2240
2229
else
2241
2230
{
2242
- //TODO Error: AS3 & haXe classes are qualified by their package declaration
2231
+ //TODO Error: AS3 & Haxe classes are qualified by their package declaration
2243
2232
}
2244
2233
}
2245
2234
@@ -2391,7 +2380,7 @@ private bool EvalToken(bool evalContext, bool evalKeyword, int position)
2391
2380
break ;
2392
2381
2393
2382
case FlagType . Variable :
2394
- // haXe signatures: T -> T
2383
+ // Haxe signatures: T -> T
2395
2384
if ( haXe && curMember != null && curMember . Type != null
2396
2385
&& curMember . Type . EndsWith ( "->" ) )
2397
2386
{
0 commit comments