Concatenation of string literals, without any variables, is allowed, both using `+` and using adjacent strings. Those are typically used for multiline strings.
Raw string literals are also an exception to this rule, since they don't support interpolation.
[source,dart]
----
var s1 =
'hello\n' +
'world'; // OK
var s2 =
'hello\n'
'world'; // OK
var s3 = r'hello\n' + s1; // OK
----
The multiline strings like `s1` and `s2` above can also be written as follows:
If a non-parenthesized sequence of concatenations is detected, a single issue is reported, on the first part of it: e.g. in `'a' + s1 + 'a'` and `s1 + 'a' + s1`, only `'a' + s1` and `s1 + 'a'` is reported, respectively.
An exception is made for single string variables or literals in parentheses, where the outer concatenation is reported: e.g. in `'a' + (s1)`, the entire expression is reported.
In parenthesized expressions, only innermost concatenations are reported: e.g. in `'a' + (s1 + 'a')`, only `s1 + 'a'` is reported.