Daily update on 20250420-041137 by Nitload Youmu. Additional Message : Change: pipeline nodes use port to connect instead of connctors, this make send to multi-ports and recieve from multi-ports possible.

Remove: Some types in Pipeline namepace removed sueto no need for connectors

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-04-20 04:11:37 +08:00
parent c29993fd84
commit b618fdf7b5
72 changed files with 1343 additions and 602 deletions
+16 -16
View File
@@ -39,13 +39,13 @@ using System.Text;
namespace StgSharp.Script.Express
{
public abstract class ExpNode : IASTNode<ExpNode, IExpElementSource>
public abstract class ExpSyntaxNode : ISyntaxNode<ExpSyntaxNode, IExpElementSource>
{
protected internal ExpNodeFlag _nodeFlag;
protected internal Token _source;
protected ExpNode( Token source )
protected ExpSyntaxNode( Token source )
{
_source = source;
Next = this;
@@ -57,18 +57,18 @@ namespace StgSharp.Script.Express
get { return ( _nodeFlag | ExpNodeFlag.BuiltinType_Number ) != 0; }
}
public abstract ExpNode Left { get; }
public abstract ExpSyntaxNode Left { get; }
public static ExpNode Empty
public static ExpSyntaxNode Empty
{
get => ExpEmptyNode._only;
}
public ExpNode Next { get; set; }
public ExpSyntaxNode Next { get; set; }
public abstract ExpNode Right { get; }
public abstract ExpSyntaxNode Right { get; }
public ExpNode Previous { get; set; }
public ExpSyntaxNode Previous { get; set; }
public abstract IExpElementSource EqualityTypeConvert { get; }
@@ -85,7 +85,7 @@ namespace StgSharp.Script.Express
get => _source;
}
public void AppendNode( ExpNode nextNode )
public void AppendNode( ExpSyntaxNode nextNode )
{
Next.Previous = nextNode;
nextNode.Next = Next;
@@ -93,24 +93,24 @@ namespace StgSharp.Script.Express
Next.Previous = this;
}
public static bool IsNullOrEmpty( [AllowNull]ExpNode node )
public static bool IsNullOrEmpty( [AllowNull]ExpSyntaxNode node )
{
return node == ExpEmptyNode._only || node == null;
}
[MethodImpl( MethodImplOptions.AggressiveInlining )]
public static ExpNode NonOperation( Token source )
public static ExpSyntaxNode NonOperation( Token source )
{
return new ExpEmptyNode( source.Line, source.Column );
}
[MethodImpl( MethodImplOptions.AggressiveInlining )]
public static ExpNode NonOperation( int line, int column )
public static ExpSyntaxNode NonOperation( int line, int column )
{
return new ExpEmptyNode( line, column );
}
public void PrependNode( ExpNode previousNode )
public void PrependNode( ExpSyntaxNode previousNode )
{
Previous.Next = previousNode;
previousNode.Previous = Previous;
@@ -118,7 +118,7 @@ namespace StgSharp.Script.Express
previousNode.Next = this;
}
public static bool VerifyTypeConvertable( ExpNode left, ExpNode right )
public static bool VerifyTypeConvertable( ExpSyntaxNode left, ExpSyntaxNode right )
{
IExpElementSource tLeft = left.EqualityTypeConvert,
tRight = right.EqualityTypeConvert;
@@ -132,7 +132,7 @@ namespace StgSharp.Script.Express
return tLeft.IsConvertable( tRight );
}
private class ExpEmptyNode : ExpNode
private class ExpEmptyNode : ExpSyntaxNode
{
internal static readonly ExpEmptyNode _only = new();
@@ -144,9 +144,9 @@ namespace StgSharp.Script.Express
public override ExpInstantiableElement EqualityTypeConvert => ExpInstantiableElement.Void;
public override ExpNode Left => _only;
public override ExpSyntaxNode Left => _only;
public override ExpNode Right => _only;
public override ExpSyntaxNode Right => _only;
}