This is the mail archive of the frysk-cvs@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] master: swagiaal: Prepare CompositeType for support of static memebers.


The branch, master has been updated
       via  0f6d423b274fdbde0e75003e468a041032284a8f (commit)
       via  23954c1bc36265e03cb5c67b4dab931a5b044ba1 (commit)
       via  a3c6407966e079ff93d3b6b9ff1c77a1537210db (commit)
      from  fdb837f1918543acf84ece7806c0900798fd27d2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 0f6d423b274fdbde0e75003e468a041032284a8f
Author: Sami Wagiaalla <swagiaal@redhat.com>
Date:   Fri Nov 9 13:29:01 2007 -0500

    swagiaal: Prepare CompositeType for support of static memebers.
    
    frysk-core/frysk/debuginfo/ChangeLog
    +2007-11-09  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       * TestTypeEntry.java (testClassWithStaticMembers): New test.
    +
    
    frysk-core/frysk/scopes/ChangeLog
    @@ -1,3 +1,7 @@
    +2007-11-09  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       * Composite.java (getType): New function.
    +
    
    frysk-core/frysk/value/ChangeLog
    +2007-11-09  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       * CompositeType.java (addStaticMember): New function.
    +       (Member.Member): Moved Access and inheretence arguments
    +       from DynamicMember to this constructor.
    +

commit 23954c1bc36265e03cb5c67b4dab931a5b044ba1
Author: Sami Wagiaalla <swagiaal@redhat.com>
Date:   Tue Nov 6 15:52:59 2007 -0500

    swagiaal: Created class StaticMember in CompositeType
    
    frysk-core/frysk/value/ChangeLog
    +2007-11-06  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       * CompositeType.java: Renamed Member to DynamicMember.
    +       Created StaticMember
    +       Created Member.
    +       DynamicMember and StaticMember now extends Member.
    +

commit a3c6407966e079ff93d3b6b9ff1c77a1537210db
Author: Sami Wagiaalla <swagiaal@redhat.com>
Date:   Tue Nov 6 11:13:40 2007 -0500

    swagiaal: Renamed Dwfl::getDie to Dwfl::getCompilationUnit.
    
    frysk-core/frysk/debuginfo/ChangeLog
    +2007-11-06  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       Renamed Dwfl::getDie to Dwfl::getCompilationUnit.
    +       * gen-type-expect-tests.py: Updated.
    +       * TestTypeEntry.java: Updated.
    +       * TestDebugInfoStackTrace.java: Updated.
    +       * DebugInfoFrame.java: Updated.
    +       * DebugInfo.java: Updated.
    +
    
    frysk-core/frysk/scopes/ChangeLog
    +2007-11-06  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       Renamed Dwfl::getDie to Dwfl::getCompilationUnit.
    +       * TestScopeFactory.java: Updated.
    +
    
    frysk-sys/lib/dwfl/ChangeLog
    +2007-11-06  Sami Wagiaalla  <swagiaal@redhat.com>
    +
    +       * Dwfl.java: Renamed getDie to getCompilationUnit.
    +       * TestDwfl.java: Updated.
    +       * TestDwarfDie.java: Updated.
    +

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/debuginfo/ChangeLog               |   13 +++
 frysk-core/frysk/debuginfo/DebugInfo.java          |    4 +-
 frysk-core/frysk/debuginfo/DebugInfoFrame.java     |    4 +-
 frysk-core/frysk/debuginfo/TestFrameDebugInfo.java |    4 +-
 frysk-core/frysk/debuginfo/TestTypeEntry.java      |   56 ++++++++++++-
 .../frysk/debuginfo/gen-type-expect-tests.py       |    2 +-
 ...pes-class-static.cxx => funit-class-static.cxx} |    8 +-
 frysk-core/frysk/scopes/ChangeLog                  |    9 ++
 frysk-core/frysk/scopes/Composite.java             |    5 +
 frysk-core/frysk/scopes/TestScopeFactory.java      |    2 +-
 frysk-core/frysk/value/ChangeLog                   |   13 +++
 frysk-core/frysk/value/CompositeType.java          |   86 ++++++++++++++------
 frysk-sys/lib/dwfl/ChangeLog                       |    6 ++
 frysk-sys/lib/dwfl/Dwfl.java                       |    2 +-
 frysk-sys/lib/dwfl/TestDwarfDie.java               |    2 +-
 frysk-sys/lib/dwfl/TestDwfl.java                   |    2 +-
 16 files changed, 172 insertions(+), 46 deletions(-)
 copy frysk-core/frysk/pkglibdir/{funit-cpp-scopes-class-static.cxx => funit-class-static.cxx} (62%)

