summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-11-29 17:40:38 +0100
committerPaul Phillips <paulp@improving.org>2012-12-27 15:47:24 -0800
commitc53359ecbe135e79d55a6806209a6301bb386ada (patch)
tree1a8178c5e655b80055fab6e87cc6eea78ddf9133 /src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
parent3f9943be7ad9de6a3443befaec1613682dbd0129 (diff)
downloadscala-c53359ecbe135e79d55a6806209a6301bb386ada.tar.gz
scala-c53359ecbe135e79d55a6806209a6301bb386ada.tar.bz2
scala-c53359ecbe135e79d55a6806209a6301bb386ada.zip
Eliminate allocations in ClassfileParser.
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index cb58111b51..04e860f9db 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -1225,16 +1225,20 @@ abstract class ClassfileParser {
}
def skipAttributes() {
- val attrCount = in.nextChar
- for (i <- 0 until attrCount) {
- in.skip(2); in.skip(in.nextInt)
+ var attrCount: Int = in.nextChar
+ while (attrCount > 0) {
+ in skip 2
+ in skip in.nextInt
+ attrCount -= 1
}
}
def skipMembers() {
- val memberCount = in.nextChar
- for (i <- 0 until memberCount) {
- in.skip(6); skipAttributes()
+ var memberCount: Int = in.nextChar
+ while (memberCount > 0) {
+ in skip 6
+ skipAttributes()
+ memberCount -= 1
}
}