diff options
author | Martin Odersky <odersky@gmail.com> | 2005-06-09 18:45:48 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-06-09 18:45:48 +0000 |
commit | 4ae459ef755dccc8230a884bf6f462c4dadc96b8 (patch) | |
tree | 3d27d19a37680d452c4b52b84e809174a86fba5f /sources/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | |
parent | d7499538cc0da7beb331a4550b7a6e85cd132876 (diff) | |
download | scala-4ae459ef755dccc8230a884bf6f462c4dadc96b8.tar.gz scala-4ae459ef755dccc8230a884bf6f462c4dadc96b8.tar.bz2 scala-4ae459ef755dccc8230a884bf6f462c4dadc96b8.zip |
Repository : /home/cvslamp/repositories/scala
Module : scala
Working dir: ~/scala/
In directory .:
Unknown META-INF
Unknown Test.symbl
Unknown VERSION-1.1.0-b1
Unknown collection
Unknown expr.exe.stackdump
Unknown importing
Unknown iq.symbl
Unknown java.io.Writer
Unknown make
Unknown rm
Unknown scalac.symtab.Symbol
Unknown testcast
Unknown x
Unknown xmake
Unknown y
Unknown z
In directory bin:
Unknown bin/dtd2scala.lnk
Unknown bin/scala-debug.lnk
Unknown bin/scala-info.lnk
Unknown bin/scala.lnkMa
Unknown bin/scalac-debug.lnk
Unknown bin/scalac.lnk
Unknown bin/scaladoc-debug.lnk
Unknown bin/scaladoc.lnk
Unknown bin/scalaint-debug.lnk
Unknown bin/scalaint.lnk
Unknown bin/scalap.lnk
Unknown bin/scalarun-debug.lnk
Unknown bin/scalarun.lnk
Unknown bin/scalatest.lnk
In directory config:
In directory config/list:
Modified config/list/nsc.lst
In directory doc:
Unknown doc/announcement.txt
In directory doc/papers:
Message: cvs update: cannot open directory /home/cvslamp/repositories/scala/scala/doc/papers: No such file or directory
Message: cvs update: skipping directory doc/papers
In directory doc/reference:
Unknown doc/reference/R1.tex
Unknown doc/reference/ScalaReference.tex.1
Unknown doc/reference/ScalaReference.tex.new
Unknown doc/reference/ScalaVersion.tex
Unknown doc/reference/lecture.tex
Unknown doc/reference/math.sty
Unknown doc/reference/modefs.sty
Unknown doc/reference/prooftree.sty
Unknown doc/reference/sbe-talk.tex
Unknown doc/reference/scaladefs.sty
Unknown doc/reference/scaladefs.tex
Unknown doc/reference/scaladoc.sty
Unknown doc/reference/tweaklist.sty
Unknown doc/reference/vquote.sty
Unknown doc/reference/x
In directory doc/reports:
Message: cvs update: cannot open directory /home/cvslamp/repositories/scala/scala/doc/reports: No such file or directory
Message: cvs update: skipping directory doc/reports
In directory doc/talks:
Message: cvs update: cannot open directory /home/cvslamp/repositories/scala/scala/doc/talks: No such file or directory
Message: cvs update: skipping directory doc/talks
In directory sources:
Unknown sources/new
Unknown sources/scala.zip
Unknown sources/scalac.own
Unknown sources/ziDeLBjS
In directory sources/examples:
Unknown sources/examples/BibTree.scala
Unknown sources/examples/BibTree1.scala
Unknown sources/examples/BinTree.scala
Unknown sources/examples/concurrent
Unknown sources/examples/epl
Unknown sources/examples/epl.zip
Unknown sources/examples/examples
Unknown sources/examples/fs
Unknown sources/examples/graphs.scala
Unknown sources/examples/implicit
Unknown sources/examples/interpreters.scala
Unknown sources/examples/parsers2a.scala
Unknown sources/examples/parsers3.scala
Unknown sources/examples/pubsub.scala
Unknown sources/examples/pubsub.scala.notyet
Unknown sources/examples/pubsub1.scala
Unknown sources/examples/shapes.scala
Unknown sources/examples/stacks.scala
Unknown sources/examples/teletrans.scala
Unknown sources/examples/teletrans1.scala
Unknown sources/examples/xpath.scala
Unknown sources/examples/xpath1.scala
In directory sources/examples/expressions:
Unknown sources/examples/expressions/abstract-data-1.scala
Unknown sources/examples/expressions/abstract-data-2.scala
Unknown sources/examples/expressions/abstract-data-mixin-1.scala
Unknown sources/examples/expressions/abstract-data-mixin-bad.scala
Unknown sources/examples/expressions/abstract-data-mixin-neg.scala
Unknown sources/examples/expressions/abstract-data-mixin.scala
Unknown sources/examples/expressions/abstract-data.scala
Unknown sources/examples/expressions/abstract-operation-1.scala
Unknown sources/examples/expressions/abstract-operation-2.scala
Unknown sources/examples/expressions/abstract-operation-mixin.scala
Unknown sources/examples/expressions/abstract-operation.scala
Unknown sources/examples/expressions/expressions-constr-abstypes.scala
Unknown sources/examples/expressions/expressions-oo.scala
Unknown sources/examples/expressions/expressions-visitors.scala
Unknown sources/examples/expressions/expressions-visitos.scala
Unknown sources/examples/expressions/generic-data.scala
Unknown sources/examples/expressions/generic-operation-factory.scala
Unknown sources/examples/expressions/generic-operation-simple.scala
Unknown sources/examples/expressions/generic-operation.scala
Unknown sources/examples/expressions/scala
Unknown sources/examples/expressions/test
Unknown sources/examples/expressions/x
In directory sources/scala:
Unknown sources/scala/$colon$colon.scala.disabled
Unknown sources/scala/.latest-compiler
Unknown sources/scala/Array.java.notyet
Unknown sources/scala/ArrayIterator.java.notyet
Modified sources/scala/CaseClass.scala
Modified sources/scala/List.scala
Unknown sources/scala/NoValue
Unknown sources/scala/ScalaObject.scala
Unknown sources/scala/bootclasses
Unknown sources/scala/cls
Unknown sources/scala/new
Unknown sources/scala/newclasses
Unknown sources/scala/nsc-build
Unknown sources/scala/nsc-build.bat
Unknown sources/scala/nscnew
Unknown sources/scala/nscnew.bat
Unknown sources/scala/nx
Unknown sources/scala/old
Unknown sources/scala/ox
Unknown sources/scala/predef
Unknown sources/scala/scala.Ordered![a!])scala.Ordered![scala.List![a!]]
Unknown sources/scala/test.scala
Unknown sources/scala/x
In directory sources/scala/runtime:
Unknown sources/scala/runtime/CaseOps.scala
In directory sources/scala/tools:
Unknown sources/scala/tools/nsc.zip
Unknown sources/scala/tools/nsc1
Unknown sources/scala/tools/nscnew
In directory sources/scala/tools/nsc:
Modified sources/scala/tools/nsc/Global.scala
Modified sources/scala/tools/nsc/Phase.scala
Added sources/scala/tools/nsc/SubComponent.scala
Unknown sources/scala/tools/nsc/typechecker.new
In directory sources/scala/tools/nsc/ast:
Modified sources/scala/tools/nsc/ast/TreeGen.scala
Modified sources/scala/tools/nsc/ast/Trees.scala
In directory sources/scala/tools/nsc/ast/parser:
Modified sources/scala/tools/nsc/ast/parser/Parsers.scala
Modified sources/scala/tools/nsc/ast/parser/Scanners.scala
Added sources/scala/tools/nsc/ast/parser/SyntaxAnalyzer.scala
Modified sources/scala/tools/nsc/ast/parser/Tokens.scala
Modified sources/scala/tools/nsc/ast/parser/TreeBuilder.scala
In directory sources/scala/tools/nsc/matching:
Modified sources/scala/tools/nsc/matching/PatternUtil.scala
In directory sources/scala/tools/nsc/symtab:
Modified sources/scala/tools/nsc/symtab/Definitions.scala
Modified sources/scala/tools/nsc/symtab/Flags.scala
Modified sources/scala/tools/nsc/symtab/Names.scala
Modified sources/scala/tools/nsc/symtab/Scopes.scala
Modified sources/scala/tools/nsc/symtab/StdNames.scala
Modified sources/scala/tools/nsc/symtab/SymbolTable.scala
Modified sources/scala/tools/nsc/symtab/Symbols.scala
Modified sources/scala/tools/nsc/symtab/Types.scala
In directory sources/scala/tools/nsc/symtab/classfile:
Modified sources/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala
Modified sources/scala/tools/nsc/symtab/classfile/PickleFormat.scala
Modified sources/scala/tools/nsc/symtab/classfile/Pickler.scala
In directory sources/scala/tools/nsc/transform:
Modified sources/scala/tools/nsc/transform/SampleTransform.scala
Modified sources/scala/tools/nsc/transform/Transform.scala
Removed sources/scala/tools/nsc/transform/TypesAsValues.scala
In directory sources/scala/tools/nsc/typechecker:
Modified sources/scala/tools/nsc/typechecker/Analyzer.scala
Modified sources/scala/tools/nsc/typechecker/Contexts.scala
Modified sources/scala/tools/nsc/typechecker/Infer.scala
Modified sources/scala/tools/nsc/typechecker/Namers.scala
Added sources/scala/tools/nsc/typechecker/RefChecks.scala
Modified sources/scala/tools/nsc/typechecker/TreeCheckers.scala
Modified sources/scala/tools/nsc/typechecker/Typers.scala
In directory sources/scala/xml:
In directory sources/scala/xml/parsing:
Modified sources/scala/xml/parsing/MarkupHandler.scala
Modified sources/scala/xml/parsing/MarkupParser.scala
In directory sources/scalac:
In directory sources/scalac/symtab:
In directory sources/scalac/symtab/classfile:
Unknown sources/scalac/symtab/classfile/PackageParser.java.1
In directory test:
Unknown test/absobs.scala
Unknown test/attr.scala
Unknown test/bug363.scala
Unknown test/mixin.scala
Unknown test/nsc
Unknown test/nsc.scala
Unknown test/nsc1.scala
Unknown test/nsc2.scala
Unknown test/sabin.scala
Unknown test/sabin2.scala
Unknown test/selftypes.scala
Unknown test/single.scala
Unknown test/testmatch.scala
In directory test/files:
Unknown test/files/bug320.scala
In directory test/files/neg:
Unknown test/files/neg/bug356.check
Unknown test/files/neg/bug356.scala
Unknown test/files/neg/bug363.check
Unknown test/files/neg/bug363.scala
Unknown test/files/neg/bug369.check
Unknown test/files/neg/bug369.scala
Unknown test/files/neg/bug370.check
Unknown test/files/neg/bug370.scala
Unknown test/files/neg/bug373.check
Unknown test/files/neg/bug373.scala
Unknown test/files/neg/bug375.check
Unknown test/files/neg/bug375.scala
Unknown test/files/neg/escapes.scala
Unknown test/files/neg/test
In directory test/files/pos:
Unknown test/files/pos/A.symbl
Unknown test/files/pos/B.symbl
Unknown test/files/pos/C.symbl
Unknown test/files/pos/D.symbl
Unknown test/files/pos/O.symbl
Unknown test/files/pos/S.symbl
Unknown test/files/pos/T.symbl
Unknown test/files/pos/arrays2.symbl
Unknown test/files/pos/bug348plus.scala
Unknown test/files/pos/lists.symbl
Unknown test/files/pos/main.symbl
Unknown test/files/pos/test.symbl
In directory test/new:
Message: cvs update: cannot open directory /home/cvslamp/repositories/scala/scala/test/new: No such file or directory
Message: cvs update: skipping directory test/new
In directory test/pos:
Unknown test/pos/valparams.scala
Unknown test/pos/vincent.scala
In directory website:
Message: cvs update: cannot open directory /home/cvslamp/repositories/scala/scala/website: No such file or directory
Message: cvs update: skipping directory website
--------------------- End ---------------------
-- last cmd: cvs -f update -d -P --
Diffstat (limited to 'sources/scala/tools/nsc/symtab/classfile/ClassfileParser.scala')
-rwxr-xr-x | sources/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/sources/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/sources/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index 7f3a5e47ad..a1da6db8fa 100755 --- a/sources/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/sources/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -149,7 +149,7 @@ abstract class ClassfileParser { def getSuperClass(index: int): Symbol = if (index == 0) definitions.AnyClass else getClassSymbol(index); - def getLiteral(index: int): Constant = { + def getConstant(index: int): Constant = { if (index <= 0 || len <= index) errorBadIndex(index); var value = values(index); if (value == null) { @@ -314,21 +314,10 @@ abstract class ClassfileParser { sym.setFlag(DEPRECATED); in.skip(attrLen) case nme.ConstantValueATTR => - def cast(c: Constant, tp: Type): Any = { - val s = symtype.symbol; - if (s == definitions.ByteClass) c.value.asInstanceOf$erased[int].asInstanceOf$erased[byte] - else if (s == definitions.ShortClass) c.value.asInstanceOf$erased[int].asInstanceOf$erased[short] - else if (s == definitions.CharClass) c.value.asInstanceOf$erased[int].asInstanceOf$erased[char] - else if (s == definitions.IntClass) c.value.asInstanceOf$erased[int] - else if (s == definitions.LongClass) c.value.asInstanceOf$erased[long] - else if (s == definitions.FloatClass) c.value.asInstanceOf$erased[float] - else if (s == definitions.DoubleClass) c.value.asInstanceOf$erased[double] - else if (s == definitions.UnitClass) () - else if (s == definitions.BooleanClass) c.value.asInstanceOf$erased[int] != 0 - else c.value - } - val c = pool.getLiteral(in.nextChar()); - sym.setInfo(ConstantType(symtype, cast(c, symtype))) + val c = pool.getConstant(in.nextChar()); + val c1 = c convertTo symtype; + assert(c1 != null, "cannot convert " + c + " to " + symtype); + sym.setInfo(ConstantType(c1)); case nme.InnerClassesATTR => parseInnerClasses() case nme.ScalaSignatureATTR => |