MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxSourceMapLines

Function fxSourceMapLines

xs/sources/xsSourceMap.c:124–177  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

122}
123
124void fxSourceMapLines(txParser* parser, txString mappings)
125{
126 enum { BEGIN, SOURCE, LINE, COLUMN, NAME, END };
127 txInteger generatedLine = 0;
128// txInteger generatedColumn = 0;
129// txInteger name = 0;
130// txInteger source = 0;
131 txInteger sourceLine = 0;
132// txInteger sourceColumn = 0;
133 txInteger state = BEGIN;
134 txString p = mappings;
135 char c;
136 while ((c = *p)) {
137 if (c == ';') {
138 p++;
139 if ((state >= NAME) && (generatedLine < parser->states[0].line))
140 parser->lines[1 + generatedLine] = 1 + sourceLine;
141 generatedLine++;
142// generatedColumn = 0;
143 state = BEGIN;
144 }
145 else if (c == ',') {
146 p++;
147 if ((state >= NAME) && (generatedLine < parser->states[0].line))
148 parser->lines[1 + generatedLine] = 1 + sourceLine;
149 state = BEGIN;
150 }
151 else {
152 txInteger value = fxSourceMapValue(parser, &p);
153 switch(state) {
154 case BEGIN:
155// generatedColumn += value;
156 state = SOURCE;
157 break;
158 case SOURCE:
159// source += value;
160 state = LINE;
161 break;
162 case LINE:
163 sourceLine += value;
164 state = COLUMN;
165 break;
166 case COLUMN:
167// sourceColumn += value;
168 state = NAME;
169 break;
170 case NAME:
171// name += value;
172 state = END;
173 break;
174 }
175 }
176 }
177}
178
179#define VLQ_SHIFT 5
180// binary: 100000

Callers 1

fxParserSourceMapFunction · 0.85

Calls 1

fxSourceMapValueFunction · 0.85

Tested by

no test coverage detected