浏览代码

fix identifier interpolation for identifiers that start with upper-case letter

Dan Korostelev 8 年之前
父节点
当前提交
ade38a327c
共有 2 个文件被更改,包括 3 次插入2 次删除
  1. 1 1
      src/syntax/lexer.ml
  2. 2 1
      tests/unit/src/unit/TestBasetypes.hx

+ 1 - 1
src/syntax/lexer.ml

@@ -387,7 +387,7 @@ and string2 pmin parts lexbuf =
 	| "'" ->
 		consume_part(), lexeme_end lexbuf
 	| "$$" -> add "$"; string2 pmin parts lexbuf
-	| '$', ident ->
+	| '$', (ident | idtype) ->
 		let parts = consume_part() in
 		let pmin = lexeme_start lexbuf in
 		let pmax = lexeme_end lexbuf in

+ 2 - 1
tests/unit/src/unit/TestBasetypes.hx

@@ -298,9 +298,10 @@ class TestBasetypes extends Test {
 		eq('$$', "$");
 		eq('x$*', "x$*");
 
-		var x = 5, y = [];
+		var x = 5, y = [], Z = 30;
 		eq('$x', "5");
 		eq('a$x$', "a5$");
+		eq('$Z', "30");
 
 		eq('${5}', "5");
 		eq('${5}${2}', "52");