src/share/classes/com/sun/tools/apt/comp/Apt.java

Print this page

        

@@ -494,59 +494,14 @@
      * Convert import-style string to regex matching that string.  If
      * the string is a valid import-style string, return a regex that
      * won't match anything.
      */
     Pattern importStringToPattern(String s) {
-        if (s.equals("*")) {
-            return allMatches;
+        if (com.sun.tools.javac.processing.JavacProcessingEnvironment.isValidImportString(s)) {
+            return com.sun.tools.javac.processing.JavacProcessingEnvironment.validImportStringToPattern(s);
         } else {
-            String t = s;
-            boolean star = false;
-
-            /*
-             * Validate string from factory is legal.  If the string
-             * has more than one asterisks or the asterisks does not
-             * appear as the last character (preceded by a period),
-             * the string is not legal.
-             */
-
-            boolean valid = true;
-            int index = t.indexOf('*');
-            if (index != -1) {
-                // '*' must be last character...
-                if (index == t.length() -1) {
-                     // ... and preceeding character must be '.'
-                    if ( index-1 >= 0 ) {
-                        valid = t.charAt(index-1) == '.';
-                        // Strip off ".*$" for identifier checks
-                        t = t.substring(0, t.length()-2);
-                    }
-                } else
-                    valid = false;
-            }
-
-            // Verify string is off the form (javaId \.)+ or javaId
-            if (valid) {
-                String[] javaIds = t.split("\\.", t.length()+2);
-                for(String javaId: javaIds)
-                    valid &= isJavaIdentifier(javaId);
-            }
-
-            if (!valid) {
                 Bark bark = Bark.instance(context);
                 bark.aptWarning("MalformedSupportedString", s);
-                return noMatches; // won't match any valid identifier
-            }
-
-            String s_prime = s.replaceAll("\\.", "\\\\.");
-
-            if (s_prime.endsWith("*")) {
-                s_prime =  s_prime.substring(0, s_prime.length() - 1) + ".+";
-            }
-
-            return Pattern.compile(s_prime);
+            return com.sun.tools.javac.processing.JavacProcessingEnvironment.noMatches;
         }
     }
-
-    private static final Pattern allMatches = Pattern.compile(".*");
-    private static final Pattern noMatches  = Pattern.compile("(\\P{all})+");
 }