Example #1
0
 def visit_Name(self, n):
     self._process_expr(n)
     
     id = n.id
     if id in cl.builtins:
         return id
     
     try:
         constant = self.constants[id]
     except KeyError:
         if id in self.all_variables:
             return id
     else:
         if isinstance(n.ctx, _ast.Store):
             raise CompileTimeError("Cannot assign to constant %s." % id, n)
         
         # inline constants
         if isinstance(constant, basestring):
             return cl.to_cl_string_literal(constant)
         cl_type = cl.infer_cl_type(constant)
         if isinstance(cl_type, cl.PtrType):
             return "__implicit__" + str(self._add_implicit(constant))
         else:
             return cl_type.make_literal(constant)
Example #2
0
    def visit_Name(self, n):
        self._process_expr(n)

        id = n.id
        if id in cl.builtins:
            return id

        try:
            constant = self.constants[id]
        except KeyError:
            if id in self.all_variables:
                return id
        else:
            if isinstance(n.ctx, _ast.Store):
                raise CompileTimeError("Cannot assign to constant %s." % id, n)

            # inline constants
            if isinstance(constant, basestring):
                return cl.to_cl_string_literal(constant)
            cl_type = cl.infer_cl_type(constant)
            if isinstance(cl_type, cl.PtrType):
                return "__implicit__" + str(self._add_implicit(constant))
            else:
                return cl_type.make_literal(constant)
Example #3
0
 def visit_Str(self, n):
     self._process_expr(n)
     
     return cl.to_cl_string_literal(n.s)
Example #4
0
    def visit_Str(self, n):
        self._process_expr(n)

        return cl.to_cl_string_literal(n.s)