# Abstract CommonMark\Node

(cmark >= 1.0.0)

## Introduction

Represents an Abstract Node, this final abstract is not for direct use by the programmer.

## Class synopsis

final abstract CommonMark\Node implements CommonMark\Interfaces\IVisitable , Traversable {
/* Properties */
public readonly Node|null $parent ;
public readonly Node|null $previous ;
public readonly Node|null $next ;
public readonly Node|null $lastChild ;
public readonly Node|null $firstChild ;
public readonly int $startLine ;
public readonly int $endLine ;
public readonly int $startColumn ;
public readonly int $endColumn ;
/* Methods */
public appendChild ( CommonMark\Node `$child` ) : CommonMark\Node
public prependChild ( CommonMark\Node `$child` ) : CommonMark\Node
public insertAfter ( CommonMark\Node `$sibling` ) : CommonMark\Node
public insertBefore ( CommonMark\Node `$sibling` ) : CommonMark\Node
public replace ( CommonMark\Node `$target` ) : CommonMark\Node
public unlink ( ) : void
public accept ( CommonMark\Interfaces\IVisitor `$visitor` ) : void
}

## Table of Contents

- CommonMark\Node::appendChild — AST Manipulation
- CommonMark\Node::prependChild — AST Manipulation
- CommonMark\Node::insertAfter — AST Manipulation
- CommonMark\Node::insertBefore — AST Manipulation
- CommonMark\Node::replace — AST Manipulation
- CommonMark\Node::unlink — AST Manipulation
- CommonMark\Node::accept — Visitation