This file is indexed.

/usr/share/guile/site/g-wrap/scm-codegen.scm is in g-wrap 1.9.15-0.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
;;;; File: scm-codegen.scm
;;;; Copyright (C) 2005 Andreas Rottmann
;;;;
;;;; This program is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
;;;; License as published by the Free Software Foundation; either
;;;; version 2, or (at your option) any later version.
;;;; 
;;;; This program is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;;;; Lesser General Public License for more details.
;;;; 
;;;; You should have received a copy of the GNU Lesser General Public
;;;; License along with this software; see the file COPYING.  If not,
;;;; write to the Free Software Foundation, 675 Mass Ave, Cambridge,
;;;; MA 02139, USA.
;;;;

;;; Commentary:
;;
; This module provides the generate-wrapset method for creating
; Scheme-based wrappers.
;;
;;; Code:
(define-module (g-wrap scm-codegen)
  #:use-module (oop goops)

  #:use-module (g-wrap)
  #:use-module (g-wrap util)

  #:export (declarations-cg))

(define (generate-wrapset-scm wrapset port)
  (define (dsp-list lst)
    (for-each (lambda (s) (display s port)) lst))
  (define (rndr expressions)
    (render (make-scm-code expressions) port))
  
  (let ((items (reverse (slot-ref wrapset 'items))))

    (define (render-items cg)
      (for-each (lambda (item)
                  (rndr (cg wrapset item)))
                items))
    
    ;;(format #t "client types: ~S\n" client-types)
    (dsp-list
     (list
      ";; Generated by G-Wrap-TNG: an experimental wrapper engine\n"
      "\n"))

    (format #t "decl-cg: ~S\n" (generic-function-methods declarations-cg))
    (rndr (declarations-cg wrapset))
    (render-items declarations-cg)))

(define-method (generate-wrapset (wrapset <gw-wrapset>)
                                 (basename <string>))
  (let ((wrapset-source-name (string-append basename ".scm")))
    (call-with-output-file/cleanup
     wrapset-source-name
     (lambda (port)
       (generate-wrapset-scm wrapset port)))))

;;; Default implementations (no-ops)

(define-method (declarations-cg (wrapset <gw-wrapset>))
  '())

(define-method (declarations-cg (wrapset <gw-wrapset>) (item <gw-item>))
  '())