package org.simantics.scl.compiler.completions; public class PrefixUtil { public static String findPrefix(String sourceText, int end) { int position; for(position=end-1;position >= 0 && isPrefixChar(sourceText.charAt(position));--position); ++position; while(position < end && !isPrefixStart(sourceText.charAt(position))) ++position; return sourceText.substring(position, end); } private static boolean isPrefixStart(char c) { return Character.isJavaIdentifierStart(c); } private static boolean isPrefixChar(char c) { return Character.isJavaIdentifierPart(c) || c=='.'; } public static String[] splitPrefix(String prefix) { int partCount = 1; for(int i=0;i