Coverage Report

Created: 2025-10-23 06:12

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libsass/src/source.hpp
Line
Count
Source
1
#ifndef SASS_SOURCE_H
2
#define SASS_SOURCE_H
3
4
#include "sass.hpp"
5
#include "memory.hpp"
6
#include "position.hpp"
7
#include "source_data.hpp"
8
9
namespace Sass {
10
11
  class SourceFile :
12
    public SourceData {
13
  protected:
14
    char* path;
15
    char* data;
16
    size_t length;
17
    size_t srcid;
18
  public:
19
20
    SourceFile(
21
      const char* path,
22
      const char* data,
23
      size_t srcid);
24
25
    ~SourceFile();
26
27
    const char* end() const override final;
28
    const char* begin() const override final;
29
    virtual const char* getRawData() const override;
30
    virtual SourceSpan getSourceSpan() override;
31
32
0
    size_t size() const override final {
33
0
      return length;
34
0
    }
35
36
37.4k
    virtual const char* getPath() const override {
37
37.4k
      return path;
38
37.4k
    }
39
40
6.78k
    virtual size_t getSrcId() const override {
41
6.78k
      return srcid;
42
6.78k
    }
43
44
  };
45
46
  class SynthFile :
47
    public SourceData {
48
  protected:
49
    const char* path;
50
  public:
51
52
    SynthFile(
53
      const char* path) :
54
25
      path(path)
55
25
    {}
56
57
0
    ~SynthFile() {}
58
59
0
    const char* end() const override final { return nullptr; }
60
0
    const char* begin() const override final { return nullptr; };
61
0
    virtual const char* getRawData() const override { return nullptr; };
62
0
    virtual SourceSpan getSourceSpan() override { return SourceSpan(path); };
63
64
0
    size_t size() const override final {
65
0
      return 0;
66
0
    }
67
68
0
    virtual const char* getPath() const override {
69
0
      return path;
70
0
    }
71
72
0
    virtual size_t getSrcId() const override {
73
0
      return std::string::npos;
74
0
    }
75
76
  };
77
  
78
79
  class ItplFile :
80
    public SourceFile {
81
  private:
82
    SourceSpan pstate;
83
  public:
84
85
    ItplFile(const char* data,
86
      const SourceSpan& pstate);
87
88
    // Offset getPosition() const override final;
89
    const char* getRawData() const override final;
90
    SourceSpan getSourceSpan() override final;
91
  };
92
93
}
94
95
#endif