[llvm-commits] CVS: llvm-java/lib/ClassFile/ClassFile.cpp

Alkis Evlogimenos alkis at cs.uiuc.edu
Sat Mar 26 11:14:14 PST 2005



Changes in directory llvm-java/lib/ClassFile:

ClassFile.cpp updated: 1.43 -> 1.44
---
Log message:

Expose ConstantClass indices.


---
Diffs of the changes:  (+19 -41)

 ClassFile.cpp |   60 ++++++++++++++++++----------------------------------------
 1 files changed, 19 insertions(+), 41 deletions(-)


Index: llvm-java/lib/ClassFile/ClassFile.cpp
diff -u llvm-java/lib/ClassFile/ClassFile.cpp:1.43 llvm-java/lib/ClassFile/ClassFile.cpp:1.44
--- llvm-java/lib/ClassFile/ClassFile.cpp:1.43	Sat Mar 26 08:08:38 2005
+++ llvm-java/lib/ClassFile/ClassFile.cpp	Sat Mar 26 13:14:02 2005
@@ -84,20 +84,6 @@
     return tmp.out;
   }
 
-  void readClasses(Classes& i, const ClassFile* cf, std::istream& is)
-  {
-    assert(i.empty() &&
-           "Should not call with a non-empty classes vector");
-    uint16_t count = readU2(is);
-    i.reserve(count);
-    while (count--) {
-      ConstantClass* c = cf->getConstantClass(readU2(is));
-      if (!c)
-        throw ClassFileSemanticError("ConstantClass expected");
-      i.push_back(c);
-    }
-  }
-
   void readFields(Fields& f, const ClassFile* parent, std::istream& is)
   {
     assert(f.empty() && "Should not call with a non-empty fields vector");
@@ -126,20 +112,6 @@
       a.push_back(Attribute::readAttribute(cf, is));
   }
 
-  template <typename Container>
-  std::ostream& dumpCollection(Container& c,
-                               const char* const name,
-                               std::ostream& os) {
-    os << '\n' << name << "s:\n";
-    for (typename Container::const_iterator
-           i = c.begin(), e = c.end(); i != e; ++i)
-      if (*i)
-        (*i)->dump(os << name << ' ') << '\n';
-      else
-        os << name << " NULL\n";
-    return os;
-  }
-
 }
 
 //===----------------------------------------------------------------------===//
@@ -228,7 +200,11 @@
   accessFlags_ = readU2(is);
   thisClassIdx_ = readU2(is);
   superClassIdx_ = readU2(is);
-  readClasses(interfaces_, this, is);
+  count = readU2(is);
+  interfaces_.reserve(count);
+  while (count--)
+    interfaces_.push_back(readU2(is));
+
   readFields(fields_, this, is);
   readMethods(methods_, this, is);
   readAttributes(attributes_, this, is);
@@ -329,10 +305,10 @@
   if (isInterface()) os << " interface";
   if (isAbstract()) os << " abstract";
 
-  dumpCollection(interfaces_, "Interface", os);
-  dumpCollection(fields_, "Field", os);
-  dumpCollection(methods_, "Method", os);
-  dumpCollection(attributes_, "Attribute", os);
+//   dumpCollection(interfaces_, "Interface", os);
+//   dumpCollection(fields_, "Field", os);
+//   dumpCollection(methods_, "Method", os);
+//   dumpCollection(attributes_, "Attribute", os);
 
   return os;
 }
@@ -587,7 +563,7 @@
   if (isVolatile()) os << " volatile";
   if (isTransient()) os << " transient";
 
-  dumpCollection(attributes_, "Attribute", os);
+//   dumpCollection(attributes_, "Attribute", os);
 
   return os;
 }
@@ -627,7 +603,7 @@
   if (isNative()) os << " native";
   if (isStrict()) os << " strict";
 
-  dumpCollection(attributes_, "Attribute", os);
+//   dumpCollection(attributes_, "Attribute", os);
 
   return os;
 }
@@ -747,8 +723,8 @@
     << "Max stack: " << maxStack_ << '\n'
     << "Max locals: " << maxLocals_ << '\n'
     << "Code size: " << codeSize_ << '\n';
-  dumpCollection(exceptions_, "Exception", os);
-  dumpCollection(attributes_, "Attribute", os);
+//   dumpCollection(exceptions_, "Exception", os);
+//   dumpCollection(attributes_, "Attribute", os);
 
   return os;
 }
@@ -784,14 +760,16 @@
   : Attribute(cf, nameIdx, is)
 {
   uint32_t length = readU4(is);
-  readClasses(exceptions_, cf, is);
+  uint16_t count = readU2(is);
+  exceptions_.reserve(count);
+  while (count--)
+    exceptions_.push_back(readU2(is));
 }
 
 std::ostream& ExceptionsAttribute::dump(std::ostream& os) const
 {
   os << Attribute::dump(os) << ": ";
-  for (Classes::const_iterator
-         i = exceptions_.begin(), e = exceptions_.end(); i != e; ++i)
-    os << *i << ' ';
+  for (unsigned i = 0, e = getNumExceptions(); i != e; ++i)
+    os << *getException(i) << ' ';
   return os;
 }






More information about the llvm-commits mailing list