Class Attribute


  • public class Attribute
    extends java.lang.Object
    Track the names of attributes define in arg lists, return values, scope blocks etc...
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.lang.String decl
      The entire declaration such as "String foo;"
      java.lang.String initValue
      The optional attribute intialization expression
      java.lang.String name
      The name of the attribute "foo"
      java.lang.String type
      The type; might be empty such as for Python which has no static typing
    • Constructor Summary

      Constructors 
      Constructor Description
      Attribute​(java.lang.String decl)  
      Attribute​(java.lang.String name, java.lang.String decl)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void extractAttribute​(java.lang.String decl)
      For decls like "String foo" or "char *foo32[3]" compute the ID and type declarations.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • decl

        public java.lang.String decl
        The entire declaration such as "String foo;"
      • type

        public java.lang.String type
        The type; might be empty such as for Python which has no static typing
      • name

        public java.lang.String name
        The name of the attribute "foo"
      • initValue

        public java.lang.String initValue
        The optional attribute intialization expression
    • Constructor Detail

      • Attribute

        public Attribute​(java.lang.String decl)
      • Attribute

        public Attribute​(java.lang.String name,
                         java.lang.String decl)
    • Method Detail

      • extractAttribute

        protected void extractAttribute​(java.lang.String decl)
        For decls like "String foo" or "char *foo32[3]" compute the ID and type declarations. Also handle "int x=3" and 'T t = new T("foo")' but if the separator is ',' you cannot use ',' in the initvalue. AttributeScope.addAttributes takes care of the separation so we are free here to use from '=' to end of string as the expression. Set name, type, initvalue, and full decl instance vars.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object