def constructPrimitiveTypeDescriptor(self, typeIndex):
     if self.isDefinedType(typeIndex):
         return self.typeIndexMap[typeIndex]
     else:
         descriptor = FFITypes.PrimitiveTypeDescriptor()
         # descriptor.environment = self.environment
         descriptor.atomicType = interrogate_type_atomic_token(typeIndex)
         if interrogate_type_has_module_name(typeIndex):
             descriptor.moduleName = "lib" + interrogate_type_module_name(typeIndex)
         descriptor.foreignTypeName = FFIRename.nonClassNameFromCppName(getTypeName(typeIndex))
         descriptor.typeIndex = typeIndex
         self.typeIndexMap[typeIndex] = descriptor
         return descriptor
Example #2
0
 def constructPrimitiveTypeDescriptor(self, typeIndex):
     if self.isDefinedType(typeIndex):
         return self.typeIndexMap[typeIndex]
     else:
         descriptor = FFITypes.PrimitiveTypeDescriptor()
         #descriptor.environment = self.environment
         descriptor.atomicType = interrogate_type_atomic_token(typeIndex)
         if interrogate_type_has_module_name(typeIndex):
             descriptor.moduleName = 'lib' + interrogate_type_module_name(typeIndex)
         descriptor.foreignTypeName = \
             FFIRename.nonClassNameFromCppName(getTypeName(typeIndex))
         descriptor.typeIndex = typeIndex
         self.typeIndexMap[typeIndex] = descriptor
         return descriptor
    def constructFunctionArgumentTypes(self, functionIndex):
        numArgs = interrogate_wrapper_number_of_parameters(functionIndex)
        arguments = []
        for argIndex in range(numArgs):
            if interrogate_wrapper_parameter_has_name(functionIndex, argIndex):
                name = FFIRename.nonClassNameFromCppName(interrogate_wrapper_parameter_name(functionIndex, argIndex))
            else:
                name = "parameter" + ` argIndex `
            descriptor = self.constructDescriptor(interrogate_wrapper_parameter_type(functionIndex, argIndex))

            argSpec = FFISpecs.MethodArgumentSpecification()
            if interrogate_wrapper_parameter_is_this(functionIndex, argIndex):
                argSpec.isThis = 1
            argSpec.name = name
            argSpec.typeDescriptor = descriptor
            arguments.append(argSpec)
        return arguments
 def constructConstTypeDescriptor(self, typeIndex):
     if self.isDefinedType(typeIndex):
         return self.typeIndexMap[typeIndex]
     descriptor = FFITypes.ConstTypeDescriptor()
     # descriptor.environment = self.environment
     descriptor.isNested = interrogate_type_is_nested(typeIndex)
     if descriptor.isNested:
         outerTypeIndex = interrogate_type_outer_class(typeIndex)
         descriptor.outerType = self.constructDescriptor(outerTypeIndex)
     if interrogate_type_has_module_name(typeIndex):
         descriptor.moduleName = "lib" + interrogate_type_module_name(typeIndex)
     descriptor.foreignTypeName = FFIRename.nonClassNameFromCppName(getTypeName(typeIndex))
     descriptor.typeIndex = typeIndex
     wrappedTypeIndex = interrogate_type_wrapped_type(typeIndex)
     wrappedTypeDescriptor = self.constructDescriptor(wrappedTypeIndex)
     descriptor.typeDescriptor = wrappedTypeDescriptor
     self.typeIndexMap[typeIndex] = descriptor
     return descriptor
Example #5
0
 def constructFunctionArgumentTypes(self, functionIndex):
     numArgs = interrogate_wrapper_number_of_parameters(functionIndex)
     arguments = []
     for argIndex in range(numArgs):
         if interrogate_wrapper_parameter_has_name(functionIndex, argIndex):
             name =  FFIRename.nonClassNameFromCppName(
                 interrogate_wrapper_parameter_name(functionIndex, argIndex))
         else:
             name = ('parameter' + `argIndex`)
         descriptor = self.constructDescriptor(
             interrogate_wrapper_parameter_type(functionIndex, argIndex))
         
         argSpec = FFISpecs.MethodArgumentSpecification()
         if interrogate_wrapper_parameter_is_this(functionIndex, argIndex):
             argSpec.isThis = 1
         argSpec.name = name
         argSpec.typeDescriptor = descriptor
         arguments.append(argSpec)
     return arguments
Example #6
0
 def constructConstTypeDescriptor(self, typeIndex):
     if self.isDefinedType(typeIndex):
         return self.typeIndexMap[typeIndex]
     descriptor = FFITypes.ConstTypeDescriptor()
     #descriptor.environment = self.environment
     descriptor.isNested = interrogate_type_is_nested(typeIndex)
     if descriptor.isNested:
         outerTypeIndex = interrogate_type_outer_class(typeIndex)
         descriptor.outerType = self.constructDescriptor(outerTypeIndex)
     if interrogate_type_has_module_name(typeIndex):
         descriptor.moduleName = 'lib' + interrogate_type_module_name(typeIndex)
     descriptor.foreignTypeName = \
          FFIRename.nonClassNameFromCppName(getTypeName(typeIndex))
     descriptor.typeIndex = typeIndex
     wrappedTypeIndex = interrogate_type_wrapped_type(typeIndex)
     wrappedTypeDescriptor = self.constructDescriptor(wrappedTypeIndex)
     descriptor.typeDescriptor = wrappedTypeDescriptor
     self.typeIndexMap[typeIndex] = descriptor
     return descriptor