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

Alkis Evlogimenos alkis at cs.uiuc.edu
Wed Mar 23 17:04:40 PST 2005



Changes in directory llvm-java/lib/ClassFile:

ClassFile.cpp updated: 1.41 -> 1.42
---
Log message:

Add option to dump constant pool of a classfile.


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

 ClassFile.cpp |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)


Index: llvm-java/lib/ClassFile/ClassFile.cpp
diff -u llvm-java/lib/ClassFile/ClassFile.cpp:1.41 llvm-java/lib/ClassFile/ClassFile.cpp:1.42
--- llvm-java/lib/ClassFile/ClassFile.cpp:1.41	Sun Feb 13 16:15:31 2005
+++ llvm-java/lib/ClassFile/ClassFile.cpp	Wed Mar 23 19:04:28 2005
@@ -426,7 +426,7 @@
 
 std::ostream& ConstantClass::dump(std::ostream& os) const
 {
-  return os << *getName();
+  return os << "class (Name=" << nameIdx_ << ')';
 }
 
 ConstantMemberRef::ConstantMemberRef(const ClassFile* cf, std::istream& is)
@@ -437,9 +437,22 @@
 
 }
 
-std::ostream& ConstantMemberRef::dump(std::ostream& os) const
+std::ostream& ConstantFieldRef::dump(std::ostream& os) const
 {
-  return os << *getNameAndType() << '(' << *getClass() << ')';
+  return os << "fieldRef (class=" << classIdx_
+            << ", nameAndType=" << nameAndTypeIdx_ << ')';
+}
+
+std::ostream& ConstantMethodRef::dump(std::ostream& os) const
+{
+  return os << "methodRef (class=" << classIdx_
+            << ", nameAndType=" << nameAndTypeIdx_ << ')';
+}
+
+std::ostream& ConstantInterfaceMethodRef::dump(std::ostream& os) const
+{
+  return os << "interfaceMethodRef (class=" << classIdx_
+            << ", nameAndType=" << nameAndTypeIdx_ << ')';
 }
 
 ConstantString::ConstantString(const ClassFile* cf, std::istream& is)
@@ -451,7 +464,7 @@
 
 std::ostream& ConstantString::dump(std::ostream& os) const
 {
-  return os << "String " << *getValue();
+  return os << "string (utf8=" << stringIdx_ << ')';
 }
 
 ConstantInteger::ConstantInteger(const ClassFile* cf, std::istream& is)
@@ -512,12 +525,8 @@
 
 std::ostream& ConstantNameAndType::dump(std::ostream& os) const
 {
-  if (getName()->str() == "<init>")
-    os << "\"<init>\"";
-  else
-    os << *getName();
-
-  return os << ':' << *getDescriptor();
+  return os << "nameAndType (name=" << nameIdx_
+            << ", descriptor=" << descriptorIdx_ << ')';
 }
 
 ConstantUtf8::ConstantUtf8(const ClassFile* cf, std::istream& is)






More information about the llvm-commits mailing list