Sha256: c977417a8fde13e6800f5a4defa9c4d87047f31da4978da9d201be9699440163

Contents?: true

Size: 1.79 KB

Versions: 6

Compression:

Stored size: 1.79 KB

Contents

#ifndef SASS_SOURCE_H
#define SASS_SOURCE_H

#include "sass.hpp"
#include "memory.hpp"
#include "position.hpp"
#include "source_data.hpp"

namespace Sass {

  class SourceFile :
    public SourceData {
  protected:
    char* path;
    char* data;
    size_t length;
    size_t srcid;
  public:

    SourceFile(
      const char* path,
      const char* data,
      size_t srcid);

    ~SourceFile();

    const char* end() const override final;
    const char* begin() const override final;
    virtual const char* getRawData() const override;
    virtual SourceSpan getSourceSpan() override;

    size_t size() const override final {
      return length;
    }

    virtual const char* getPath() const override {
      return path;
    }

    virtual size_t getSrcId() const override {
      return srcid;
    }

  };

  class SynthFile :
    public SourceData {
  protected:
    const char* path;
  public:

    SynthFile(
      const char* path) :
      path(path)
    {}

    ~SynthFile() {}

    const char* end() const override final { return nullptr; }
    const char* begin() const override final { return nullptr; };
    virtual const char* getRawData() const override { return nullptr; };
    virtual SourceSpan getSourceSpan() override { return SourceSpan(path); };

    size_t size() const override final {
      return 0;
    }

    virtual const char* getPath() const override {
      return path;
    }

    virtual size_t getSrcId() const override {
      return std::string::npos;
    }

  };
  

  class ItplFile :
    public SourceFile {
  private:
    SourceSpan pstate;
  public:

    ItplFile(const char* data,
      const SourceSpan& pstate);

    // Offset getPosition() const override final;
    const char* getRawData() const override final;
    SourceSpan getSourceSpan() override final;
  };

}

#endif

Version data entries

6 entries across 5 versions & 4 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/sassc-2.4.0/ext/libsass/src/source.hpp
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/sassc-2.4.0/ext/libsass/src/source.hpp
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/sassc-2.4.0/ext/libsass/src/source.hpp
date_n_time_picker_activeadmin-0.1.2 vendor/bundle/ruby/2.6.0/gems/sassc-2.4.0/ext/libsass/src/source.hpp
date_n_time_picker_activeadmin-0.1.1 vendor/bundle/ruby/2.6.0/gems/sassc-2.4.0/ext/libsass/src/source.hpp
sassc-2.4.0 ext/libsass/src/source.hpp