summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2008-01-22 12:57:10 +0000
committermichelou <michelou@epfl.ch>2008-01-22 12:57:10 +0000
commit51e784b21583c30982e1a6d5de5140ab759ffd06 (patch)
treeb34c3548df4496ed1a1a98aa6dd54ce830a79ffb
parentcddc4c3cf51354e9e697fbefdac591f25d6bbc73 (diff)
downloadscala-51e784b21583c30982e1a6d5de5140ab759ffd06.tar.gz
scala-51e784b21583c30982e1a6d5de5140ab759ffd06.tar.bz2
scala-51e784b21583c30982e1a6d5de5140ab759ffd06.zip
added ACC_VARARGS
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala87
1 files changed, 19 insertions, 68 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala
index 3b60a45b0f..617f847acb 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala
@@ -16,20 +16,6 @@ object ClassfileConstants {
* (see http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html)
* </p>
* <p>
- * Table 4.1 Class access and property flags
- * ------------------------------------------
- * ACC_PUBLIC Declared <code>public</code>; may be accessed from
- * outside its package.
- * ACC_FINAL Declared <code>final</code>; no subclasses allowed.
- * ACC_SUPER Treat superclass methodsd specially when invoked by the
- * <code>invokespecial</code> instruction.
- * ACC_INTERFACE Is an interface, not a class.
- * ACC_ABSTRACT Declared <code>abstract</code>; must not be instantiated.
- * ACC_SYNTHETIC Declared <code>synthetic</code>; not present in the source code.
- * ACC_ANNOTATION Declared as an annotation type.
- * ACC_ENUM Declared as an <code>enum</code> type.
- * </p>
- * <p>
* If the <code>ACC_INTERFACE</code> flag is set, the <code>ACC_ABSTRACT</code>
* flag must also be set (ch. 2.13.1).
* </p>
@@ -38,23 +24,6 @@ object ClassfileConstants {
* <code>ACC_ABSTRACT</code> flags set (ch. 2.8.2).
* </p>
* <p>
- * Table 4.4 Field access and property flags
- * ------------------------------------------
- * ACC_PUBLIC <em>See Table 4.1</em>.
- * ACC_PRIVATE Declared <code>private</code>; usable only within
- * the defining class.
- * ACC_PROTECTED Declared <code>protected</code>; may be accessed within
- * subclasses.
- * ACC_STATIC Declared <code>static</code>.
- * ACC_FINAL Declared <code>final</code>; no further assignment after
- * initialization.
- * ACC_VOLATILE Declared <code>volatile</code>; cannot be cached.
- * ACC_TRANSIENT Declared <code>transient</code>; not written or read by
- * a persistent object manager.
- * ACC_SYNTHETIC Declared <code>synthetic</code>; not present in the source code.
- * ACC_ENUM Declared as an element of an <code>enum</code>.
- * </p>
- * <p>
* A field may have at most one of its <code>ACC_PRIVATE</code>,
* <code>ACC_PROTECTED</code>, <code>ACC_PUBLIC</code> flags set (ch. 2.7.4).
* </p>
@@ -63,25 +32,6 @@ object ClassfileConstants {
* <code>ACC_VOLATILE</code> flags set (ch. 2.9.1).
* </p>
* <p>
- * Table 4.5 Method access and property flags
- * -------------------------------------------
- * ACC_PUBLIC <em>See Table 4.4</em>.
- * ACC_PRIVATE <em>See Table 4.4</em>.
- * ACC_PROTECTED <em>See Table 4.4</em>.
- * ACC_STATIC <em>See Table 4.4</em>.
- * ACC_FINAL Declared <code>final</code>; must no be overridden.
- * ACC_SYNCHRONIZED Declared <code>synchronized</code>;
- * ACC_BRIDGE A bridge method, generated by the compiler.
- * ACC_VARARGS Declared with variable number of arguments.
- * ACC_NATIVE Declared <code>native</code>: implemented in a
- * language other than Java.
- * ACC_ABSTRACT Declared <code>abstract</code>; no implementation
- * is provided.
- * ACC_STRICT Declared <code>strictfp</code>, floating-point mode
- * is FP-strict.
- * ACC_SYNTHETIC <em>See Table 4.4</em>.
- * </p>
- * <p>
* If a method has its <code>ACC_ABSTRACT</code> flag set it must not
* have any of its <code>ACC_FINAL</code>, <code>ACC_NATIVE</code>,
* <code>ACC_PRIVATE</code>, <code>ACC_STATIC</code>, <code>ACC_STRICT</code>,
@@ -91,24 +41,25 @@ object ClassfileConstants {
* All interface methods must have their <code>ACC_ABSTRACT</code> and
* <code>ACC_PUBLIC</code> flags set.
* </p>
- */
- final val JAVA_ACC_PUBLIC = 0x0001
- final val JAVA_ACC_PRIVATE = 0x0002
- final val JAVA_ACC_PROTECTED = 0x0004
- final val JAVA_ACC_STATIC = 0x0008
- final val JAVA_ACC_FINAL = 0x0010
- final val JAVA_ACC_SUPER = 0x0020
- final val JAVA_ACC_SYNCHRONIZED = 0x0020
- final val JAVA_ACC_VOLATILE = 0x0040
- final val JAVA_ACC_BRIDGE = 0x0040
- final val JAVA_ACC_TRANSIENT = 0x0080
- final val JAVA_ACC_NATIVE = 0x0100
- final val JAVA_ACC_INTERFACE = 0x0200
- final val JAVA_ACC_ABSTRACT = 0x0400
- final val JAVA_ACC_STRICT = 0x0800
- final val JAVA_ACC_SYNTHETIC = 0x1000
- final val JAVA_ACC_ANNOTATION = 0x2000
- final val JAVA_ACC_ENUM = 0x4000
+ */ // Class Field Method
+ final val JAVA_ACC_PUBLIC = 0x0001 // X X X
+ final val JAVA_ACC_PRIVATE = 0x0002 // X X
+ final val JAVA_ACC_PROTECTED = 0x0004 // X X
+ final val JAVA_ACC_STATIC = 0x0008 // X X
+ final val JAVA_ACC_FINAL = 0x0010 // X X X
+ final val JAVA_ACC_SUPER = 0x0020 // X
+ final val JAVA_ACC_SYNCHRONIZED = 0x0020 // X
+ final val JAVA_ACC_VOLATILE = 0x0040 // X
+ final val JAVA_ACC_BRIDGE = 0x0040 // X
+ final val JAVA_ACC_TRANSIENT = 0x0080 // X
+ final val JAVA_ACC_VARARGS = 0x0080 // X
+ final val JAVA_ACC_NATIVE = 0x0100 // X
+ final val JAVA_ACC_INTERFACE = 0x0200 // X
+ final val JAVA_ACC_ABSTRACT = 0x0400 // X X
+ final val JAVA_ACC_STRICT = 0x0800 // X
+ final val JAVA_ACC_SYNTHETIC = 0x1000 // X X X
+ final val JAVA_ACC_ANNOTATION = 0x2000 // X
+ final val JAVA_ACC_ENUM = 0x4000 // X X
// tags describing the type of a literal in the constant pool
final val CONSTANT_UTF8 = 1