daikon
Class FileIO.VarDefinition

Object
  extended by FileIO.VarDefinition
All Implemented Interfaces:
Serializable, Cloneable
Enclosing class:
FileIO

public static class FileIO.VarDefinition
extends Object
implements Serializable, Cloneable

Class that holds all of the information from the declaration record concerning a particular variable

See Also:
Serialized Form

Field Summary
 int arr_dims
           
 VarComparability comparability
           
 ProglangType declared_type
           
 String enclosing_var
           
 EnumSet<VarInfo.VarFlags> flags
           
 List<String> function_args
           
 VarInfo.VarKind kind
           
 EnumSet<VarInfo.LangFlags> lang_flags
           
 String name
           
 String parent_ppt
           
 int parent_relation_id
           
 String parent_variable
           
 VarInfo.RefType ref_type
           
 String relative_name
           
 ProglangType rep_type
           
 Object static_constant_value
           
 
Constructor Summary
FileIO.VarDefinition(FileIO.ParseState state, Scanner scanner)
          Initialize from the 'variable ' record.
FileIO.VarDefinition(String name, VarInfo.VarKind kind, ProglangType type)
           
 
Method Summary
 void clear_parent_relation()
          Clears the parent relation if one existed
 FileIO.VarDefinition clone()
           
 FileIO.VarDefinition copy()
           
 void need_eol(Scanner scanner)
          Throws a DeclError if the scanner is not at end of line
 String need(Scanner scanner, String description)
          Helper function, returns the next string token unescaped and interned.
 void parse_array(Scanner scanner)
          Parses the array record
 void parse_comparability(Scanner scanner)
          Parses a comparability record
 void parse_constant(Scanner scanner)
          Parse a constant record
 void parse_dec_type(Scanner scanner)
           
 void parse_enclosing_var(Scanner scanner)
          Parses the enclosing-var record
<E extends Enum<E>>
E
parse_enum_val(Scanner scanner, Class<E> enum_class, String descr)
          Looks up the next token as a member of enum_class.
 void parse_flags(Scanner scanner)
          Parse the flags record.
 void parse_function_args(Scanner scanner)
          Parses the function-args record
 void parse_lang_flags(Scanner scanner)
          Parse the langauge specific flags record.
 void parse_parent(Scanner scanner, List<FileIO.ParentRelation> ppt_parents)
          Parse a parent ppt record
 void parse_reference_type(Scanner scanner)
          Parses the reference-type record
 void parse_rep_type(Scanner scanner)
           
 void parse_var_kind(Scanner scanner)
          Parse a var-kind record.
 
Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

public String name

kind

public VarInfo.VarKind kind

enclosing_var

public String enclosing_var

relative_name

public String relative_name

ref_type

public VarInfo.RefType ref_type

arr_dims

public int arr_dims

function_args

public List<String> function_args

rep_type

public ProglangType rep_type

declared_type

public ProglangType declared_type

flags

public EnumSet<VarInfo.VarFlags> flags

lang_flags

public EnumSet<VarInfo.LangFlags> lang_flags

comparability

public VarComparability comparability

parent_ppt

public String parent_ppt

parent_relation_id

public int parent_relation_id

parent_variable

public String parent_variable

static_constant_value

public Object static_constant_value
Constructor Detail

FileIO.VarDefinition

public FileIO.VarDefinition(FileIO.ParseState state,
                            Scanner scanner)
                     throws FileIO.DeclError
Initialize from the 'variable ' record. Scanner should be pointing at name.

Throws:
FileIO.DeclError

FileIO.VarDefinition

public FileIO.VarDefinition(String name,
                            VarInfo.VarKind kind,
                            ProglangType type)
Method Detail

clone

public FileIO.VarDefinition clone()
Overrides:
clone in class Object

copy

public FileIO.VarDefinition copy()

clear_parent_relation

public void clear_parent_relation()
Clears the parent relation if one existed


parse_var_kind

public void parse_var_kind(Scanner scanner)
                    throws FileIO.DeclError
Parse a var-kind record. Scanner should be pointing at the variable kind.

Throws:
FileIO.DeclError

parse_enclosing_var

public void parse_enclosing_var(Scanner scanner)
                         throws FileIO.DeclError
Parses the enclosing-var record

Throws:
FileIO.DeclError

parse_reference_type

public void parse_reference_type(Scanner scanner)
                          throws FileIO.DeclError
Parses the reference-type record

Throws:
FileIO.DeclError

parse_array

public void parse_array(Scanner scanner)
                 throws FileIO.DeclError
Parses the array record

Throws:
FileIO.DeclError

parse_function_args

public void parse_function_args(Scanner scanner)
                         throws FileIO.DeclError
Parses the function-args record

Throws:
FileIO.DeclError

parse_rep_type

public void parse_rep_type(Scanner scanner)
                    throws FileIO.DeclError
Throws:
FileIO.DeclError

parse_dec_type

public void parse_dec_type(Scanner scanner)
                    throws FileIO.DeclError
Throws:
FileIO.DeclError

parse_flags

public void parse_flags(Scanner scanner)
                 throws FileIO.DeclError
Parse the flags record. Multiple flags can be specified

Throws:
FileIO.DeclError

parse_lang_flags

public void parse_lang_flags(Scanner scanner)
                      throws FileIO.DeclError
Parse the langauge specific flags record. Multiple flags can be specified

Throws:
FileIO.DeclError

parse_comparability

public void parse_comparability(Scanner scanner)
                         throws FileIO.DeclError
Parses a comparability record

Throws:
FileIO.DeclError

parse_parent

public void parse_parent(Scanner scanner,
                         List<FileIO.ParentRelation> ppt_parents)
                  throws FileIO.DeclError
Parse a parent ppt record

Throws:
FileIO.DeclError

parse_constant

public void parse_constant(Scanner scanner)
                    throws FileIO.DeclError
Parse a constant record

Throws:
FileIO.DeclError

need

public String need(Scanner scanner,
                   String description)
            throws FileIO.DeclError
Helper function, returns the next string token unescaped and interned. Throw a DeclError if there is no next token

Throws:
FileIO.DeclError

need_eol

public void need_eol(Scanner scanner)
              throws FileIO.DeclError
Throws a DeclError if the scanner is not at end of line

Throws:
FileIO.DeclError

parse_enum_val

public <E extends Enum<E>> E parse_enum_val(Scanner scanner,
                                            Class<E> enum_class,
                                            String descr)
                                 throws FileIO.DeclError
Looks up the next token as a member of enum_class. A DeclError is thrown if there is no token or if it is not valid member of the class. Enums are presumed to be in in upper case

Throws:
FileIO.DeclError