• Clemens Hammacher's avatar
    [wasm] Refactor wasm::Result type · d50ebde7
    Clemens Hammacher authored
    - Store std::string instead of std::unique_ptr<char[]> for the error
      message.
    - Remove ErrorCode, which was just kSuccess and kError anyway. Error is
      now detected on whether error_msg_ is empty or not.
    - Refactor constructors for perfect forwarding; this will allow us to
      implement Result<std::unique_ptr<X*>>.
    - Refactor Decoder::toResult for perfect forwarding.
    - Remove output operators (operator<<) for Result; it was only used in
      the error case anyway. Print error message directly instead.
      The operator was problematic since it assumed the existence of an
      output operator for every T which is used in Result<T>.
    - Remove ModuleError and FunctionError, introduce general static
      Result<T>::Error method instead.
    
    R=ahaas@chromium.org
    
    Change-Id: I1e0f602a61ee9780fee2a3ed33147d431fb092ba
    Reviewed-on: https://chromium-review.googlesource.com/472748
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#44518}
    d50ebde7
wasm-compiler.cc 153 KB