Skip to content

Commit d792988

Browse files
committed
More comments
1 parent cfcf287 commit d792988

File tree

1 file changed

+46
-17
lines changed

1 file changed

+46
-17
lines changed

CodingSeb.ExpressionEvaluator/ExpressionEvaluator.cs

Lines changed: 46 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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 &lt;&gt;.
4873+
/// Is <c>true</c> if some generic types are specified with &lt;&gt;.<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 &lt;&gt;
4885+
/// In the case where generic types are specified with &lt;&gt;<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 &lt;&gt;.
5072+
/// Is <c>true</c> if some generic types are specified with &lt;&gt;.<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 &lt;&gt;
5084+
/// In the case where generic types are specified with &lt;&gt;<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

Comments
 (0)