--- WebIDL.py
+++ WebIDL.py
@@ -505,46 +505,8 @@ class IDLExposureMixins():
 
 class IDLExternalInterface(IDLObjectWithIdentifier, IDLExposureMixins):
     def __init__(self, location, parentScope, identifier):
-        assert isinstance(identifier, IDLUnresolvedIdentifier)
-        assert isinstance(parentScope, IDLScope)
-        self.parent = None
-        IDLObjectWithIdentifier.__init__(self, location, parentScope, identifier)
-        IDLExposureMixins.__init__(self, location)
-        IDLObjectWithIdentifier.resolve(self, parentScope)
-
-    def finish(self, scope):
-        IDLExposureMixins.finish(self, scope)
-        pass
-
-    def validate(self):
-        pass
-
-    def isExternal(self):
-        return True
-
-    def isInterface(self):
-        return True
-
-    def isConsequential(self):
-        return False
-
-    def addExtendedAttributes(self, attrs):
-        assert len(attrs) == 0
-
-    def resolve(self, parentScope):
-        pass
-
-    def getJSImplementation(self):
-        return None
-
-    def isJSImplemented(self):
-        return False
-
-    def getNavigatorProperty(self):
-        return None
-
-    def _getDependentObjects(self):
-        return set()
+        raise WebIDLError("Servo does not support external interfaces.",
+                          [self.location])
 
 class IDLPartialInterface(IDLObject):
     def __init__(self, location, name, members, nonPartialInterface):