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
- if (node.Operator=='-')
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
- if (node.Out) return node.Out;
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
- if (node.Operator=='-')
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 this.VisitBinaryExpression(node);
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
- if (node.Operator=='-')
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
- if (node.Out) return node.Out;
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
- if (node.Operator=='-')
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 this.VisitBinaryExpression(node);
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.12850";
132029
+ var HQCHART_VERSION="1.1.12859";
131887
132030
 
131888
132031
  function PrintHQChartVersion()
131889
132032
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12850";
8
+ var HQCHART_VERSION="1.1.12859";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {