String foo(dynamic bar) {
return "æble $bar";
}

String bar() {
return "æble"
}

String baz() {
return "$*synthetic*1"
}

String qux() {
return r"æble$"
}

String quux() {
return r"æble$"
}

String corge() {

return r"æble"}

[UnterminatedString]



[UnterminatedToken]







[UnterminatedString]




[UnterminatedString][UnmatchedToken]String[StringToken] foo[StringToken]([BeginToken]dynamic[KeywordToken] bar[StringToken])[SimpleToken] {[BeginToken]
return[KeywordToken] "æble [StringToken]$[SimpleToken]bar[StringToken]"[StringToken];[SimpleToken]
}[SimpleToken]

String[StringToken] bar[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
return[KeywordToken] "æble"[SyntheticStringToken]
}[SimpleToken]

String[StringToken] baz[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
return[KeywordToken] "[StringToken]$[SimpleToken][SyntheticStringToken]1"[StringToken]
}[SimpleToken]

String[StringToken] qux[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
return[KeywordToken] r"æble$"[StringToken]
}[SimpleToken]

String[StringToken] quux[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
return[KeywordToken] r"æble$"[SyntheticStringToken]
}[SimpleToken]

String[StringToken] corge[StringToken]([BeginToken])[SimpleToken] {[BeginToken]

return[KeywordToken] r"æble"[SyntheticStringToken]}[SyntheticToken][SimpleToken]
