[armedbear-cvs] r12169 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Sat Oct 3 10:29:09 UTC 2009


Author: ehuelsmann
Date: Sat Oct  3 06:29:02 2009
New Revision: 12169

Log:
Sort out my thoughts: Add documentation.

Modified:
   trunk/abcl/src/org/armedbear/lisp/Binding.java

Modified: trunk/abcl/src/org/armedbear/lisp/Binding.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Binding.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/Binding.java	Sat Oct  3 06:29:02 2009
@@ -33,12 +33,44 @@
 
 package org.armedbear.lisp;
 
+/** Used by the environment to capture different kinds of bindings:
+ * tags, blocks, functions and variables.
+ *
+ */
 // Package accessibility.
 final class Binding
 {
+    /** The symbol in case of a variable, block or
+     * non-SETF function binding, the tag (symbol or
+     * integer) in case of a tag binding or the cons
+     * in case of a SETF function binding
+     */
     final LispObject symbol;
+
+    /** Used only for tags. Refers to the environment
+     * relating to the tagbody in which the tag was created.
+     *
+     */
     LispObject tagbody = null;
+
+    /** The value bound.
+     *
+     * In case of a block binding, it holds the block identifier to be used
+     * with the Return to be thrown.
+     *
+     * In case of a tagbody, it holds the tail subforms of the tagbody, of
+     * which the tag is the first subform.
+     *
+     * In case of a function binding, it holds the function object.
+     *
+     * In case of a variable binding, it holds the value associated with the
+     * variable, unless specialp is true.
+     */
     LispObject value;
+
+    /** Only used for variable bindings. Indicates whether or not the value
+     * should be retrieved from the dynamic environment or from this binding.
+     */
     boolean specialp;
     final Binding next;
 




More information about the armedbear-cvs mailing list