First 500 lines of diff:
diff --git a/frysk-core/frysk/debuginfo/ChangeLog b/frysk-core/frysk/debuginfo/ChangeLog
index 956665f..0f09d35 100644
--- a/frysk-core/frysk/debuginfo/ChangeLog
+++ b/frysk-core/frysk/debuginfo/ChangeLog
@@ -1,7 +1,20 @@
+2007-11-09  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	* TestTypeEntry.java (testClassWithStaticMembers): New test.
+
 2007-11-07  Stan Cox  <scox@redhat.com>
 
 	* gen-type-expect-tests.py (j.start_test): Only unresolve value tests.
 
+2007-11-06  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	Renamed Dwfl::getDie to Dwfl::getCompilationUnit.
+	* gen-type-expect-tests.py: Updated.
+	* TestTypeEntry.java: Updated.
+	* TestDebugInfoStackTrace.java: Updated.
+	* DebugInfoFrame.java: Updated.
+	* DebugInfo.java: Updated.
+
 2007-11-05  Teresa Thomas  <tthomas@redhat.com>
 
 	* PieceLocation.java (getAddress): Edit exception message.
diff --git a/frysk-core/frysk/debuginfo/DebugInfo.java b/frysk-core/frysk/debuginfo/DebugInfo.java
index 5d29be9..6768379 100644
--- a/frysk-core/frysk/debuginfo/DebugInfo.java
+++ b/frysk-core/frysk/debuginfo/DebugInfo.java
@@ -94,7 +94,7 @@ public class DebugInfo {
     public int complete (DebugInfoFrame frame, String buffer, int cursor, List candidates) {
 	long pc = frame.getAdjustedAddress();
 	Dwfl dwfl = DwflCache.getDwfl(frame.getTask());
-	DwflDieBias bias = dwfl.getDie(pc);
+	DwflDieBias bias = dwfl.getCompilationUnit(pc);
 	DwarfDie die = bias.die;
 	String token = "";
 
@@ -153,7 +153,7 @@ public class DebugInfo {
     public String what(DebugInfoFrame frame, String sInput) {
 	long pc = frame.getAdjustedAddress();
 	Dwfl dwfl = DwflCache.getDwfl(frame.getTask());
-	DwflDieBias bias = dwfl.getDie(pc);
+	DwflDieBias bias = dwfl.getCompilationUnit(pc);
 	TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
 	if (bias == null)
 	    throw new RuntimeException("No symbol table is available.");
diff --git a/frysk-core/frysk/debuginfo/DebugInfoFrame.java b/frysk-core/frysk/debuginfo/DebugInfoFrame.java
index 724c89b..5a60f7e 100644
--- a/frysk-core/frysk/debuginfo/DebugInfoFrame.java
+++ b/frysk-core/frysk/debuginfo/DebugInfoFrame.java
@@ -89,7 +89,7 @@ public class DebugInfoFrame extends FrameDecorator {
 	
 	if (scope == null) {
 	    Dwfl dwfl = DwflCache.getDwfl(this.getTask());
-	    DwflDieBias bias = dwfl.getDie(getAdjustedAddress());
+	    DwflDieBias bias = dwfl.getCompilationUnit(getAdjustedAddress());
 
 	    if (bias != null) {
 
@@ -135,7 +135,7 @@ public class DebugInfoFrame extends FrameDecorator {
 	  this.inlinedSubprograms = new LinkedList();
 	  
         Dwfl dwfl = DwflCache.getDwfl(this.getTask());
-        DwflDieBias bias = dwfl.getDie(getAdjustedAddress());
+        DwflDieBias bias = dwfl.getCompilationUnit(getAdjustedAddress());
 
         if (bias != null) {
 
diff --git a/frysk-core/frysk/debuginfo/TestFrameDebugInfo.java b/frysk-core/frysk/debuginfo/TestFrameDebugInfo.java
index 34aec18..bee94f5 100644
--- a/frysk-core/frysk/debuginfo/TestFrameDebugInfo.java
+++ b/frysk-core/frysk/debuginfo/TestFrameDebugInfo.java
@@ -124,7 +124,7 @@ public class TestFrameDebugInfo
     Frame frame = StackFactory.createFrame(task);
     
     Dwfl dwfl = DwflCache.getDwfl(task);
-    DwflDieBias bias = dwfl.getDie(frame.getAdjustedAddress());
+    DwflDieBias bias = dwfl.getCompilationUnit(frame.getAdjustedAddress());
     DwarfDie[] scopes = bias.die.getScopes(frame.getAdjustedAddress() - bias.bias);
     
     assertEquals("number of scopes", 3, scopes.length);
@@ -158,7 +158,7 @@ public class TestFrameDebugInfo
     Frame frame = StackFactory.createFrame(task);
     
     Dwfl dwfl = DwflCache.getDwfl(task);
-    DwflDieBias bias = dwfl.getDie(frame.getAdjustedAddress());
+    DwflDieBias bias = dwfl.getCompilationUnit(frame.getAdjustedAddress());
     DwarfDie[] scopes = bias.die.getScopes(frame.getAdjustedAddress() - bias.bias);
     scopes = scopes[0].getScopesDie();
     
diff --git a/frysk-core/frysk/debuginfo/TestTypeEntry.java b/frysk-core/frysk/debuginfo/TestTypeEntry.java
index fe40d78..b02a08c 100644
--- a/frysk-core/frysk/debuginfo/TestTypeEntry.java
+++ b/frysk-core/frysk/debuginfo/TestTypeEntry.java
@@ -39,6 +39,7 @@
 
 package frysk.debuginfo;
 
+import java.util.Iterator;
 import java.util.logging.Logger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -50,7 +51,9 @@ import frysk.dwfl.DwflCache;
 import frysk.proc.Task;
 import frysk.testbed.DaemonBlockedAtSignal;
 import frysk.testbed.TestLib;
+import frysk.value.CompositeType;
 import frysk.value.Type;
+import frysk.value.CompositeType.Member;
 
 public class TestTypeEntry
     extends TestLib
@@ -89,7 +92,7 @@ public class TestTypeEntry
       DwarfDie varDie;
       long pc = frame.getAdjustedAddress();
       dwfl = DwflCache.getDwfl(frame.getTask());
-      DwflDieBias bias = dwfl.getDie(pc);
+      DwflDieBias bias = dwfl.getCompilationUnit(pc);
       DwarfDie die = bias.die;
       allDies = die.getScopes(pc - bias.bias);
       TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
@@ -120,7 +123,7 @@ public class TestTypeEntry
       DwarfDie varDie;
       long pc = frame.getAdjustedAddress();
       dwfl = DwflCache.getDwfl(frame.getTask());
-      DwflDieBias bias = dwfl.getDie(pc);
+      DwflDieBias bias = dwfl.getCompilationUnit(pc);
       DwarfDie die = bias.die;
       allDies = die.getScopes(pc - bias.bias);
       TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
@@ -151,7 +154,7 @@ public class TestTypeEntry
       DwarfDie varDie;
       long pc = frame.getAdjustedAddress();
       dwfl = DwflCache.getDwfl(frame.getTask());
-      DwflDieBias bias = dwfl.getDie(pc);
+      DwflDieBias bias = dwfl.getCompilationUnit(pc);
       DwarfDie die = bias.die;
       allDies = die.getScopes(pc - bias.bias);
       TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
@@ -191,7 +194,7 @@ public class TestTypeEntry
       DwarfDie varDie;
       long pc = frame.getAdjustedAddress();
       dwfl = DwflCache.getDwfl(frame.getTask());
-      DwflDieBias bias = dwfl.getDie(pc);
+      DwflDieBias bias = dwfl.getCompilationUnit(pc);
       DwarfDie die = bias.die;
       allDies = die.getScopes(pc - bias.bias);
       TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
@@ -226,7 +229,7 @@ public class TestTypeEntry
       DwarfDie varDie;
       long pc = frame.getAdjustedAddress();
       dwfl = DwflCache.getDwfl(frame.getTask());
-      DwflDieBias bias = dwfl.getDie(pc);
+      DwflDieBias bias = dwfl.getCompilationUnit(pc);
       DwarfDie die = bias.die;
       allDies = die.getScopes(pc - bias.bias);
       TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
@@ -239,4 +242,47 @@ public class TestTypeEntry
 	  assertTrue("testClass " + expect[i].symbol, m.matches());
       }
   }
+  
+  public void testClassWithStaticMembers () {
+
+      if(unresolved(5301)){
+	  return;
+      }
+      
+      Task task = (new DaemonBlockedAtSignal("funit-class-static")).getMainTask();
+
+      DebugInfoFrame frame = DebugInfoStackFactory.createVirtualStackTrace(task);
+      
+      CompositeType compositeType = (CompositeType) frame.getSubprogram().getComposite().getType();
+      
+      assertNotNull("Retrieved type successfully", compositeType);
+      
+      Iterator iterator = compositeType.iterator();
+      
+      while(iterator.hasNext()){
+	  System.out.println("TestTypeEntry.testClassWithStaticMembers() " + ((Member)iterator.next()).getName() + "\n");
+      }
+      
+      assertTrue(false);
+      
+//      Dwfl dwfl;
+//      DwarfDie[] allDies;
+//      Type varType;
+//      DwarfDie varDie;
+//      long pc = frame.getAdjustedAddress();
+//      dwfl = DwflCache.getDwfl(frame.getTask());
+//      DwflDieBias bias = dwfl.getCompilationUnit(pc);
+//      DwarfDie die = bias.die;
+//      allDies = die.getScopes(pc - bias.bias);
+//      TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
+//    
+//      for (int i = 0; i < expect.length; i++) {
+//	  varDie = die.getScopeVar(allDies, expect[i].symbol);
+//	  varType = typeEntry.getType(varDie.getType());
+//	  Pattern p = Pattern.compile(expect[i].output, Pattern.DOTALL);
+//	  Matcher m = p.matcher(varType.toPrint());
+//	  assertTrue("testClass " + expect[i].symbol, m.matches());
+//      }
+  }
+
 }  
diff --git a/frysk-core/frysk/debuginfo/gen-type-expect-tests.py b/frysk-core/frysk/debuginfo/gen-type-expect-tests.py
index 9bb9e1b..7b6f526 100644
--- a/frysk-core/frysk/debuginfo/gen-type-expect-tests.py
+++ b/frysk-core/frysk/debuginfo/gen-type-expect-tests.py
@@ -96,7 +96,7 @@ public class %s extends TestLib {
             frame = DebugInfoStackFactory.createDebugInfoStackTrace(task);
 	    long pc = frame.getAdjustedAddress();
 	    Dwfl dwfl = DwflCache.getDwfl(frame.getTask());
-	    DwflDieBias bias = dwfl.getDie(pc);
+	    DwflDieBias bias = dwfl.getCompilationUnit(pc);
 	    die = bias.die;
 	    allDies = die.getScopes(pc - bias.bias);
 	    typeEntry = new TypeEntry(frame.getTask().getISA());
diff --git a/frysk-core/frysk/pkglibdir/funit-cpp-scopes-class-static.cxx b/frysk-core/frysk/pkglibdir/funit-class-static.cxx
similarity index 62%
copy from frysk-core/frysk/pkglibdir/funit-cpp-scopes-class-static.cxx
copy to frysk-core/frysk/pkglibdir/funit-class-static.cxx
index 7889cea..c086f74 100644
--- a/frysk-core/frysk/pkglibdir/funit-cpp-scopes-class-static.cxx
+++ b/frysk-core/frysk/pkglibdir/funit-class-static.cxx
@@ -1,12 +1,12 @@
 #include <stdlib.h>
 #include <stdio.h>
 
-int first = 11;
-
 class A{
-  static const int first = 22; //*this* one should be found
+  static int static_i;
+  int i;
 public:
-  static void crash();
+  static void static_crash();
+  void crash();
 };
 
 void A::crash(){
diff --git a/frysk-core/frysk/scopes/ChangeLog b/frysk-core/frysk/scopes/ChangeLog
index 66ac318..499343f 100644
--- a/frysk-core/frysk/scopes/ChangeLog
+++ b/frysk-core/frysk/scopes/ChangeLog
@@ -1,3 +1,12 @@
+2007-11-09  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	* Composite.java (getType): New function.
+
+2007-11-06  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	Renamed Dwfl::getDie to Dwfl::getCompilationUnit.
+	* TestScopeFactory.java: Updated.
+
 2007-11-05  Sami Wagiaalla  <swagiaal@redhat.com>
 
 	* TestScopes.java (testGetOriginalStaticSubprogram): New test.
diff --git a/frysk-core/frysk/scopes/Composite.java b/frysk-core/frysk/scopes/Composite.java
index 4e7cd1b..f344ce3 100644
--- a/frysk-core/frysk/scopes/Composite.java
+++ b/frysk-core/frysk/scopes/Composite.java
@@ -41,6 +41,7 @@ package frysk.scopes;
 
 import frysk.debuginfo.TypeEntry;
 import frysk.value.CompositeType;
+import frysk.value.Type;
 import lib.dwfl.DwarfDie;
 
 /**
@@ -60,4 +61,8 @@ public class Composite extends Scope {
     public String getName(){
 	return this.getDie().getName();
     }
+    
+    public Type getType(){
+	return this.compositeType;
+    }
 }
diff --git a/frysk-core/frysk/scopes/TestScopeFactory.java b/frysk-core/frysk/scopes/TestScopeFactory.java
index c4e9bde..d7e2ec8 100644
--- a/frysk-core/frysk/scopes/TestScopeFactory.java
+++ b/frysk-core/frysk/scopes/TestScopeFactory.java
@@ -59,7 +59,7 @@ public class TestScopeFactory
       Frame frame = StackFactory.createFrame(task);
       
       Dwfl dwfl = DwflCache.getDwfl(task);
-      DwflDieBias bias = dwfl.getDie(frame.getAdjustedAddress());
+      DwflDieBias bias = dwfl.getCompilationUnit(frame.getAdjustedAddress());
       DwarfDie[] scopes = bias.die.getScopes(frame.getAdjustedAddress() - bias.bias);
 
       TypeEntry typeEntry = new TypeEntry(frame.getTask().getISA());
diff --git a/frysk-core/frysk/value/ChangeLog b/frysk-core/frysk/value/ChangeLog
index e696918..0a2c650 100644
--- a/frysk-core/frysk/value/ChangeLog
+++ b/frysk-core/frysk/value/ChangeLog
@@ -1,3 +1,16 @@
+2007-11-09  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	* CompositeType.java (addStaticMember): New function.
+	(Member.Member): Moved Access and inheretence arguments
+	from DynamicMember to this constructor.
+
+2007-11-09  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	* CompositeType.java: Renamed Member to DynamicMember.
+	Created StaticMember
+	Created Member.
+	DynamicMember and StaticMember now extends Member.
+
 2007-11-08  Teresa Thomas  <tthomas@redhat.com>
 
 	* Type.java (index): Make operation commutative.
diff --git a/frysk-core/frysk/value/CompositeType.java b/frysk-core/frysk/value/CompositeType.java
index 1ce5d73..059351b 100644
--- a/frysk-core/frysk/value/CompositeType.java
+++ b/frysk-core/frysk/value/CompositeType.java
@@ -52,30 +52,52 @@ import java.io.PrintWriter;
 public abstract class CompositeType
     extends Type
 {
+    
+    public static class Member{
+	final int index;
+	final String name;
+	final Type type;
+	final Access access;
+	final boolean inheritance;
+
+	public Member(int index, String name, Type type, Access access,
+		boolean inheritance) {
+	    this.index = index;
+	    this.type = type;
+	    this.name = name;
+	    this.access = access;
+	    this.inheritance = inheritance;
+	}
+	
+	public String getName(){
+	    return this.name;
+	}
+    }
+    
+    static class StaticMember extends Member{
+
+	public StaticMember(int index, String name, Type type, Access access,
+		boolean inheritance) {
+	    super(index, name, type, access, inheritance);
+	}
+
+    }
+    
     /**
      * Class members; package private.
      */
-    static class Member {
+    static class DynamicMember extends Member{
 	// XXX: To keep getValue working.
-	final int index;
-	final String name;
-	final Type type;
 	final long offset;
-	final Access access;
 	final int bitOffset;
 	final int bitSize;
-	final boolean inheritance;
-	Member(int index, String name, Type type, long offset,
+	DynamicMember(int index, String name, Type type, long offset,
 	       Access access, int bitOffset, int bitSize,
 	       boolean inheritance) {
-	    this.index = index;
-	    this.type = type;
-	    this.name = name;
+	    super(index, name, type, access, inheritance);
 	    this.offset = offset;
-	    this.access = access;
 	    this.bitOffset = bitOffset;
 	    this.bitSize = bitSize;
-	    this.inheritance = inheritance;
 	}
 	public String toString() {
 	    return ("{"
@@ -106,8 +128,8 @@ public abstract class CompositeType
     /**
      * Return the composit's members as an array.  PACKAGE PRIVATE.
      */
-    Member[] members() {
-	Member[] m = new Member[members.size()];
+    DynamicMember[] members() {
+	DynamicMember[] m = new DynamicMember[members.size()];
 	members.toArray(m);
 	return m;
     }
@@ -155,11 +177,20 @@ public abstract class CompositeType
      */
     private CompositeType add(String name, Type type, long offset,
 			      Access access, int bitOffset, int bitLength,
+			      boolean staticMember,
 			      boolean inheritance) {
 	if (bitOffset >= 0 && bitLength > 0)
 	    type = type.pack(bitOffset, bitLength);
-	Member member = new Member(members.size(), name, type, offset,
+	
+	Member member;
+	
+	if(staticMember){
+	    member = new StaticMember(members.size(), name, type,
+			   access, inheritance);
+	}else{
+	    member = new DynamicMember(members.size(), name, type, offset,
 				   access, bitOffset, bitLength, inheritance);
+	}
 	nameToMember.put(name, member);
 	members.add(member);
 	return this;
@@ -167,18 +198,22 @@ public abstract class CompositeType
 
     public CompositeType addMember(String name, Type type, long offset,
 				   Access access) {
-	return add(name, type, offset, access, -1, -1, false);
+	return add(name, type, offset, access, -1, -1,false, false);
     }
     public CompositeType addMember(String name, Type type, long offset,
 				   Access access, int bitOffset,
 				   int bitLength) {
-	return add(name, type, offset, access, bitOffset, bitLength, false);
+	return add(name, type, offset, access, bitOffset, bitLength, false, false);
     }
     public CompositeType addInheritance(String name, Type type, long offset,
 					Access access) {
-	return add(name, type, offset, access, -1, -1, true);
+	return add(name, type, offset, access, -1, -1,false, true);
+    }
+    
+    public CompositeType addStaticMember(String name, Type type, long offset,
+		   Access access){
+	return add(name, type, offset, access, -1, -1,false, false);
     }
-
     /**
      * Iterate through the class types.
      */
@@ -186,7 +221,6 @@ public abstract class CompositeType
 	implements java.util.Iterator
     {
 	private int idx;
-
 	ClassIterator () {
 	    idx = -1;
 	}
@@ -199,7 +233,7 @@ public abstract class CompositeType
 	}
 
 	public String nextName () {
-	    return ((Member)members.get(idx)).name;
+	    return ((DynamicMember)members.get(idx)).name;
 	}
 
 	public Object next () {
@@ -219,7 +253,7 @@ public abstract class CompositeType
 	writer.print("{");
 	boolean first = true;
 	for (Iterator i = members.iterator(); i.hasNext();) {
-	    Member member = (Member)i.next();
+	    DynamicMember member = (DynamicMember)i.next();
 	    if (member.type instanceof frysk.value.FunctionType)
 		continue;
 	    else {
@@ -261,11 +295,11 @@ public abstract class CompositeType
 	}
 	// : public PARENT ...
 	boolean first = true;
-	Member member = null;
+	DynamicMember member = null;
 	Iterator i = members.iterator();
 	// Types this inherits come first; print them out.
 	while (i.hasNext()) {
-	    member = (Member)i.next();
+	    member = (DynamicMember)i.next();
 	    if (!member.inheritance)
 		break;
 	    if (first) {
@@ -323,7 +357,7 @@ public abstract class CompositeType
 	    writer.print(";\n");
 	    // Advance
 	    if (i.hasNext())
-		member = (Member)i.next();
+		member = (DynamicMember)i.next();
 	    else
 		member = null;
 	}
@@ -338,7 +372,7 @@ public abstract class CompositeType
 
     public Value member(Value var1, String member)
     {
-	Member mem = (Member)nameToMember.get(member);
+	DynamicMember mem = (DynamicMember)nameToMember.get(member);
 	if (mem == null)


hooks/post-receive
--
frysk system monitor/debugger


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]