[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