コード例 #1
0
        def _java_constructor(self):
            name = self.java_name()
            name_lower_camelized = lower_camelize(name)
            return """\
@com.google.inject.Inject
public %(name)s(@com.google.inject.name.Named("%(name_lower_camelized)sUrl") final java.net.URL jsonRpcUrl) {
    this.jsonRpcUrl = com.google.common.base.Preconditions.checkNotNull(jsonRpcUrl);
}
""" % locals()
コード例 #2
0
        def _java_constructor(self):
            name = self.java_name()
            name_lower_camelized = lower_camelize(name)
            return """\
@com.google.inject.Inject
public %(name)s(@com.google.inject.name.Named("%(name_lower_camelized)sUrl") final java.net.URL jsonRpcUrl) {
    this.jsonRpcUrl = com.google.common.base.Preconditions.checkNotNull(jsonRpcUrl);
}
""" % locals()
コード例 #3
0
 def java_name(self):
     return lower_camelize(self.name)
コード例 #4
0
 def ts_name(self):
     return lower_camelize(self.name)
コード例 #5
0
        def __visit_compound_type_node(self, construct_class_name, compound_type_node):
            compound_type = \
                self.__construct(
                    construct_class_name,
                    annotations=compound_type_node.annotations,
                    doc=self.__visit_doc_node(compound_type_node.doc),
                    name=compound_type_node.name
                )
            self.__scope_stack.append(compound_type)

            # Insert the compound type into the type_map here to allow recursive
            # definitions
            self.__put_type(compound_type.thrift_qname(), compound_type)

            if construct_class_name == 'EnumType':
                enum_type_node = compound_type_node
                have_enumerator_with_value = False
                enumerator_node_names = []
                for enumerator_i, enumerator_node in enumerate(enum_type_node.enumerators):
                    if enumerator_node.name in enumerator_node_names:
                        raise CompileException("%s has a duplicate enumerator name, %s" % (enum_type_node.name, enumerator_node.name), ast_node=enumerator_node)
                    enumerator_node_names.append(enumerator_node.name)

                    if enumerator_node.value is not None:
                        have_enumerator_with_value = True
                        assert isinstance(enumerator_node.value, Ast.IntLiteralNode), type(enumerator_node.value)
                        value = enumerator_node.value.value
                    else:
                        if have_enumerator_with_value:
                            raise CompileException("%s has mix of enumerators with and without values, must be one or the other" % enum_type_node.name, ast_node=enum_type_node)
                        value = enumerator_i

                    compound_type.enumerators.append(
                        self.__construct(
                            'Field',
                            annotation_nodes=enumerator_node.annotations,
                            doc=self.__visit_doc_node(enumerator_node.doc),
                            id=enumerator_i,
                            name=enumerator_node.name,
                            type=Ast.BaseTypeNode('i32').accept(self),
                            value=value
                        )
                    )
            else:
                field_name_variations = []
                id_count = 0
                for field_node in compound_type_node.fields:
                    field_name = field_node.name
                    if field_name in field_name_variations:
                        raise CompileException("compound type %s has a duplicate field %s" % (compound_type_node.name, field_name), ast_node=field_node)

                    field_name_lower = field_name.lower()
                    if field_name_lower in field_name_variations:
                        raise CompileException("compound type %s has a duplicate field %s" % (compound_type_node.name, field_name), ast_node=field_node)

                    field_name_lower_camelized = lower_camelize(field_name)
                    if field_name_lower_camelized in field_name_variations:
                        raise CompileException("compound type %s has a duplicate field %s" % (compound_type_node.name, field_name), ast_node=field_node)

                    field_name_variations.append(field_name)
                    field_name_variations.append(field_name_lower)
                    field_name_variations.append(field_name_lower_camelized)

                    field = field_node.accept(self)
                    if field.required:
                        if len(compound_type.fields) > 0:
                            if not compound_type.fields[-1].required:
                                raise CompileException("compound type %s has a required field %s after an optional field %s" % (compound_type_node.name, field.name, compound_type.fields[-1].name), ast_node=compound_type_node)
                    if field.id is not None:
                        id_count += 1
                        for existing_field in compound_type.fields:
                            if existing_field.id == field.id:
                                raise CompileException("compound type %s has duplicate field id %d (%s and %s fields)" % (compound_type_node.name, field.id, field.name, existing_field.name), ast_node=compound_type_node)
                    compound_type.fields.append(field)
                if len(compound_type.fields) > 0:
                    if id_count != 0 and id_count != len(compound_type_node.fields):
                        raise CompileException("compound type %s has some fields with ids and some fields without" % compound_type_node.name, ast_node=compound_type_node)

            self.__scope_stack.pop(-1)

            return compound_type
コード例 #6
0
 def java_name(self):
     return lower_camelize(self.name)
コード例 #7
0
 def java_name(self, boxed=False):
     return lower_camelize(self.name)
コード例 #8
0
ファイル: java_field.py プロジェクト: financeCoding/thryft
 def java_name(self, boxed=False):
     return lower_camelize(self.name)
コード例 #9
0
 def dart_name(self):
     return lower_camelize(self.name)