]> Cypherpunks repositories - gostls13.git/commitdiff
- moved package code into globals.go, adjusted deps
authorRobert Griesemer <gri@golang.org>
Thu, 17 Jul 2008 21:53:13 +0000 (14:53 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 17 Jul 2008 21:53:13 +0000 (14:53 -0700)
SVN=127887

usr/gri/gosrc/compilation.go
usr/gri/gosrc/export.go
usr/gri/gosrc/globals.go
usr/gri/gosrc/package.go [deleted file]

index ac2ac59aff499f763afa8216c1ad47b29942d6ed..3e602b9e40c454cd3843a570f90faa633e76b882 100644 (file)
@@ -8,7 +8,6 @@ import Globals "globals"
 import Object "object"
 import Type "type"
 import Universe "universe"
-import Package "package"
 import Scanner "scanner"
 import Parser "parser"
 import Export "export"
@@ -18,12 +17,12 @@ export Compilation
 type Compilation struct {
   src_name string;
   pkg *Globals.Object;
-  imports [256] *Package.Package;  // TODO need open arrays
+  imports [256] *Globals.Package;  // TODO need open arrays
   nimports int;
 }
 
 
-func (C *Compilation) Lookup(file_name string) *Package.Package {
+func (C *Compilation) Lookup(file_name string) *Globals.Package {
        for i := 0; i < C.nimports; i++ {
                pkg := C.imports[i];
                if pkg.file_name == file_name {
@@ -34,7 +33,7 @@ func (C *Compilation) Lookup(file_name string) *Package.Package {
 }
 
 
-func (C *Compilation) Insert(pkg *Package.Package) {
+func (C *Compilation) Insert(pkg *Globals.Package) {
        if C.Lookup(pkg.file_name) != nil {
                panic "package already inserted";
        }
@@ -44,7 +43,7 @@ func (C *Compilation) Insert(pkg *Package.Package) {
 }
 
 
-func (C *Compilation) InsertImport(pkg *Package.Package) *Package.Package {
+func (C *Compilation) InsertImport(pkg *Globals.Package) *Globals.Package {
        p := C.Lookup(pkg.file_name);
        if (p == nil) {
                // no primary package found
@@ -111,4 +110,5 @@ func Compile(src_name string, verbose int) {
        
        print "parsing ", src_name, "\n";
        P.ParseProgram();
+       //comp.Export();
 }
index 6a321cafdaab49cf99b09e705a1dfed705a4f8e5..419392168047239beb602bc23c4725a91d9a47e5 100755 (executable)
@@ -7,7 +7,6 @@ package Exporter
 import Globals "globals"
 import Object "object"
 import Type "type"
-import Package "package"
 //import Compilation "compilation"
 
 
@@ -25,7 +24,7 @@ type Exporter struct {
 
 func (E *Exporter) WriteType(typ *Globals.Type);
 func (E *Exporter) WriteObject(obj *Globals.Object);
-func (E *Exporter) WritePackage(pkg *Package.Package) ;
+func (E *Exporter) WritePackage(pkg *Globals.Package) ;
 
 
 func (E *Exporter) WriteByte(x byte) {
@@ -240,7 +239,7 @@ func (E *Exporter) WriteType(typ *Globals.Type) {
 }
 
 
-func (E *Exporter) WritePackage(pkg *Package.Package) {
+func (E *Exporter) WritePackage(pkg *Globals.Package) {
        if pkg.ref >= 0 {
                E.WritePackageTag(-pkg.ref);  // package already exported
                return;
@@ -279,7 +278,7 @@ func (E *Exporter) Export(/*Compilation* comp, BBuffer* buf*/) {
        E.type_ref = Universe.types.len();
        */
        
-       var pkg *Package.Package = nil; // comp.packages[0];
+       var pkg *Globals.Package = nil; // comp.packages[0];
        E.WritePackage(pkg);
        for p := pkg.scope.entries.first; p != nil; p = p.next {
                if p.obj.mark {
index 3fd0981ebf63653c306f1ef0986f13e754082deb..83d3a8fb3f969c42101af31d84764e9d2cab631f 100644 (file)
@@ -6,9 +6,9 @@ package Globals
 
 
 // The following types should really be in their respective files
-// object.go, type.go, and scope.go but they refer to each other
-// and we don't know how to handle forward-declared pointers across
-// packages yet.
+// (object.go, type.go, scope.go, package.go) but they refer to each
+// other and we don't know how to handle forward-declared pointers
+// across packages yet.
 
 
 // ----------------------------------------------------------------------------
@@ -64,6 +64,17 @@ type Scope struct {
 }
 
 
+export Package
+type Package struct {
+       ref int;  // for exporting only: >= 0 means already exported
+       file_name string;
+       ident string;
+       key string;
+       scope *Scope;
+       pno int;
+}
+
+
 // ----------------------------------------------------------------------------
 // Creation
 
@@ -103,6 +114,13 @@ func NewScope(parent *Scope) *Scope {
 }
 
 
+export NewPackage;
+func NewPackage() *Package {
+       pkg := new(Package);
+       return pkg;
+}
+
+
 // ----------------------------------------------------------------------------
 // List methods
 
diff --git a/usr/gri/gosrc/package.go b/usr/gri/gosrc/package.go
deleted file mode 100644 (file)
index bea260b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2009 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package Package
-
-import Globals "globals"
-
-export Package
-type Package struct {
-       ref int;
-       file_name string;
-       ident string;
-       key string;
-       scope *Globals.Scope;
-       pno int;
-}
-
-
-export NewPackage;
-func NewPackage() *Package {
-       pkg := new(Package);
-       return pkg;
-}