Esempio n. 1
0
 def test_arrayTypeExp(self):
     g = JavaGrammar()
     self._parseStringTest(
         g.typeExpression(), 'float []',
         Schema.ArrayTypeExp(itemTypeExp=Schema.FloatTypeRef()))
     self._parseStringTest(
         g.typeExpression(), 'float [][]',
         Schema.ArrayTypeExp(itemTypeExp=Schema.ArrayTypeExp(
             itemTypeExp=Schema.FloatTypeRef())))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList []',
         Schema.ArrayTypeExp(itemTypeExp=Schema.ClassOrInterfaceTypeRef(
             name='ArrayList')))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<Integer> []',
         Schema.ArrayTypeExp(itemTypeExp=Schema.GenericTypeExp(
             target='ArrayList',
             args=[Schema.ClassOrInterfaceTypeRef(name='Integer')])))
     self._parseStringTest(
         g.typeExpression(), 'java.util.List []',
         Schema.ArrayTypeExp(itemTypeExp=Schema.MemberTypeExp(
             target=Schema.MemberTypeExp(
                 target=Schema.ClassOrInterfaceTypeRef(name='java'),
                 member=Schema.ClassOrInterfaceTypeRef(name='util')),
             member=Schema.ClassOrInterfaceTypeRef(name='List'))))
Esempio n. 2
0
 def test_classOrInterfaceTypeRef(self):
     g = JavaGrammar()
     self._parseStringTest(g.typeExpression(), 'ArrayList',
                           Schema.ClassOrInterfaceTypeRef(name='ArrayList'))
     self._parseStringTest(
         g.typeExpression(), 'java.util.List',
         Schema.MemberTypeExp(
             target=Schema.MemberTypeExp(
                 target=Schema.ClassOrInterfaceTypeRef(name='java'),
                 member=Schema.ClassOrInterfaceTypeRef(name='util')),
             member=Schema.ClassOrInterfaceTypeRef(name='List')))
Esempio n. 3
0
 def test_typeClassExp(self):
     g = JavaGrammar()
     self._parseStringTest(
         g.primary(), 'float.class',
         Schema.TypeClassExp(typeExp=Schema.FloatTypeRef()))
     self._parseStringTest(
         g.primary(), 'ArrayList<Integer>.class',
         Schema.TypeClassExp(typeExp=Schema.GenericTypeExp(
             target='ArrayList',
             args=[Schema.ClassOrInterfaceTypeRef(name='Integer')])))
     self._parseStringTest(g.primary(), 'void.class', Schema.VoidClassExp())
Esempio n. 4
0
 def test_genericTypeExp(self):
     g = JavaGrammar()
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<Integer>',
         Schema.GenericTypeExp(
             target='ArrayList',
             args=[Schema.ClassOrInterfaceTypeRef(name='Integer')]))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<Integer,Double>',
         Schema.GenericTypeExp(
             target='ArrayList',
             args=[
                 Schema.ClassOrInterfaceTypeRef(name='Integer'),
                 Schema.ClassOrInterfaceTypeRef(name='Double')
             ]))
     self._parseStringTest(
         g.typeExpression(), 'X.ArrayList<Integer>',
         Schema.MemberTypeExp(
             target=Schema.ClassOrInterfaceTypeRef(name='X'),
             member=Schema.GenericTypeExp(
                 target='ArrayList',
                 args=[Schema.ClassOrInterfaceTypeRef(name='Integer')])))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<Integer>.X',
         Schema.MemberTypeExp(
             target=Schema.GenericTypeExp(
                 target='ArrayList',
                 args=[Schema.ClassOrInterfaceTypeRef(name='Integer')]),
             member=Schema.ClassOrInterfaceTypeRef(name='X')))
     self._parseStringTest(
         g.typeExpression(), 'Vector<ArrayList<Integer>>',
         Schema.GenericTypeExp(
             target='Vector',
             args=[
                 Schema.GenericTypeExp(
                     target='ArrayList',
                     args=[Schema.ClassOrInterfaceTypeRef(name='Integer')])
             ]))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<Integer[]>',
         Schema.GenericTypeExp(
             target='ArrayList',
             args=[
                 Schema.ArrayTypeExp(
                     itemTypeExp=Schema.ClassOrInterfaceTypeRef(
                         name='Integer'))
             ]))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<int[]>',
         Schema.GenericTypeExp(
             target='ArrayList',
             args=[Schema.ArrayTypeExp(itemTypeExp=Schema.IntTypeRef())]))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<? extends Q>',
         Schema.GenericTypeExp(
             target='ArrayList',
             args=[
                 Schema.WildCardTypeArgument(
                     extendsOrSuper='extends',
                     typeExp=Schema.ClassOrInterfaceTypeRef(name='Q'))
             ]))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<? super Q>',
         Schema.GenericTypeExp(
             target='ArrayList',
             args=[
                 Schema.WildCardTypeArgument(
                     extendsOrSuper='super',
                     typeExp=Schema.ClassOrInterfaceTypeRef(name='Q'))
             ]))
     self._parseStringTest(
         g.typeExpression(), 'ArrayList<?>',
         Schema.GenericTypeExp(
             target='ArrayList',
             args=[
                 Schema.WildCardTypeArgument(
                     extendsOrSuper='super',
                     typeExp=Schema.ClassOrInterfaceTypeRef(name='Q'))
             ]))
     self._parseStringFailTest(g.typeExpression(), 'ArrayList<int>')
Esempio n. 5
0
 def classOrInterfaceTypeRef(self):
     return self.simpleName().action(lambda input, begin, end, x, bindings:
                                     Schema.ClassOrInterfaceTypeRef(name=x))