From 63f09b6196ce078391af4d3064b7d71afc41c719 Mon Sep 17 00:00:00 2001
From: ninemine <1371605831@qq.com>
Date: Thu, 9 Oct 2025 14:40:58 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B=E9=94=99?=
=?UTF-8?q?=E8=AF=AF=E5=B9=B6=E6=9B=B4=E6=96=B0README?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ExpressionElements/Base/Binary.cs | 4 +-
.../MemberElements/ArgumentList.cs | 4 +-
.../MemberElements/FunctionCall.cs | 4 +-
.../MemberElements/Identifier.cs | 4 +-
ExpressionElements/MemberElements/Indexer.cs | 4 +-
InternalTypes/BranchManager.cs | 12 +++-
InternalTypes/Miscellaneous.cs | 12 +++-
InternalTypes/Utility.cs | 4 +-
Parsing/Analyzer.cs | 4 +-
Parsing/Parser.cs | 5 +-
PublicTypes/ExpressionContext.cs | 14 ++++
PublicTypes/VariableCollection.cs | 2 +-
README.md | 70 +++++++------------
13 files changed, 83 insertions(+), 60 deletions(-)
diff --git a/ExpressionElements/Base/Binary.cs b/ExpressionElements/Base/Binary.cs
index 3ce24f9..bd72659 100644
--- a/ExpressionElements/Base/Binary.cs
+++ b/ExpressionElements/Base/Binary.cs
@@ -8,7 +8,9 @@ using System;
namespace Flee.ExpressionElements.Base
{
- [Obsolete("Base class for expression elements that operate on two child elements")]
+ ///
+ /// 操作两个子元素的表达式元素的基类
+ ///
internal abstract class BinaryExpressionElement : ExpressionElement
{
diff --git a/ExpressionElements/MemberElements/ArgumentList.cs b/ExpressionElements/MemberElements/ArgumentList.cs
index 2c2797d..0a76539 100644
--- a/ExpressionElements/MemberElements/ArgumentList.cs
+++ b/ExpressionElements/MemberElements/ArgumentList.cs
@@ -6,7 +6,9 @@ using Flee.InternalTypes;
namespace Flee.ExpressionElements.MemberElements
{
- [Obsolete("Encapsulates an argument list")]
+ ///
+ /// 封装参数列表的类
+ ///
internal class ArgumentList
{
private readonly IList _myElements;
diff --git a/ExpressionElements/MemberElements/FunctionCall.cs b/ExpressionElements/MemberElements/FunctionCall.cs
index 94a8331..f89fe39 100644
--- a/ExpressionElements/MemberElements/FunctionCall.cs
+++ b/ExpressionElements/MemberElements/FunctionCall.cs
@@ -10,7 +10,9 @@ using Flee.PublicTypes;
namespace Flee.ExpressionElements.MemberElements
{
- [Obsolete("Represents a function call")]
+ ///
+ /// 表示函数调用的表达式元素
+ ///
internal class FunctionCallElement : MemberElement
{
private readonly ArgumentList _myArguments;
diff --git a/ExpressionElements/MemberElements/Identifier.cs b/ExpressionElements/MemberElements/Identifier.cs
index 6662af4..734461d 100644
--- a/ExpressionElements/MemberElements/Identifier.cs
+++ b/ExpressionElements/MemberElements/Identifier.cs
@@ -15,7 +15,9 @@ using System;
namespace Flee.ExpressionElements.MemberElements
{
- [Obsolete("Represents an identifier")]
+ ///
+ /// 表示标识符的表达式元素
+ ///
internal class IdentifierElement : MemberElement
{
private FieldInfo _myField;
diff --git a/ExpressionElements/MemberElements/Indexer.cs b/ExpressionElements/MemberElements/Indexer.cs
index 2efd9ec..8ec7dd1 100644
--- a/ExpressionElements/MemberElements/Indexer.cs
+++ b/ExpressionElements/MemberElements/Indexer.cs
@@ -9,7 +9,9 @@ using Flee.PublicTypes;
namespace Flee.ExpressionElements.MemberElements
{
- [Obsolete("Element representing an array index")]
+ ///
+ /// 表示数组索引的表达式元素
+ ///
internal class IndexerElement : MemberElement
{
private ExpressionElement _myIndexerElement;
diff --git a/InternalTypes/BranchManager.cs b/InternalTypes/BranchManager.cs
index bde39ed..02fe44b 100644
--- a/InternalTypes/BranchManager.cs
+++ b/InternalTypes/BranchManager.cs
@@ -4,7 +4,9 @@ using System.Reflection.Emit;
namespace Flee.InternalTypes
{
- [Obsolete("Manages branch information and allows us to determine if we should emit a short or long branch")]
+ ///
+ /// 管理分支信息,允许我们确定是否应该发出短分支或长分支
+ ///
internal class BranchManager
{
private readonly IList MyBranchInfos;
@@ -143,7 +145,9 @@ namespace Flee.InternalTypes
}
}
- [Obsolete("Represents a location in an IL stream")]
+ ///
+ /// 表示IL流中的位置
+ ///
internal class ILLocation : IEquatable, IComparable
{
private int _myPosition;
@@ -214,7 +218,9 @@ namespace Flee.InternalTypes
}
}
- [Obsolete("Represents a branch from a start location to an end location")]
+ ///
+ /// 表示从起始位置到结束位置的分支
+ ///
internal class BranchInfo
{
private readonly ILLocation _myStart;
diff --git a/InternalTypes/Miscellaneous.cs b/InternalTypes/Miscellaneous.cs
index fb5c55e..df51a80 100644
--- a/InternalTypes/Miscellaneous.cs
+++ b/InternalTypes/Miscellaneous.cs
@@ -160,7 +160,9 @@ namespace Flee.InternalTypes
public static object Instance => OurInstance;
}
- [Obsolete("Helper class to resolve overloads")]
+ ///
+ /// 用于解析重载的辅助类
+ ///
internal class CustomMethodInfo : IComparable, IEquatable
{
///
@@ -494,7 +496,9 @@ namespace Flee.InternalTypes
}
}
- [Obsolete("Wraps an expression element so that it is loaded from a local slot")]
+ ///
+ /// 包装表达式元素,使其从本地槽位加载
+ ///
internal class LocalBasedElement : ExpressionElement
{
private readonly int _myIndex;
@@ -514,7 +518,9 @@ namespace Flee.InternalTypes
public override System.Type ResultType => _myTarget.ResultType;
}
- [Obsolete("Helper class for storing strongly-typed properties")]
+ ///
+ /// 用于存储强类型属性的辅助类
+ ///
internal class PropertyDictionary
{
private readonly Dictionary _myProperties;
diff --git a/InternalTypes/Utility.cs b/InternalTypes/Utility.cs
index e37e098..aa5b18b 100644
--- a/InternalTypes/Utility.cs
+++ b/InternalTypes/Utility.cs
@@ -6,7 +6,9 @@ using System.Reflection.Emit;
namespace Flee.InternalTypes
{
- [Obsolete("Holds various shared utility methods")]
+ ///
+ /// 包含各种共享实用方法的工具类
+ ///
internal class Utility
{
private Utility()
diff --git a/Parsing/Analyzer.cs b/Parsing/Analyzer.cs
index 17383bf..377d77d 100644
--- a/Parsing/Analyzer.cs
+++ b/Parsing/Analyzer.cs
@@ -3,7 +3,9 @@ using System.Collections;
namespace Flee.Parsing
{
- [Obsolete("Creates a new parse tree analyzer.")]
+ ///
+ /// 创建新的解析树分析器
+ ///
internal class Analyzer
{
public Analyzer()
diff --git a/Parsing/Parser.cs b/Parsing/Parser.cs
index 2e9bbdb..410f4ec 100644
--- a/Parsing/Parser.cs
+++ b/Parsing/Parser.cs
@@ -5,8 +5,9 @@ using System.Text;
namespace Flee.Parsing
{
-
- [Obsolete(" A base parser class. This class provides the standard parser interface, as well as token handling.")]
+ ///
+ /// 基础解析器类。此类提供标准解析器接口以及令牌处理功能
+ ///
internal abstract class Parser
{
private bool _initialized;
diff --git a/PublicTypes/ExpressionContext.cs b/PublicTypes/ExpressionContext.cs
index ca7052e..aefbaeb 100644
--- a/PublicTypes/ExpressionContext.cs
+++ b/PublicTypes/ExpressionContext.cs
@@ -8,6 +8,9 @@ using Flee.Parsing;
namespace Flee.PublicTypes
{
+ ///
+ /// 表达式上下文类,提供表达式编译和执行的环境
+ ///
public sealed class ExpressionContext
{
@@ -186,11 +189,22 @@ namespace Flee.PublicTypes
return this.CloneInternal(true);
}
+ ///
+ /// 编译动态表达式,返回类型在运行时确定
+ ///
+ /// 要编译的表达式字符串
+ /// 编译后的动态表达式
public IDynamicExpression CompileDynamic(string expression)
{
return new Flee.InternalTypes.Expression