public abstract TResult Accept <TResult>(ShaderVisitor <TResult> visitor);
public abstract void Accept(ShaderVisitor visitor);