Fix #warnings taking exponential time to compute

*sigh*
like this
```ruby
if node.respond_to?(:warnings) && node_warnings = node.warnings
  all_warnings.concat(node_warnings)
end
```