Daily update on 20250408-232053 by Nitload Youmu. Additional Message : REPEAT expression mainly complete, should add support to ELEMENT related operation to common expression like instance creating and type converting

Signed-off-by: Nitload <YoumuLiu_NSI@whv0t.onmicrosoft.com>
This commit is contained in:
Nitload
2025-04-08 23:20:53 +08:00
parent d270b6b1f8
commit 7b7b5ee475
27 changed files with 116 additions and 217 deletions
@@ -40,29 +40,29 @@ namespace StgSharp.Script.Express
public class ExpInstanceReferenceNode : ExpNode
{
private ExpElementInstance _instance;
internal ExpInstanceReferenceNode( Token source, ExpElementInstance instance )
: base( source )
{
_instance = instance;
_nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
OriginObject = instance;
_nodeFlag = ( OriginObject._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
CodeConvertTemplate = source.Value;
}
internal ExpInstanceReferenceNode( Token source, ExpInstanceReferenceNode reference )
: base( source )
{
_instance = reference._instance;
_nodeFlag = ( _instance._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
OriginObject = reference.OriginObject;
_nodeFlag = ( OriginObject._nodeFlag | ( ExpNodeFlag.Name_Any | ExpNodeFlag.Collection_Any ) );
CodeConvertTemplate = source.Value;
}
public ExpElementInstance OriginObject { get ; private set; }
public override ExpNode Left => Empty;
public override ExpNode Right => Empty;
public override IExpElementSource EqualityTypeConvert => _instance.EqualityTypeConvert;
public override IExpElementSource EqualityTypeConvert => OriginObject.EqualityTypeConvert;
[MethodImpl( MethodImplOptions.AggressiveInlining )]
public static ExpInstanceReferenceNode MakeReferenceFrom(