Sha256: 98f95a018607dcadd5d362c65cf7046996d2c3ae5d66e866f0bda981b5aee643

Contents?: true

Size: 955 Bytes

Versions: 5

Compression:

Stored size: 955 Bytes

Contents

#include "RefractSourceMap.h"

static refract::IElement* CharacterRangeToRefract(const mdp::CharactersRange& sourceMap)
{
    refract::ArrayElement* range = new refract::ArrayElement;

    range->push_back(refract::IElement::Create(sourceMap.location));
    range->push_back(refract::IElement::Create(sourceMap.length));

    return range;
}

refract::IElement* drafter::SourceMapToRefract(const mdp::CharactersRangeSet& sourceMap)
{
    refract::ArrayElement* sourceMapElement = new refract::ArrayElement;
    sourceMapElement->element(SerializeKey::SourceMap);

    refract::ArrayElement::ValueType ranges;
    std::transform(sourceMap.begin(), sourceMap.end(), std::back_inserter(ranges), CharacterRangeToRefract);

    sourceMapElement->renderType(refract::IElement::rCompactContent);
    sourceMapElement->set(ranges);

    refract::ArrayElement* element = new refract::ArrayElement;
    element->push_back(sourceMapElement);

    return element;
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lounge_lizard-0.1.4 ext/drafter/src/RefractSourceMap.cc
lounge_lizard-0.1.3 ext/drafter/src/RefractSourceMap.cc
lounge_lizard-0.1.2 ext/drafter/src/RefractSourceMap.cc
lounge_lizard-0.1.1 ext/drafter/src/RefractSourceMap.cc
lounge_lizard-0.1.0 ext/drafter/src/RefractSourceMap.cc