diff --git a/src/com/google/javascript/jscomp/ProcessCommonJSModules.java b/src/com/google/javascript/jscomp/ProcessCommonJSModules.java index 77077a7b266..b630ccabe28 100644 --- a/src/com/google/javascript/jscomp/ProcessCommonJSModules.java +++ b/src/com/google/javascript/jscomp/ProcessCommonJSModules.java @@ -1101,7 +1101,7 @@ private void fixTypeNode(NodeTraversal t, Node typeNode) { if (typeNode.isString()) { String name = typeNode.getString(); // Type nodes can be module paths. - if (ModuleLoader.isRelativeIdentifier(name) || ModuleLoader.isAbsoluteIdentifier(name)) { + if (ModuleLoader.isPathIdentifier(name)) { int lastSlash = name.lastIndexOf('/'); int endIndex = name.indexOf('.', lastSlash); String localTypeName = null; diff --git a/src/com/google/javascript/jscomp/ProcessEs6Modules.java b/src/com/google/javascript/jscomp/ProcessEs6Modules.java index 824388f6cd5..4c11c637579 100644 --- a/src/com/google/javascript/jscomp/ProcessEs6Modules.java +++ b/src/com/google/javascript/jscomp/ProcessEs6Modules.java @@ -528,7 +528,7 @@ public void visit(NodeTraversal t, Node n, Node parent) { private void fixTypeNode(NodeTraversal t, Node typeNode) { if (typeNode.isString()) { String name = typeNode.getString(); - if (ModuleLoader.isRelativeIdentifier(name) || ModuleLoader.isAbsoluteIdentifier(name)) { + if (ModuleLoader.isPathIdentifier(name)) { int lastSlash = name.lastIndexOf('/'); int endIndex = name.indexOf('.', lastSlash); String localTypeName = null; diff --git a/src/com/google/javascript/jscomp/deps/ModuleLoader.java b/src/com/google/javascript/jscomp/deps/ModuleLoader.java index 279d8e4287d..170683fb83f 100644 --- a/src/com/google/javascript/jscomp/deps/ModuleLoader.java +++ b/src/com/google/javascript/jscomp/deps/ModuleLoader.java @@ -297,6 +297,9 @@ public static boolean isAbsoluteIdentifier(String name) { return name.startsWith(MODULE_SLASH); } + /** Whether name is a path-based identifier (has a '/' character) */ + public static boolean isPathIdentifier(String name) { return name.contains(MODULE_SLASH); } + private static ImmutableList createRootPaths( Iterable roots, PathResolver resolver) { ImmutableList.Builder builder = ImmutableList.builder();