mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
moar utility methods
This commit is contained in:
@@ -1189,12 +1189,21 @@ public class ASTGenerator {
|
||||
return candidates;
|
||||
}
|
||||
|
||||
public String getPDESourceCodeLine(int javaLineNumber) {
|
||||
int res[] = errorCheckerService
|
||||
.calculateTabIndexAndLineNumber(javaLineNumber);
|
||||
if (res != null) {
|
||||
return errorCheckerService.getPDECodeAtLine(res[0], res[1]);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the java source code line at the given line number
|
||||
* @param javaLineNumber
|
||||
* @return
|
||||
*/
|
||||
public String getJavaSourceCodeline(int javaLineNumber) {
|
||||
public String getJavaSourceCodeLine(int javaLineNumber) {
|
||||
try {
|
||||
PlainDocument javaSource = new PlainDocument();
|
||||
javaSource.insertString(0, errorCheckerService.sourceCode, null);
|
||||
@@ -1638,7 +1647,7 @@ public class ASTGenerator {
|
||||
if (lineNode != null) {
|
||||
String pdeCodeLine = errorCheckerService.getPDECodeAtLine(editor
|
||||
.getSketch().getCurrentCodeIndex(), lineNumber);
|
||||
String javaCodeLine = getJavaSourceCodeline(pdeLineNumber);
|
||||
String javaCodeLine = getJavaSourceCodeLine(pdeLineNumber);
|
||||
|
||||
log(lineNumber + " Original Line num.\nPDE :" + pdeCodeLine);
|
||||
log("JAVA:" + javaCodeLine);
|
||||
|
||||
@@ -392,7 +392,7 @@ public class ASTNodeWrapper {
|
||||
// Instead of converting pde into java, how can I simply extract the same source
|
||||
// from the java code? Think. TODO
|
||||
String sourceAlt = new String(source);
|
||||
String sourceJava = ecs.astGenerator.getJavaSourceCodeline(lineNumber);
|
||||
String sourceJava = ecs.astGenerator.getJavaSourceCodeLine(lineNumber);
|
||||
TreeMap<Integer, Integer> offsetmap = new TreeMap<Integer, Integer>();
|
||||
|
||||
if(sourceJava.trim().startsWith("public") && !source.startsWith("public")){
|
||||
@@ -650,6 +650,23 @@ public class ASTNodeWrapper {
|
||||
public int[] getPDECodeOffsets(ErrorCheckerService ecs) {
|
||||
return ecs.JavaToPdeOffsets(lineNumber + 1, Node.getStartPosition());
|
||||
}
|
||||
|
||||
public int getPDECodeOffsetForSN(ASTGenerator astGen){
|
||||
if (Node instanceof SimpleName) {
|
||||
Element lineElement = astGen.getJavaSourceCodeElement(lineNumber);
|
||||
|
||||
OffsetMatcher ofm = new OffsetMatcher(
|
||||
astGen
|
||||
.getPDESourceCodeLine(lineNumber),
|
||||
astGen
|
||||
.getJavaSourceCodeLine(lineNumber));
|
||||
//log("");
|
||||
int pdeOffset = ofm.getPdeOffForJavaOff(Node.getStartPosition()
|
||||
- lineElement.getStartOffset(), Node.toString().length());
|
||||
return pdeOffset;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return label;
|
||||
|
||||
Reference in New Issue
Block a user