@@ -2605,8 +2605,6 @@ protected virtual Type EvaluateType(string expression,ref int i, string currentN
26052605
26062606 namespaceMatch = varOrFunctionRegEx . Match ( expression . Substring ( i + subIndex ) ) ;
26072607 }
2608-
2609-
26102608 }
26112609 else
26122610 {
@@ -4753,22 +4751,35 @@ public SubExpression(string expression)
47534751 }
47544752 }
47554753
4754+ /// <summary>
4755+ /// Represent a group of method on which the override to use is not yet known.
4756+ /// </summary>
47564757 public partial class MethodsGroupEncaps
47574758 {
47584759 public object ContainerObject { get ; set ; }
47594760
47604761 public MethodInfo [ ] MethodsGroup { get ; set ; }
47614762 }
47624763
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>
47634767 public partial class BubbleExceptionContainer
47644768 {
4769+ /// <summary>
4770+ /// Constructor
4771+ /// </summary>
4772+ /// <param name="exception">the exception to encapsulate</param>
47654773 public BubbleExceptionContainer ( Exception exception )
47664774 {
47674775 _dispatchInfo = ExceptionDispatchInfo . Capture ( exception ) ;
47684776 }
47694777
47704778 private readonly ExceptionDispatchInfo _dispatchInfo ;
47714779
4780+ /// <summary>
4781+ /// Rethrow the exception with proper context.
4782+ /// </summary>
47724783 public void Throw ( ) => _dispatchInfo . Throw ( ) ;
47734784 }
47744785
@@ -4842,12 +4853,13 @@ public object Value
48424853 }
48434854
48444855 /// <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.
48464858 /// </summary>
48474859 public bool HasValue { get ; set ; }
48484860
48494861 /// <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/>
48514863 /// Otherwise is set to null.
48524864 /// </summary>
48534865 public object This { get ; }
@@ -4858,7 +4870,7 @@ public object Value
48584870 public ExpressionEvaluator Evaluator { get ; }
48594871
48604872 /// <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/>
48624874 /// <c>false</c> otherwise
48634875 /// </summary>
48644876 public bool HasGenericTypes
@@ -4870,7 +4882,7 @@ public bool HasGenericTypes
48704882 }
48714883
48724884 /// <summary>
4873- /// In the case where generic types are specified with <>
4885+ /// In the case where generic types are specified with <><para/>
48744886 /// Evaluate all types and return an array of types
48754887 /// </summary>
48764888 public Type [ ] EvaluateGenericTypes ( )
@@ -4936,7 +4948,8 @@ public object Value
49364948 }
49374949
49384950 /// <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.
49404953 /// </summary>
49414954 public bool HasValue { get ; set ; }
49424955 }
@@ -5039,12 +5052,13 @@ public object Value
50395052 }
50405053
50415054 /// <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.
50435057 /// </summary>
50445058 public bool FunctionReturnedValue { get ; set ; }
50455059
50465060 /// <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/>
50485062 /// Otherwise is set to null.
50495063 /// </summary>
50505064 public object This { get ; }
@@ -5055,7 +5069,7 @@ public object Value
50555069 public ExpressionEvaluator Evaluator { get ; }
50565070
50575071 /// <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/>
50595073 /// <c>false</c> otherwise
50605074 /// </summary>
50615075 public bool HasGenericTypes
@@ -5067,7 +5081,7 @@ public bool HasGenericTypes
50675081 }
50685082
50695083 /// <summary>
5070- /// In the case where generic types are specified with <>
5084+ /// In the case where generic types are specified with <><para/>
50715085 /// Evaluate all types and return an array of types
50725086 /// </summary>
50735087 public Type [ ] EvaluateGenericTypes ( )
@@ -5096,6 +5110,12 @@ public FunctionPreEvaluationEventArg(string name, List<string> args = null, Expr
50965110 /// </summary>
50975111 public partial class IndexingPreEvaluationEventArg : EventArgs
50985112 {
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>
50995119 public IndexingPreEvaluationEventArg ( List < string > args , ExpressionEvaluator evaluator , object onInstance )
51005120 {
51015121 Args = args ;
@@ -5129,7 +5149,8 @@ public object Value
51295149 }
51305150
51315151 /// <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.
51335154 /// </summary>
51345155 public bool HasValue { get ; set ; }
51355156
@@ -5169,15 +5190,14 @@ public T EvaluateArg<T>(int index)
51695190 }
51705191
51715192 /// <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
51735194 /// </summary>
51745195 public bool CancelEvaluation { get ; set ; }
51755196 }
51765197
51775198 /// <summary>
5178- /// Class ParameterCastEvaluationEventArg.
5179- /// Implements the <see cref="System.EventArgs" /></summary>
5180- /// <seealso cref="System.EventArgs" />
5199+ /// Class ParameterCastEvaluationEventArg
5200+ /// </summary>
51815201 public partial class ParameterCastEvaluationEventArg : EventArgs
51825202 {
51835203 /// <summary>
@@ -5186,7 +5206,7 @@ public partial class ParameterCastEvaluationEventArg : EventArgs
51865206 public MethodInfo MethodInfo { get ; }
51875207
51885208 /// <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/>
51905210 /// Otherwise is set to null.
51915211 /// </summary>
51925212 public object This { get ; }
@@ -5211,6 +5231,15 @@ public partial class ParameterCastEvaluationEventArg : EventArgs
52115231 /// </summary>
52125232 public int ArgPosition { get ; }
52135233
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>
52145243 public ParameterCastEvaluationEventArg ( MethodInfo methodInfo , Type parameterType , object originalArg , int argPosition , ExpressionEvaluator evaluator = null , object onInstance = null )
52155244 {
52165245 MethodInfo = methodInfo ;
0 commit comments