From d54b363ea0fbbe21d527f2e7467a394cc4193d2b Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Fri, 6 May 2016 23:46:01 +0200 Subject: [PATCH] Make sure parseXXX functions can be mapped correctly --- java/src/processing/mode/java/pdex/PDEX.java | 2 ++ java/src/processing/mode/java/pdex/SourceUtils.java | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/java/src/processing/mode/java/pdex/PDEX.java b/java/src/processing/mode/java/pdex/PDEX.java index 9482439cd..6eb7dc4e8 100644 --- a/java/src/processing/mode/java/pdex/PDEX.java +++ b/java/src/processing/mode/java/pdex/PDEX.java @@ -323,6 +323,8 @@ public class PDEX { .map(ps::mapJavaToSketch) // remove occurrences which fall into generated header .filter(ps::inRange) + // remove empty intervals (happens when occurence was inserted) + .filter(in -> in.startPdeOffset < in.stopPdeOffset) .collect(Collectors.toList()); int usageCount = intervals.size(); diff --git a/java/src/processing/mode/java/pdex/SourceUtils.java b/java/src/processing/mode/java/pdex/SourceUtils.java index ef6e55fab..4c9241a92 100644 --- a/java/src/processing/mode/java/pdex/SourceUtils.java +++ b/java/src/processing/mode/java/pdex/SourceUtils.java @@ -68,9 +68,10 @@ public class SourceUtils { String match = matcher.group(1); int offset = matcher.start(1); int length = match.length(); - String replace = "PApplet.parse" - + Character.toUpperCase(match.charAt(0)); - result.add(Edit.replace(offset, length - (match.length() - 1), replace)); + result.add(Edit.insert(offset, "PApplet.")); + String replace = "parse" + + Character.toUpperCase(match.charAt(0)) + match.substring(1); + result.add(Edit.replace(offset, length, replace)); } return result;