hqchart 1.1.12851 → 1.1.12860
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -16955,6 +16955,36 @@ function JSExecute(ast,option)
|
|
|
16955
16955
|
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
16956
16956
|
this.OutVarTable.push({Name:varName, Data:outVar,Type:type, NoneName:true});
|
|
16957
16957
|
}
|
|
16958
|
+
else if (item.Expression.Type==Syntax.UnaryExpression)
|
|
16959
|
+
{
|
|
16960
|
+
var varName="__temp_l_"+i+"__";
|
|
16961
|
+
var argument=item.Expression.Argument;
|
|
16962
|
+
var type=0;
|
|
16963
|
+
let outVar=null;
|
|
16964
|
+
if (argument.Type==Syntax.Literal)
|
|
16965
|
+
{
|
|
16966
|
+
outVar=argument.Value;
|
|
16967
|
+
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
16968
|
+
}
|
|
16969
|
+
else if (argument.Type==Syntax.Identifier)
|
|
16970
|
+
{
|
|
16971
|
+
let varName=argument.Name;
|
|
16972
|
+
outVar=this.ReadVariable(varName,item.Expression);
|
|
16973
|
+
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
16974
|
+
}
|
|
16975
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
16976
|
+
{
|
|
16977
|
+
outVar=argument.Out;
|
|
16978
|
+
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
16979
|
+
}
|
|
16980
|
+
|
|
16981
|
+
if (item.Expression.Operator=='-')
|
|
16982
|
+
{
|
|
16983
|
+
if (outVar) outVar=this.Algorithm.Subtract(0,outVar);
|
|
16984
|
+
}
|
|
16985
|
+
|
|
16986
|
+
if (outVar) this.OutVarTable.push({Name:varName, Data:outVar,Type:type, NoneName:true});
|
|
16987
|
+
}
|
|
16958
16988
|
else if (item.Expression.Type==Syntax.SequenceExpression)
|
|
16959
16989
|
{
|
|
16960
16990
|
let varName;
|
|
@@ -17159,6 +17189,39 @@ function JSExecute(ast,option)
|
|
|
17159
17189
|
}
|
|
17160
17190
|
|
|
17161
17191
|
}
|
|
17192
|
+
else if (itemExpression.Type==Syntax.UnaryExpression)
|
|
17193
|
+
{
|
|
17194
|
+
if (j==0)
|
|
17195
|
+
{
|
|
17196
|
+
varName="__temp_sb_"+i+"__";
|
|
17197
|
+
var argument=itemExpression.Argument;
|
|
17198
|
+
let aryValue=null;
|
|
17199
|
+
if (argument.Type==Syntax.Literal)
|
|
17200
|
+
{
|
|
17201
|
+
aryValue=argument.Value;
|
|
17202
|
+
if (!Array.isArray(aryValue)) aryValue=this.SingleDataToArrayData(aryValue);
|
|
17203
|
+
}
|
|
17204
|
+
else if (argument.Type==Syntax.Identifier)
|
|
17205
|
+
{
|
|
17206
|
+
let varName=argument.Name;
|
|
17207
|
+
aryValue=this.ReadVariable(varName,item.Expression);
|
|
17208
|
+
if (!Array.isArray(aryValue)) aryValue=this.SingleDataToArrayData(aryValue);
|
|
17209
|
+
}
|
|
17210
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
17211
|
+
{
|
|
17212
|
+
aryValue=argument.Out;
|
|
17213
|
+
if (!Array.isArray(aryValue)) aryValue=this.SingleDataToArrayData(aryValue);
|
|
17214
|
+
}
|
|
17215
|
+
|
|
17216
|
+
if (itemExpression.Operator=='-')
|
|
17217
|
+
{
|
|
17218
|
+
if (aryValue) aryValue=this.Algorithm.Subtract(0,aryValue);
|
|
17219
|
+
}
|
|
17220
|
+
|
|
17221
|
+
isNoneName=true;
|
|
17222
|
+
this.VarTable.set(varName,aryValue);
|
|
17223
|
+
}
|
|
17224
|
+
}
|
|
17162
17225
|
}
|
|
17163
17226
|
|
|
17164
17227
|
if (pointDot && varName) //圆点
|
|
@@ -17440,7 +17503,25 @@ function JSExecute(ast,option)
|
|
|
17440
17503
|
case Syntax.CallExpression:
|
|
17441
17504
|
this.VisitCallExpression(node);
|
|
17442
17505
|
break;
|
|
17506
|
+
case Syntax.UnaryExpression:
|
|
17507
|
+
this.VisitUnaryExpression(node);
|
|
17508
|
+
break;
|
|
17509
|
+
}
|
|
17510
|
+
}
|
|
17511
|
+
|
|
17512
|
+
this.VisitUnaryExpression=function(node)
|
|
17513
|
+
{
|
|
17514
|
+
if (node.Operator=='-')
|
|
17515
|
+
{
|
|
17516
|
+
var tempValue=this.GetNodeValueEx(node.Argument);
|
|
17517
|
+
var value=this.Algorithm.Subtract(0,tempValue);
|
|
17518
|
+
}
|
|
17519
|
+
else
|
|
17520
|
+
{
|
|
17521
|
+
var value=node.Argument.Value;
|
|
17443
17522
|
}
|
|
17523
|
+
|
|
17524
|
+
return value;
|
|
17444
17525
|
}
|
|
17445
17526
|
|
|
17446
17527
|
this.VisitSequenceExpression=function(node)
|
|
@@ -17841,17 +17922,7 @@ function JSExecute(ast,option)
|
|
|
17841
17922
|
else if (right.Type==Syntax.MemberExpression)
|
|
17842
17923
|
value=this.ReadMemberVariable(right);
|
|
17843
17924
|
else if (right.Type==Syntax.UnaryExpression)
|
|
17844
|
-
|
|
17845
|
-
if (right.Operator=='-')
|
|
17846
|
-
{
|
|
17847
|
-
var tempValue=this.GetNodeValue(right.Argument);
|
|
17848
|
-
value=this.Algorithm.Subtract(0,tempValue);
|
|
17849
|
-
}
|
|
17850
|
-
else
|
|
17851
|
-
{
|
|
17852
|
-
value=right.Argument.Value;
|
|
17853
|
-
}
|
|
17854
|
-
}
|
|
17925
|
+
value=this.VisitUnaryExpression(right);
|
|
17855
17926
|
|
|
17856
17927
|
if (JS_EXECUTE_DEBUG_LOG) JSConsole.Complier.Log('[JSExecute::VisitAssignmentExpression]' , varName, ' = ',value);
|
|
17857
17928
|
|
|
@@ -17957,6 +18028,20 @@ function JSExecute(ast,option)
|
|
|
17957
18028
|
|
|
17958
18029
|
}
|
|
17959
18030
|
|
|
18031
|
+
//获取节点值,BinaryExpression,LogicalExpression会重新计算
|
|
18032
|
+
this.GetNodeValueEx=function(item)
|
|
18033
|
+
{
|
|
18034
|
+
var value=null;
|
|
18035
|
+
if (item.Type==Syntax.BinaryExpression || item.Type==Syntax.LogicalExpression)
|
|
18036
|
+
value=this.VisitBinaryExpression(item);
|
|
18037
|
+
else if (item.Type==Syntax.CallExpression)
|
|
18038
|
+
value=this.VisitCallExpression(item);
|
|
18039
|
+
else
|
|
18040
|
+
value=this.GetNodeValue(item);
|
|
18041
|
+
|
|
18042
|
+
return value;
|
|
18043
|
+
}
|
|
18044
|
+
|
|
17960
18045
|
this.GetNodeValue=function(node)
|
|
17961
18046
|
{
|
|
17962
18047
|
switch(node.Type)
|
|
@@ -17964,21 +18049,14 @@ function JSExecute(ast,option)
|
|
|
17964
18049
|
case Syntax.Literal: //数字
|
|
17965
18050
|
return node.Value;
|
|
17966
18051
|
case Syntax.UnaryExpression:
|
|
17967
|
-
|
|
17968
|
-
|
|
17969
|
-
var value=this.GetNodeValue(node.Argument);
|
|
17970
|
-
return this.Algorithm.Subtract(0,value);
|
|
17971
|
-
}
|
|
17972
|
-
return node.Argument.Value;
|
|
18052
|
+
var value=this.VisitUnaryExpression(node);
|
|
18053
|
+
return value;
|
|
17973
18054
|
case Syntax.Identifier:
|
|
17974
18055
|
var value=this.ReadVariable(node.Name,node);
|
|
17975
18056
|
return value;
|
|
17976
18057
|
case Syntax.BinaryExpression:
|
|
17977
18058
|
case Syntax.LogicalExpression:
|
|
17978
|
-
|
|
17979
|
-
//如果没有数据需要重新计算
|
|
17980
|
-
JSConsole.Complier.Log('[JSExecute::GetNodeValue] VisitBinaryExpression', node);
|
|
17981
|
-
return this.VisitBinaryExpression(node);
|
|
18059
|
+
return node.Out;
|
|
17982
18060
|
case Syntax.CallExpression:
|
|
17983
18061
|
return this.VisitCallExpression(node);
|
|
17984
18062
|
case Syntax.MemberExpression:
|
|
@@ -18191,6 +18269,32 @@ function JSExplainer(ast,option)
|
|
|
18191
18269
|
let outVar=item.Expression.Out;
|
|
18192
18270
|
this.OutVarTable.push({Name:varName, Data:`输出: ${outVar}`,Type:0, NoneName:true});
|
|
18193
18271
|
}
|
|
18272
|
+
else if (item.Expression.Type==Syntax.UnaryExpression) //一元运算 如-C, -7, -(C+10)
|
|
18273
|
+
{
|
|
18274
|
+
var varName="__temp_l_"+i+"__";
|
|
18275
|
+
var argument=item.Expression.Argument;
|
|
18276
|
+
let outVar=null;
|
|
18277
|
+
if (argument.Type==Syntax.Literal)
|
|
18278
|
+
{
|
|
18279
|
+
outVar=argument.Value;
|
|
18280
|
+
}
|
|
18281
|
+
else if (argument.Type==Syntax.Identifier)
|
|
18282
|
+
{
|
|
18283
|
+
let varName=argument.Name;
|
|
18284
|
+
outVar=this.ReadVariable(varName,item.Expression);
|
|
18285
|
+
}
|
|
18286
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
18287
|
+
{
|
|
18288
|
+
outVar=argument.Out;
|
|
18289
|
+
}
|
|
18290
|
+
|
|
18291
|
+
if (item.Expression.Operator=='-')
|
|
18292
|
+
{
|
|
18293
|
+
outVar=`-${outVar}`;
|
|
18294
|
+
}
|
|
18295
|
+
|
|
18296
|
+
this.OutVarTable.push({Name:varName, Data:`输出: ${outVar}`,Type:0, NoneName:true});
|
|
18297
|
+
}
|
|
18194
18298
|
else if (item.Expression.Type==Syntax.SequenceExpression)
|
|
18195
18299
|
{
|
|
18196
18300
|
let varName;
|
|
@@ -18294,6 +18398,33 @@ function JSExplainer(ast,option)
|
|
|
18294
18398
|
isNoneName=true;
|
|
18295
18399
|
this.VarTable.set(varName,aryValue);
|
|
18296
18400
|
}
|
|
18401
|
+
else if (itemExpression.Type==Syntax.UnaryExpression)
|
|
18402
|
+
{
|
|
18403
|
+
varName="__temp_sb_"+i+"__";
|
|
18404
|
+
var argument=itemExpression.Argument;
|
|
18405
|
+
let aryValue=null;
|
|
18406
|
+
if (argument.Type==Syntax.Literal)
|
|
18407
|
+
{
|
|
18408
|
+
aryValue=argument.Value;
|
|
18409
|
+
}
|
|
18410
|
+
else if (argument.Type==Syntax.Identifier)
|
|
18411
|
+
{
|
|
18412
|
+
let varName=argument.Name;
|
|
18413
|
+
aryValue=this.ReadVariable(varName,item.Expression);
|
|
18414
|
+
}
|
|
18415
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
18416
|
+
{
|
|
18417
|
+
aryValue=argument.Out;
|
|
18418
|
+
}
|
|
18419
|
+
|
|
18420
|
+
if (itemExpression.Operator=='-')
|
|
18421
|
+
{
|
|
18422
|
+
aryValue=`-${aryValue}`;
|
|
18423
|
+
}
|
|
18424
|
+
|
|
18425
|
+
isNoneName=true;
|
|
18426
|
+
this.VarTable.set(varName,aryValue);
|
|
18427
|
+
}
|
|
18297
18428
|
}
|
|
18298
18429
|
|
|
18299
18430
|
var outValue;
|
|
@@ -18386,6 +18517,9 @@ function JSExplainer(ast,option)
|
|
|
18386
18517
|
case Syntax.CallExpression:
|
|
18387
18518
|
this.VisitCallExpression(node);
|
|
18388
18519
|
break;
|
|
18520
|
+
case Syntax.UnaryExpression:
|
|
18521
|
+
this.VisitUnaryExpression(node);
|
|
18522
|
+
break;
|
|
18389
18523
|
}
|
|
18390
18524
|
}
|
|
18391
18525
|
|
|
@@ -18398,6 +18532,17 @@ function JSExplainer(ast,option)
|
|
|
18398
18532
|
}
|
|
18399
18533
|
}
|
|
18400
18534
|
|
|
18535
|
+
this.VisitUnaryExpression=function(node)
|
|
18536
|
+
{
|
|
18537
|
+
if (node.Operator=='-')
|
|
18538
|
+
{
|
|
18539
|
+
let value=this.GetNodeValueEx(node.Argument);
|
|
18540
|
+
return '-'+value;
|
|
18541
|
+
}
|
|
18542
|
+
|
|
18543
|
+
return node.Argument.Value;
|
|
18544
|
+
}
|
|
18545
|
+
|
|
18401
18546
|
//函数调用
|
|
18402
18547
|
this.VisitCallExpression=function(node)
|
|
18403
18548
|
{
|
|
@@ -18889,17 +19034,7 @@ function JSExplainer(ast,option)
|
|
|
18889
19034
|
else if (right.Type==Syntax.MemberExpression)
|
|
18890
19035
|
value=this.ReadMemberVariable(right);
|
|
18891
19036
|
else if (right.Type==Syntax.UnaryExpression)
|
|
18892
|
-
|
|
18893
|
-
if (right.Operator=='-')
|
|
18894
|
-
{
|
|
18895
|
-
var tempValue=this.GetNodeValue(right.Argument);
|
|
18896
|
-
value='-'+tempValue;
|
|
18897
|
-
}
|
|
18898
|
-
else
|
|
18899
|
-
{
|
|
18900
|
-
value=right.Argument.Value;
|
|
18901
|
-
}
|
|
18902
|
-
}
|
|
19037
|
+
value=this.VisitUnaryExpression(right);
|
|
18903
19038
|
|
|
18904
19039
|
JSConsole.Complier.Log('[JSExplainer::VisitAssignmentExpression]' , varName, ' = ',value);
|
|
18905
19040
|
this.VarTable.set(varName,value);
|
|
@@ -19012,6 +19147,19 @@ function JSExplainer(ast,option)
|
|
|
19012
19147
|
|
|
19013
19148
|
}
|
|
19014
19149
|
|
|
19150
|
+
this.GetNodeValueEx=function(node)
|
|
19151
|
+
{
|
|
19152
|
+
var value=null;
|
|
19153
|
+
if (node.Type==Syntax.BinaryExpression || node.Type==Syntax.LogicalExpression)
|
|
19154
|
+
value=this.VisitBinaryExpression(node);
|
|
19155
|
+
else if (node.Type==Syntax.CallExpression)
|
|
19156
|
+
value=this.VisitCallExpression(node);
|
|
19157
|
+
else
|
|
19158
|
+
value=this.GetNodeValue(node);
|
|
19159
|
+
|
|
19160
|
+
return value;
|
|
19161
|
+
}
|
|
19162
|
+
|
|
19015
19163
|
this.GetNodeValue=function(node)
|
|
19016
19164
|
{
|
|
19017
19165
|
switch(node.Type)
|
|
@@ -19019,18 +19167,13 @@ function JSExplainer(ast,option)
|
|
|
19019
19167
|
case Syntax.Literal: //数字
|
|
19020
19168
|
return node.Value;
|
|
19021
19169
|
case Syntax.UnaryExpression:
|
|
19022
|
-
|
|
19023
|
-
{
|
|
19024
|
-
let value=this.GetNodeValue(node.Argument);
|
|
19025
|
-
return '-'+value;
|
|
19026
|
-
}
|
|
19027
|
-
return node.Argument.Value;
|
|
19170
|
+
return this.VisitUnaryExpression(node);
|
|
19028
19171
|
case Syntax.Identifier:
|
|
19029
19172
|
let value=this.ReadVariable(node.Name,node);
|
|
19030
19173
|
return value;
|
|
19031
19174
|
case Syntax.BinaryExpression:
|
|
19032
19175
|
case Syntax.LogicalExpression:
|
|
19033
|
-
return
|
|
19176
|
+
return node.Out;
|
|
19034
19177
|
case Syntax.CallExpression:
|
|
19035
19178
|
return this.VisitCallExpression(node);
|
|
19036
19179
|
default:
|
|
@@ -112559,6 +112559,36 @@ function JSExecute(ast,option)
|
|
|
112559
112559
|
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
112560
112560
|
this.OutVarTable.push({Name:varName, Data:outVar,Type:type, NoneName:true});
|
|
112561
112561
|
}
|
|
112562
|
+
else if (item.Expression.Type==Syntax.UnaryExpression)
|
|
112563
|
+
{
|
|
112564
|
+
var varName="__temp_l_"+i+"__";
|
|
112565
|
+
var argument=item.Expression.Argument;
|
|
112566
|
+
var type=0;
|
|
112567
|
+
let outVar=null;
|
|
112568
|
+
if (argument.Type==Syntax.Literal)
|
|
112569
|
+
{
|
|
112570
|
+
outVar=argument.Value;
|
|
112571
|
+
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
112572
|
+
}
|
|
112573
|
+
else if (argument.Type==Syntax.Identifier)
|
|
112574
|
+
{
|
|
112575
|
+
let varName=argument.Name;
|
|
112576
|
+
outVar=this.ReadVariable(varName,item.Expression);
|
|
112577
|
+
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
112578
|
+
}
|
|
112579
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
112580
|
+
{
|
|
112581
|
+
outVar=argument.Out;
|
|
112582
|
+
if (!Array.isArray(outVar)) outVar=this.SingleDataToArrayData(outVar);
|
|
112583
|
+
}
|
|
112584
|
+
|
|
112585
|
+
if (item.Expression.Operator=='-')
|
|
112586
|
+
{
|
|
112587
|
+
if (outVar) outVar=this.Algorithm.Subtract(0,outVar);
|
|
112588
|
+
}
|
|
112589
|
+
|
|
112590
|
+
if (outVar) this.OutVarTable.push({Name:varName, Data:outVar,Type:type, NoneName:true});
|
|
112591
|
+
}
|
|
112562
112592
|
else if (item.Expression.Type==Syntax.SequenceExpression)
|
|
112563
112593
|
{
|
|
112564
112594
|
let varName;
|
|
@@ -112763,6 +112793,39 @@ function JSExecute(ast,option)
|
|
|
112763
112793
|
}
|
|
112764
112794
|
|
|
112765
112795
|
}
|
|
112796
|
+
else if (itemExpression.Type==Syntax.UnaryExpression)
|
|
112797
|
+
{
|
|
112798
|
+
if (j==0)
|
|
112799
|
+
{
|
|
112800
|
+
varName="__temp_sb_"+i+"__";
|
|
112801
|
+
var argument=itemExpression.Argument;
|
|
112802
|
+
let aryValue=null;
|
|
112803
|
+
if (argument.Type==Syntax.Literal)
|
|
112804
|
+
{
|
|
112805
|
+
aryValue=argument.Value;
|
|
112806
|
+
if (!Array.isArray(aryValue)) aryValue=this.SingleDataToArrayData(aryValue);
|
|
112807
|
+
}
|
|
112808
|
+
else if (argument.Type==Syntax.Identifier)
|
|
112809
|
+
{
|
|
112810
|
+
let varName=argument.Name;
|
|
112811
|
+
aryValue=this.ReadVariable(varName,item.Expression);
|
|
112812
|
+
if (!Array.isArray(aryValue)) aryValue=this.SingleDataToArrayData(aryValue);
|
|
112813
|
+
}
|
|
112814
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
112815
|
+
{
|
|
112816
|
+
aryValue=argument.Out;
|
|
112817
|
+
if (!Array.isArray(aryValue)) aryValue=this.SingleDataToArrayData(aryValue);
|
|
112818
|
+
}
|
|
112819
|
+
|
|
112820
|
+
if (itemExpression.Operator=='-')
|
|
112821
|
+
{
|
|
112822
|
+
if (aryValue) aryValue=this.Algorithm.Subtract(0,aryValue);
|
|
112823
|
+
}
|
|
112824
|
+
|
|
112825
|
+
isNoneName=true;
|
|
112826
|
+
this.VarTable.set(varName,aryValue);
|
|
112827
|
+
}
|
|
112828
|
+
}
|
|
112766
112829
|
}
|
|
112767
112830
|
|
|
112768
112831
|
if (pointDot && varName) //圆点
|
|
@@ -113044,9 +113107,27 @@ function JSExecute(ast,option)
|
|
|
113044
113107
|
case Syntax.CallExpression:
|
|
113045
113108
|
this.VisitCallExpression(node);
|
|
113046
113109
|
break;
|
|
113110
|
+
case Syntax.UnaryExpression:
|
|
113111
|
+
this.VisitUnaryExpression(node);
|
|
113112
|
+
break;
|
|
113047
113113
|
}
|
|
113048
113114
|
}
|
|
113049
113115
|
|
|
113116
|
+
this.VisitUnaryExpression=function(node)
|
|
113117
|
+
{
|
|
113118
|
+
if (node.Operator=='-')
|
|
113119
|
+
{
|
|
113120
|
+
var tempValue=this.GetNodeValueEx(node.Argument);
|
|
113121
|
+
var value=this.Algorithm.Subtract(0,tempValue);
|
|
113122
|
+
}
|
|
113123
|
+
else
|
|
113124
|
+
{
|
|
113125
|
+
var value=node.Argument.Value;
|
|
113126
|
+
}
|
|
113127
|
+
|
|
113128
|
+
return value;
|
|
113129
|
+
}
|
|
113130
|
+
|
|
113050
113131
|
this.VisitSequenceExpression=function(node)
|
|
113051
113132
|
{
|
|
113052
113133
|
for(let i in node.Expression)
|
|
@@ -113445,17 +113526,7 @@ function JSExecute(ast,option)
|
|
|
113445
113526
|
else if (right.Type==Syntax.MemberExpression)
|
|
113446
113527
|
value=this.ReadMemberVariable(right);
|
|
113447
113528
|
else if (right.Type==Syntax.UnaryExpression)
|
|
113448
|
-
|
|
113449
|
-
if (right.Operator=='-')
|
|
113450
|
-
{
|
|
113451
|
-
var tempValue=this.GetNodeValue(right.Argument);
|
|
113452
|
-
value=this.Algorithm.Subtract(0,tempValue);
|
|
113453
|
-
}
|
|
113454
|
-
else
|
|
113455
|
-
{
|
|
113456
|
-
value=right.Argument.Value;
|
|
113457
|
-
}
|
|
113458
|
-
}
|
|
113529
|
+
value=this.VisitUnaryExpression(right);
|
|
113459
113530
|
|
|
113460
113531
|
if (JS_EXECUTE_DEBUG_LOG) JSConsole.Complier.Log('[JSExecute::VisitAssignmentExpression]' , varName, ' = ',value);
|
|
113461
113532
|
|
|
@@ -113561,6 +113632,20 @@ function JSExecute(ast,option)
|
|
|
113561
113632
|
|
|
113562
113633
|
}
|
|
113563
113634
|
|
|
113635
|
+
//获取节点值,BinaryExpression,LogicalExpression会重新计算
|
|
113636
|
+
this.GetNodeValueEx=function(item)
|
|
113637
|
+
{
|
|
113638
|
+
var value=null;
|
|
113639
|
+
if (item.Type==Syntax.BinaryExpression || item.Type==Syntax.LogicalExpression)
|
|
113640
|
+
value=this.VisitBinaryExpression(item);
|
|
113641
|
+
else if (item.Type==Syntax.CallExpression)
|
|
113642
|
+
value=this.VisitCallExpression(item);
|
|
113643
|
+
else
|
|
113644
|
+
value=this.GetNodeValue(item);
|
|
113645
|
+
|
|
113646
|
+
return value;
|
|
113647
|
+
}
|
|
113648
|
+
|
|
113564
113649
|
this.GetNodeValue=function(node)
|
|
113565
113650
|
{
|
|
113566
113651
|
switch(node.Type)
|
|
@@ -113568,21 +113653,14 @@ function JSExecute(ast,option)
|
|
|
113568
113653
|
case Syntax.Literal: //数字
|
|
113569
113654
|
return node.Value;
|
|
113570
113655
|
case Syntax.UnaryExpression:
|
|
113571
|
-
|
|
113572
|
-
|
|
113573
|
-
var value=this.GetNodeValue(node.Argument);
|
|
113574
|
-
return this.Algorithm.Subtract(0,value);
|
|
113575
|
-
}
|
|
113576
|
-
return node.Argument.Value;
|
|
113656
|
+
var value=this.VisitUnaryExpression(node);
|
|
113657
|
+
return value;
|
|
113577
113658
|
case Syntax.Identifier:
|
|
113578
113659
|
var value=this.ReadVariable(node.Name,node);
|
|
113579
113660
|
return value;
|
|
113580
113661
|
case Syntax.BinaryExpression:
|
|
113581
113662
|
case Syntax.LogicalExpression:
|
|
113582
|
-
|
|
113583
|
-
//如果没有数据需要重新计算
|
|
113584
|
-
JSConsole.Complier.Log('[JSExecute::GetNodeValue] VisitBinaryExpression', node);
|
|
113585
|
-
return this.VisitBinaryExpression(node);
|
|
113663
|
+
return node.Out;
|
|
113586
113664
|
case Syntax.CallExpression:
|
|
113587
113665
|
return this.VisitCallExpression(node);
|
|
113588
113666
|
case Syntax.MemberExpression:
|
|
@@ -113795,6 +113873,32 @@ function JSExplainer(ast,option)
|
|
|
113795
113873
|
let outVar=item.Expression.Out;
|
|
113796
113874
|
this.OutVarTable.push({Name:varName, Data:`输出: ${outVar}`,Type:0, NoneName:true});
|
|
113797
113875
|
}
|
|
113876
|
+
else if (item.Expression.Type==Syntax.UnaryExpression) //一元运算 如-C, -7, -(C+10)
|
|
113877
|
+
{
|
|
113878
|
+
var varName="__temp_l_"+i+"__";
|
|
113879
|
+
var argument=item.Expression.Argument;
|
|
113880
|
+
let outVar=null;
|
|
113881
|
+
if (argument.Type==Syntax.Literal)
|
|
113882
|
+
{
|
|
113883
|
+
outVar=argument.Value;
|
|
113884
|
+
}
|
|
113885
|
+
else if (argument.Type==Syntax.Identifier)
|
|
113886
|
+
{
|
|
113887
|
+
let varName=argument.Name;
|
|
113888
|
+
outVar=this.ReadVariable(varName,item.Expression);
|
|
113889
|
+
}
|
|
113890
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
113891
|
+
{
|
|
113892
|
+
outVar=argument.Out;
|
|
113893
|
+
}
|
|
113894
|
+
|
|
113895
|
+
if (item.Expression.Operator=='-')
|
|
113896
|
+
{
|
|
113897
|
+
outVar=`-${outVar}`;
|
|
113898
|
+
}
|
|
113899
|
+
|
|
113900
|
+
this.OutVarTable.push({Name:varName, Data:`输出: ${outVar}`,Type:0, NoneName:true});
|
|
113901
|
+
}
|
|
113798
113902
|
else if (item.Expression.Type==Syntax.SequenceExpression)
|
|
113799
113903
|
{
|
|
113800
113904
|
let varName;
|
|
@@ -113898,6 +114002,33 @@ function JSExplainer(ast,option)
|
|
|
113898
114002
|
isNoneName=true;
|
|
113899
114003
|
this.VarTable.set(varName,aryValue);
|
|
113900
114004
|
}
|
|
114005
|
+
else if (itemExpression.Type==Syntax.UnaryExpression)
|
|
114006
|
+
{
|
|
114007
|
+
varName="__temp_sb_"+i+"__";
|
|
114008
|
+
var argument=itemExpression.Argument;
|
|
114009
|
+
let aryValue=null;
|
|
114010
|
+
if (argument.Type==Syntax.Literal)
|
|
114011
|
+
{
|
|
114012
|
+
aryValue=argument.Value;
|
|
114013
|
+
}
|
|
114014
|
+
else if (argument.Type==Syntax.Identifier)
|
|
114015
|
+
{
|
|
114016
|
+
let varName=argument.Name;
|
|
114017
|
+
aryValue=this.ReadVariable(varName,item.Expression);
|
|
114018
|
+
}
|
|
114019
|
+
else if (argument.Type==Syntax.BinaryExpression)
|
|
114020
|
+
{
|
|
114021
|
+
aryValue=argument.Out;
|
|
114022
|
+
}
|
|
114023
|
+
|
|
114024
|
+
if (itemExpression.Operator=='-')
|
|
114025
|
+
{
|
|
114026
|
+
aryValue=`-${aryValue}`;
|
|
114027
|
+
}
|
|
114028
|
+
|
|
114029
|
+
isNoneName=true;
|
|
114030
|
+
this.VarTable.set(varName,aryValue);
|
|
114031
|
+
}
|
|
113901
114032
|
}
|
|
113902
114033
|
|
|
113903
114034
|
var outValue;
|
|
@@ -113990,6 +114121,9 @@ function JSExplainer(ast,option)
|
|
|
113990
114121
|
case Syntax.CallExpression:
|
|
113991
114122
|
this.VisitCallExpression(node);
|
|
113992
114123
|
break;
|
|
114124
|
+
case Syntax.UnaryExpression:
|
|
114125
|
+
this.VisitUnaryExpression(node);
|
|
114126
|
+
break;
|
|
113993
114127
|
}
|
|
113994
114128
|
}
|
|
113995
114129
|
|
|
@@ -114002,6 +114136,17 @@ function JSExplainer(ast,option)
|
|
|
114002
114136
|
}
|
|
114003
114137
|
}
|
|
114004
114138
|
|
|
114139
|
+
this.VisitUnaryExpression=function(node)
|
|
114140
|
+
{
|
|
114141
|
+
if (node.Operator=='-')
|
|
114142
|
+
{
|
|
114143
|
+
let value=this.GetNodeValueEx(node.Argument);
|
|
114144
|
+
return '-'+value;
|
|
114145
|
+
}
|
|
114146
|
+
|
|
114147
|
+
return node.Argument.Value;
|
|
114148
|
+
}
|
|
114149
|
+
|
|
114005
114150
|
//函数调用
|
|
114006
114151
|
this.VisitCallExpression=function(node)
|
|
114007
114152
|
{
|
|
@@ -114493,17 +114638,7 @@ function JSExplainer(ast,option)
|
|
|
114493
114638
|
else if (right.Type==Syntax.MemberExpression)
|
|
114494
114639
|
value=this.ReadMemberVariable(right);
|
|
114495
114640
|
else if (right.Type==Syntax.UnaryExpression)
|
|
114496
|
-
|
|
114497
|
-
if (right.Operator=='-')
|
|
114498
|
-
{
|
|
114499
|
-
var tempValue=this.GetNodeValue(right.Argument);
|
|
114500
|
-
value='-'+tempValue;
|
|
114501
|
-
}
|
|
114502
|
-
else
|
|
114503
|
-
{
|
|
114504
|
-
value=right.Argument.Value;
|
|
114505
|
-
}
|
|
114506
|
-
}
|
|
114641
|
+
value=this.VisitUnaryExpression(right);
|
|
114507
114642
|
|
|
114508
114643
|
JSConsole.Complier.Log('[JSExplainer::VisitAssignmentExpression]' , varName, ' = ',value);
|
|
114509
114644
|
this.VarTable.set(varName,value);
|
|
@@ -114616,6 +114751,19 @@ function JSExplainer(ast,option)
|
|
|
114616
114751
|
|
|
114617
114752
|
}
|
|
114618
114753
|
|
|
114754
|
+
this.GetNodeValueEx=function(node)
|
|
114755
|
+
{
|
|
114756
|
+
var value=null;
|
|
114757
|
+
if (node.Type==Syntax.BinaryExpression || node.Type==Syntax.LogicalExpression)
|
|
114758
|
+
value=this.VisitBinaryExpression(node);
|
|
114759
|
+
else if (node.Type==Syntax.CallExpression)
|
|
114760
|
+
value=this.VisitCallExpression(node);
|
|
114761
|
+
else
|
|
114762
|
+
value=this.GetNodeValue(node);
|
|
114763
|
+
|
|
114764
|
+
return value;
|
|
114765
|
+
}
|
|
114766
|
+
|
|
114619
114767
|
this.GetNodeValue=function(node)
|
|
114620
114768
|
{
|
|
114621
114769
|
switch(node.Type)
|
|
@@ -114623,18 +114771,13 @@ function JSExplainer(ast,option)
|
|
|
114623
114771
|
case Syntax.Literal: //数字
|
|
114624
114772
|
return node.Value;
|
|
114625
114773
|
case Syntax.UnaryExpression:
|
|
114626
|
-
|
|
114627
|
-
{
|
|
114628
|
-
let value=this.GetNodeValue(node.Argument);
|
|
114629
|
-
return '-'+value;
|
|
114630
|
-
}
|
|
114631
|
-
return node.Argument.Value;
|
|
114774
|
+
return this.VisitUnaryExpression(node);
|
|
114632
114775
|
case Syntax.Identifier:
|
|
114633
114776
|
let value=this.ReadVariable(node.Name,node);
|
|
114634
114777
|
return value;
|
|
114635
114778
|
case Syntax.BinaryExpression:
|
|
114636
114779
|
case Syntax.LogicalExpression:
|
|
114637
|
-
return
|
|
114780
|
+
return node.Out;
|
|
114638
114781
|
case Syntax.CallExpression:
|
|
114639
114782
|
return this.VisitCallExpression(node);
|
|
114640
114783
|
default:
|
|
@@ -131883,7 +132026,7 @@ function ScrollBarBGChart()
|
|
|
131883
132026
|
|
|
131884
132027
|
|
|
131885
132028
|
|
|
131886
|
-
var HQCHART_VERSION="1.1.
|
|
132029
|
+
var HQCHART_VERSION="1.1.12859";
|
|
131887
132030
|
|
|
131888
132031
|
function PrintHQChartVersion()
|
|
131889
132032
|
{
|