Skip to content
This repository was archived by the owner on Mar 8, 2020. It is now read-only.

Commit ee904c2

Browse files
authored
Merge pull request #115 from bzz/fix-string-literal-escapes
Fix string literal escapes
2 parents 218768b + 20fee96 commit ee904c2

27 files changed

+1438
-186
lines changed

driver/normalizer/normalizer.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ var Normalize = Transformers([][]Transformer{
1414

1515
var Normalizers = []Mapping{
1616
MapSemantic("StringLiteral", uast.String{}, MapObj(
17-
Obj{
18-
"escapedValue": Quote(Var("val")),
17+
Fields{
18+
{Name: "unescapedValue", Op: Var("val")},
19+
{Name: "escapedValue", Drop: true, Op: Any()}, // only used in Annotated
1920
},
2021
Obj{
2122
"Value": Var("val"),

fixtures/hello_world.java.native

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
},
9797
},
9898
escapedValue: "\"Hello world\"",
99+
unescapedValue: "Hello world",
99100
},
100101
],
101102
expression: { '@type': "QualifiedName",

fixtures/hello_world.java.uast

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
col: 35,
103103
},
104104
},
105+
unescapedValue: "Hello world",
105106
},
106107
],
107108
expression: { '@type': "QualifiedName",

fixtures/member_value_pair.java.native

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@
252252
},
253253
},
254254
escapedValue: "\"\"",
255+
unescapedValue: "",
255256
},
256257
},
257258
],

fixtures/member_value_pair.java.uast

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@
267267
col: 8,
268268
},
269269
},
270+
unescapedValue: "",
270271
},
271272
},
272273
],

fixtures/string_literals.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Code {
2+
String bn = "b\nc";
3+
String zero = "\0";
4+
String doubleDigitOctalEscape = "\41";
5+
String unicodeEscape = "\u1D306";
6+
}

0 commit comments

Comments
 (0)