Sha256: 0bd7f4aa6af43ef14798b8677434b06c779c0f5cdf185f72bb0902a51860b2b6

Contents?: true

Size: 1003 Bytes

Versions: 18

Compression:

Stored size: 1003 Bytes

Contents

#include <stdbool.h>

#include "ruby.h"
#include "ruby/re.h"
#include "ruby/encoding.h"

#include "lexer.h"
#include "parser.h"
#include "constants.h"
#include "ruby_objs.h"

/**
 * Unescape escape sequences in the given string inplace:
 *
 *   '\\n' => "\n"
 *
 * */
void rbs_unescape_string(VALUE string);

/**
 * Receives `parserstate` and `range`, which represents a string token or symbol token, and returns a string VALUE.
 *
 *    Input token | Output string
 *    ------------+-------------
 *    "foo\\n"    | foo\n
 *    'foo'       | foo
 *    `bar`       | bar
 *    :"baz\\t"   | baz\t
 *    :'baz'      | baz
 * */
VALUE rbs_unquote_string(parserstate *state, range rg, int offset_bytes);

/**
 * Raises RBS::ParsingError on `tok` with message constructed with given `fmt`.
 *
 * ```
 * foo.rbs:11:21...11:25: Syntax error: {message}, token=`{tok source}` ({tok type})
 * ```
 * */
PRINTF_ARGS(NORETURN(void) raise_syntax_error(parserstate *state, token tok, const char *fmt, ...), 3, 4);

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rbs-2.5.1 ext/rbs_extension/rbs_extension.h
rbs-2.5.0 ext/rbs_extension/rbs_extension.h
rbs-2.4.0 ext/rbs_extension/rbs_extension.h
rbs-2.3.2 ext/rbs_extension/rbs_extension.h
rbs-2.3.1 ext/rbs_extension/rbs_extension.h
rbs-2.3.0 ext/rbs_extension/rbs_extension.h
rbs-2.2.2 ext/rbs_extension/rbs_extension.h
rbs-2.2.1 ext/rbs_extension/rbs_extension.h
rbs-2.2.0 ext/rbs_extension/rbs_extension.h
rbs-2.1.0 ext/rbs_extension/rbs_extension.h
rbs-2.0.0 ext/rbs_extension/rbs_extension.h
rbs-2.0.0.pre2 ext/rbs_extension/rbs_extension.h
rbs-2.0.0.pre1 ext/rbs_extension/rbs_extension.h
rbs-1.8.1 ext/rbs_extension/rbs_extension.h
rbs-1.8.0 ext/rbs_extension/rbs_extension.h
rbs-1.7.1 ext/rbs_extension/rbs_extension.h
rbs-1.7.0 ext/rbs_extension/rbs_extension.h
rbs-1.7.0.beta.5 ext/rbs_extension/rbs_extension.h