Avoid exception from StringLiteral.getLiteralValue()
This commit is contained in:
@@ -153,6 +153,11 @@
|
||||
<artifactId>org.eclipse.jgit</artifactId>
|
||||
<version>${jgit-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-text</artifactId>
|
||||
<version>1.12.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
@@ -134,6 +134,11 @@
|
||||
<artifactId>json</artifactId>
|
||||
<version>20231013</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-text</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.eclipse.lemminx</groupId>
|
||||
|
||||
@@ -13,6 +13,7 @@ package org.springframework.ide.vscode.boot.java.embedded.lang;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.text.StringEscapeUtils;
|
||||
import org.eclipse.jdt.core.dom.StringLiteral;
|
||||
import org.springframework.ide.vscode.commons.util.text.IRegion;
|
||||
import org.springframework.ide.vscode.commons.util.text.Region;
|
||||
@@ -31,8 +32,12 @@ public class StringLiteralLanguageSnippet implements EmbeddedLanguageSnippet {
|
||||
*/
|
||||
private transient List<Region> specialRegions;
|
||||
|
||||
private static String getLiteralValueStr(String escaped) {
|
||||
return StringEscapeUtils.unescapeJava(escaped.substring(1, escaped.length() - 1));
|
||||
}
|
||||
|
||||
public StringLiteralLanguageSnippet(StringLiteral literal) {
|
||||
this(literal.getEscapedValue(), literal.getLiteralValue(), literal.getStartPosition());
|
||||
this(literal.getEscapedValue(), getLiteralValueStr(literal.getEscapedValue()), literal.getStartPosition());
|
||||
}
|
||||
|
||||
public StringLiteralLanguageSnippet(String escapedValue, String literalValue, int literalOffset) {
|
||||
|
||||
@@ -13,6 +13,7 @@ package org.springframework.ide.vscode.boot.java.embedded.lang;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.text.StringEscapeUtils;
|
||||
import org.eclipse.jdt.core.dom.TextBlock;
|
||||
import org.springframework.ide.vscode.commons.util.text.IRegion;
|
||||
import org.springframework.ide.vscode.commons.util.text.Region;
|
||||
@@ -26,8 +27,12 @@ public class TextBlockLanguageSnippet implements EmbeddedLanguageSnippet {
|
||||
private transient int startOffset;
|
||||
private transient List<Region> specialRegions;
|
||||
|
||||
private static String getLiteralValueStr(String escaped) {
|
||||
return StringEscapeUtils.unescapeJava(escaped.substring(3, escaped.length() - 3));
|
||||
}
|
||||
|
||||
public TextBlockLanguageSnippet(TextBlock block) {
|
||||
this(block.getEscapedValue(), block.getLiteralValue(), block.getStartPosition());
|
||||
this(block.getEscapedValue(), getLiteralValueStr(block.getEscapedValue()), block.getStartPosition());
|
||||
}
|
||||
|
||||
public TextBlockLanguageSnippet(String escapedValue, String literalValue, int literalOffset) {
|
||||
|
||||
Reference in New Issue
Block a user