Esempio n. 1
0
def fix_regexp_node(node: bblfsh.Node) -> bblfsh.Node:
    """
    Workaround https://github.com/bblfsh/javascript-driver/issues/37.

    Should be removed as soon as issue closed and new driver is used.
    """
    node.token = node.properties["pattern"]
    return node
Esempio n. 2
0
def fix_string_literal_type_anotation(node: bblfsh.Node) -> bblfsh.Node:
    """
    Workaround https://github.com/bblfsh/javascript-driver/issues/66.

    Should be removed as soon as issue closed and new driver is used.
    """
    if node.token == "":
        node.token = node.properties["value"]
    return node
Esempio n. 3
0
def fix_operator_node(node: bblfsh.Node) -> bblfsh.Node:
    """
    Workaround https://github.com/bblfsh/javascript-driver/issues/65.

    Should be removed as soon as issue closed and new driver is used.
    """
    if (node.start_position.offset + node.start_position.col +
            node.start_position.line + node.end_position.offset +
            node.end_position.col + node.end_position.line == 0):
        node.token = ""
    return node
Esempio n. 4
0
 def testFilterToken(self):
     node = Node()
     node.token = 'a'
     self.assertTrue(any(filter(node, "//*[@token='a']")))
     self.assertFalse(any(filter(node, "//*[@token='b']")))