parameters: (self, p)
docstring: Interface : INTERFACE IDENTIFIER Inheritance LBRACE InterfaceMembers RBRACE SEMICOLON
docstring_summary: Interface : INTERFACE IDENTIFIER Inheritance LBRACE InterfaceMembers RBRACE SEMICOLON
docstring_tokens: Interface : INTERFACE IDENTIFIER Inheritance LBRACE InterfaceMembers RBRACE SEMICOLON
function: def p_Interface(self, p):
          """
              Interface : INTERFACE IDENTIFIER Inheritance LBRACE InterfaceMembers RBRACE SEMICOLON
          """
          location = self.getLocation(p, 1)
          identifier = IDLUnresolvedIdentifier(self.getLocation(p, 2), p[2])
          members = p[5]
          parent = p[3]
  
          try:
              if self.globalScope()._lookupIdentifier(identifier):
                  p[0] = self.globalScope()._lookupIdentifier(identifier)
                  if not isinstance(p[0], IDLInterface):
                      raise WebIDLError("Partial interface has the same name as "
                                        "non-interface object",
                                        [location, p[0].location])
                  p[0].setNonPartial(location, parent, members)
                  return
          except Exception as ex:
              if isinstance(ex, WebIDLError):
                  raise ex
              pass
  
          p[0] = IDLInterface(location, self.globalScope(), identifier, parent,
                              members, isPartial=False)
function_tokens: def p_Interface ( self , p ) : location = self . getLocation ( p , 1 ) identifier = IDLUnresolvedIdentifier ( self . getLocation ( p , 2 ) , p [ 2 ] ) members = p [ 5 ] parent = p [ 3 ] try : if self . globalScope ( ) . _lookupIdentifier ( identifier ) : p [ 0 ] = self . globalScope ( ) . _lookupIdentifier ( identifier ) if not isinstance ( p [ 0 ] , IDLInterface ) : raise WebIDLError ( "Partial interface has the same name as " "non-interface object" , [ location , p [ 0 ] . location ] ) p [ 0 ] . setNonPartial ( location , parent , members ) return except Exception as ex : if isinstance ( ex , WebIDLError ) : raise ex pass p [ 0 ] = IDLInterface ( location , self . globalScope ( ) , identifier , parent , members , isPartial = False )