feat(DartWriter): support string interpolation
This commit is contained in:
parent
c85ab3a5a4
commit
c7feaba1cb
9
tools/transpiler/spec/lang_spec.js
Normal file
9
tools/transpiler/spec/lang_spec.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import {describe, it, expect} from 'test_lib/test_lib';
|
||||||
|
|
||||||
|
export function main() {
|
||||||
|
describe('lang', function() {
|
||||||
|
it('string interpolation', function() {
|
||||||
|
expect(`${123}-'${456}"`).toEqual('123-\'456"');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
import {CONSTRUCTOR, FROM} from 'traceur/src/syntax/PredefinedName';
|
import {CONSTRUCTOR, FROM} from 'traceur/src/syntax/PredefinedName';
|
||||||
import {EQUAL_EQUAL_EQUAL, OPEN_PAREN, CLOSE_PAREN, IMPORT, SEMI_COLON, STAR, OPEN_CURLY, CLOSE_CURLY, COMMA, AT, EQUAL} from 'traceur/src/syntax/TokenType';
|
import {EQUAL_EQUAL_EQUAL, OPEN_PAREN, CLOSE_PAREN, IMPORT, SEMI_COLON, STAR, OPEN_CURLY, CLOSE_CURLY, COMMA, AT,
|
||||||
|
EQUAL, SINGLE_QUOTE} from 'traceur/src/syntax/TokenType';
|
||||||
|
|
||||||
import {ParseTreeWriter as JavaScriptParseTreeWriter} from 'traceur/src/outputgeneration/ParseTreeWriter';
|
import {ParseTreeWriter as JavaScriptParseTreeWriter} from 'traceur/src/outputgeneration/ParseTreeWriter';
|
||||||
|
|
||||||
@ -37,6 +38,17 @@ export class DartTreeWriter extends JavaScriptParseTreeWriter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
visitTemplateLiteralExpression(tree) {
|
||||||
|
if (tree.operand) {
|
||||||
|
this.visitAny(tree.operand);
|
||||||
|
this.writeSpace_();
|
||||||
|
}
|
||||||
|
this.writeRaw_(SINGLE_QUOTE);
|
||||||
|
this.visitList(tree.elements);
|
||||||
|
this.writeRaw_(SINGLE_QUOTE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// FUNCTIONS
|
// FUNCTIONS
|
||||||
// - remove the "function" keyword
|
// - remove the "function" keyword
|
||||||
// - type annotation infront
|
// - type annotation infront
|
||||||
|
Loading…
x
Reference in New Issue
Block a user