public ASTError(ASTNode referenceNode, string description) { FullRequest = referenceNode.FullRequest; Position = referenceNode.Position; Length = referenceNode.Length; Description = description; }
void UntrackNode() { curTrack = null; astnode = null; }
public NodeTracker TrackNode(ASTNode node) { if (curTrack != null) throw new InvalidOperationException("Previous tracker must be freed"); astnode = node; if (node != null) { astnode.FullRequest = text; astnode.Position = index; astnode.Length = 0; } return (curTrack = new NodeTracker(this)); }