@@ -2605,8 +2605,6 @@ protected virtual Type EvaluateType(string expression,ref int i, string currentN
2605
2605
2606
2606
namespaceMatch = varOrFunctionRegEx . Match ( expression . Substring ( i + subIndex ) ) ;
2607
2607
}
2608
-
2609
-
2610
2608
}
2611
2609
else
2612
2610
{
@@ -4753,22 +4751,35 @@ public SubExpression(string expression)
4753
4751
}
4754
4752
}
4755
4753
4754
+ /// <summary>
4755
+ /// Represent a group of method on which the override to use is not yet known.
4756
+ /// </summary>
4756
4757
public partial class MethodsGroupEncaps
4757
4758
{
4758
4759
public object ContainerObject { get ; set ; }
4759
4760
4760
4761
public MethodInfo [ ] MethodsGroup { get ; set ; }
4761
4762
}
4762
4763
4764
+ /// <summary>
4765
+ /// Encapsulate an exception that happend in a sub part of the expression when the evaluation need to continue before throwing the exception.
4766
+ /// </summary>
4763
4767
public partial class BubbleExceptionContainer
4764
4768
{
4769
+ /// <summary>
4770
+ /// Constructor
4771
+ /// </summary>
4772
+ /// <param name="exception">the exception to encapsulate</param>
4765
4773
public BubbleExceptionContainer ( Exception exception )
4766
4774
{
4767
4775
_dispatchInfo = ExceptionDispatchInfo . Capture ( exception ) ;
4768
4776
}
4769
4777
4770
4778
private readonly ExceptionDispatchInfo _dispatchInfo ;
4771
4779
4780
+ /// <summary>
4781
+ /// Rethrow the exception with proper context.
4782
+ /// </summary>
4772
4783
public void Throw ( ) => _dispatchInfo . Throw ( ) ;
4773
4784
}
4774
4785
@@ -4842,12 +4853,13 @@ public object Value
4842
4853
}
4843
4854
4844
4855
/// <summary>
4845
- /// if <c>true</c> the variable is affected, if <c>false</c> it means that the variable does not exist.
4856
+ /// if <c>true</c> the variable is affected<para/>
4857
+ /// if <c>false</c> it means that the variable does not exist.
4846
4858
/// </summary>
4847
4859
public bool HasValue { get ; set ; }
4848
4860
4849
4861
/// <summary>
4850
- /// In the case of on the fly instance property definition the instance of the object on which this Property is called.
4862
+ /// In the case of on the fly instance property definition the instance of the object on which this Property is called.<para/>
4851
4863
/// Otherwise is set to null.
4852
4864
/// </summary>
4853
4865
public object This { get ; }
@@ -4858,7 +4870,7 @@ public object Value
4858
4870
public ExpressionEvaluator Evaluator { get ; }
4859
4871
4860
4872
/// <summary>
4861
- /// Is <c>true</c> if some generic types are specified with <>.
4873
+ /// Is <c>true</c> if some generic types are specified with <>.<para/>
4862
4874
/// <c>false</c> otherwise
4863
4875
/// </summary>
4864
4876
public bool HasGenericTypes
@@ -4870,7 +4882,7 @@ public bool HasGenericTypes
4870
4882
}
4871
4883
4872
4884
/// <summary>
4873
- /// In the case where generic types are specified with <>
4885
+ /// In the case where generic types are specified with <><para/>
4874
4886
/// Evaluate all types and return an array of types
4875
4887
/// </summary>
4876
4888
public Type [ ] EvaluateGenericTypes ( )
@@ -4936,7 +4948,8 @@ public object Value
4936
4948
}
4937
4949
4938
4950
/// <summary>
4939
- /// if <c>true</c> the expression evaluation has been done, if <c>false</c> it means that the evaluation must continue.
4951
+ /// if <c>true</c> the expression evaluation has been done<para/>
4952
+ /// if <c>false</c> it means that the evaluation must continue.
4940
4953
/// </summary>
4941
4954
public bool HasValue { get ; set ; }
4942
4955
}
@@ -5039,12 +5052,13 @@ public object Value
5039
5052
}
5040
5053
5041
5054
/// <summary>
5042
- /// if <c>true</c> the function evaluation has been done, if <c>false</c> it means that the function does not exist.
5055
+ /// if <c>true</c> the function evaluation has been done,<para/>
5056
+ /// if <c>false</c> it means that the function does not exist.
5043
5057
/// </summary>
5044
5058
public bool FunctionReturnedValue { get ; set ; }
5045
5059
5046
5060
/// <summary>
5047
- /// In the case of on the fly instance method definition the instance of the object on which this method (function) is called.
5061
+ /// In the case of on the fly instance method definition the instance of the object on which this method (function) is called.<para/>
5048
5062
/// Otherwise is set to null.
5049
5063
/// </summary>
5050
5064
public object This { get ; }
@@ -5055,7 +5069,7 @@ public object Value
5055
5069
public ExpressionEvaluator Evaluator { get ; }
5056
5070
5057
5071
/// <summary>
5058
- /// Is <c>true</c> if some generic types are specified with <>.
5072
+ /// Is <c>true</c> if some generic types are specified with <>.<para/>
5059
5073
/// <c>false</c> otherwise
5060
5074
/// </summary>
5061
5075
public bool HasGenericTypes
@@ -5067,7 +5081,7 @@ public bool HasGenericTypes
5067
5081
}
5068
5082
5069
5083
/// <summary>
5070
- /// In the case where generic types are specified with <>
5084
+ /// In the case where generic types are specified with <><para/>
5071
5085
/// Evaluate all types and return an array of types
5072
5086
/// </summary>
5073
5087
public Type [ ] EvaluateGenericTypes ( )
@@ -5096,6 +5110,12 @@ public FunctionPreEvaluationEventArg(string name, List<string> args = null, Expr
5096
5110
/// </summary>
5097
5111
public partial class IndexingPreEvaluationEventArg : EventArgs
5098
5112
{
5113
+ /// <summary>
5114
+ /// Constructor
5115
+ /// </summary>
5116
+ /// <param name="args">The not evaluated args of the indexing</param>
5117
+ /// <param name="evaluator">A reference on the current expression evaluator.</param>
5118
+ /// <param name="onInstance">The instance of the object on which the indexing is called.<para/>Will be the <see cref="This"/> property</param>
5099
5119
public IndexingPreEvaluationEventArg ( List < string > args , ExpressionEvaluator evaluator , object onInstance )
5100
5120
{
5101
5121
Args = args ;
@@ -5129,7 +5149,8 @@ public object Value
5129
5149
}
5130
5150
5131
5151
/// <summary>
5132
- /// if <c>true</c> the indexing evaluation has been done, if <c>false</c> it means that the indexing does not exist.
5152
+ /// if <c>true</c> the indexing evaluation has been done<para/>
5153
+ /// if <c>false</c> it means that the indexing does not exist.
5133
5154
/// </summary>
5134
5155
public bool HasValue { get ; set ; }
5135
5156
@@ -5169,15 +5190,14 @@ public T EvaluateArg<T>(int index)
5169
5190
}
5170
5191
5171
5192
/// <summary>
5172
- /// If set to true cancel the evaluation of the current function or method and throw an exception that the function does not exists
5193
+ /// If set to <c> true</c> cancel the evaluation of the current function or method and throw an exception that the function does not exists
5173
5194
/// </summary>
5174
5195
public bool CancelEvaluation { get ; set ; }
5175
5196
}
5176
5197
5177
5198
/// <summary>
5178
- /// Class ParameterCastEvaluationEventArg.
5179
- /// Implements the <see cref="System.EventArgs" /></summary>
5180
- /// <seealso cref="System.EventArgs" />
5199
+ /// Class ParameterCastEvaluationEventArg
5200
+ /// </summary>
5181
5201
public partial class ParameterCastEvaluationEventArg : EventArgs
5182
5202
{
5183
5203
/// <summary>
@@ -5186,7 +5206,7 @@ public partial class ParameterCastEvaluationEventArg : EventArgs
5186
5206
public MethodInfo MethodInfo { get ; }
5187
5207
5188
5208
/// <summary>
5189
- /// In the case of on the fly instance method definition the instance of the object on which this method (function) is called.
5209
+ /// In the case of on the fly instance method definition the instance of the object on which this method (function) is called.<para/>
5190
5210
/// Otherwise is set to null.
5191
5211
/// </summary>
5192
5212
public object This { get ; }
@@ -5211,6 +5231,15 @@ public partial class ParameterCastEvaluationEventArg : EventArgs
5211
5231
/// </summary>
5212
5232
public int ArgPosition { get ; }
5213
5233
5234
+ /// <summary>
5235
+ /// Constructor
5236
+ /// </summary>
5237
+ /// <param name="methodInfo">The information of the method that it try to call</param>
5238
+ /// <param name="parameterType">The required type of the parameter</param>
5239
+ /// <param name="originalArg">The original argument</param>
5240
+ /// <param name="argPosition">Position of the argument (index from 0)</param>
5241
+ /// <param name="evaluator">A reference on the current expression evaluator.</param>
5242
+ /// <param name="onInstance">In the case of on the fly instance method definition the instance of the object on which this method (function) is called.<para/>Otherwise is set to null.<para/>Will be the <see cref="This"/> property</param>
5214
5243
public ParameterCastEvaluationEventArg ( MethodInfo methodInfo , Type parameterType , object originalArg , int argPosition , ExpressionEvaluator evaluator = null , object onInstance = null )
5215
5244
{
5216
5245
MethodInfo = methodInfo ;
0 commit comments