...
This commit is contained in:
@@ -126,6 +126,18 @@ public class StructTypeFunc(string name, string? hook, FuncTypeNode type)
|
||||
public FuncTypeNode Type { get; } = type;
|
||||
}
|
||||
|
||||
public class ArrayTypeNode(TypeNode elementType) : TypeNode
|
||||
{
|
||||
public override bool IsValueType => false;
|
||||
public override bool IsScalar => true;
|
||||
|
||||
public TypeNode ElementType { get; } = elementType;
|
||||
|
||||
public override string ToString() => "[]" + ElementType;
|
||||
public override bool Equals(TypeNode? other) => other is ArrayTypeNode array && ElementType.Equals(array.ElementType);
|
||||
public override int GetHashCode() => HashCode.Combine(typeof(ArrayTypeNode), ElementType);
|
||||
}
|
||||
|
||||
public class CStringTypeNode : TypeNode
|
||||
{
|
||||
public override bool IsValueType => false;
|
||||
@@ -144,16 +156,4 @@ public class StringTypeNode : TypeNode
|
||||
public override string ToString() => "string";
|
||||
public override bool Equals(TypeNode? other) => other is StringTypeNode;
|
||||
public override int GetHashCode() => HashCode.Combine(typeof(StringTypeNode));
|
||||
}
|
||||
|
||||
public class ArrayTypeNode(TypeNode elementType) : TypeNode
|
||||
{
|
||||
public override bool IsValueType => false;
|
||||
public override bool IsScalar => false;
|
||||
|
||||
public TypeNode ElementType { get; } = elementType;
|
||||
|
||||
public override string ToString() => "[]" + ElementType;
|
||||
public override bool Equals(TypeNode? other) => other is ArrayTypeNode array && ElementType.Equals(array.ElementType);
|
||||
public override int GetHashCode() => HashCode.Combine(typeof(ArrayTypeNode), ElementType);
|
||||
}
|
||||
Reference in New Issue
Block a user