示例#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'))))
示例#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')))
示例#3
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>')
示例#4
0
 def _action(input, begin, end, x, bindings):
     typeExp = x[0]
     for g in x[1]:
         typeExp = Schema.MemberTypeExp(target=typeExp, member=g[1])
     return typeExp