@Override
 protected void setASTField(int index, IASTNode value) {
   switch (index) {
     case 0:
       this.label = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 1:
       this.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 2:
       this.hiddenTStructure = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 3:
       this.hiddenTEndstructure = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 4:
       this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     default:
       throw new IllegalArgumentException("Invalid index");
   }
 }
 @Override
 protected void setASTField(int index, IASTNode value) {
   switch (index) {
     case 0:
       this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 1:
       this.variable = (ASTVariableNode) value;
       if (value != null) value.setParent(this);
       return;
     default:
       throw new IllegalArgumentException("Invalid index");
   }
 }
 @Override
 protected void setASTField(int index, IASTNode value) {
   switch (index) {
     case 0:
       this.objectName = (ASTObjectNameNode) value;
       if (value != null) value.setParent(this);
       return;
     case 1:
       this.hiddenAsterisk2 = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 2:
       this.initialCharLength = (ASTCharLengthNode) value;
       if (value != null) value.setParent(this);
       return;
     case 3:
       this.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 4:
       this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 5:
       this.arraySpec = (ASTArraySpecNode) value;
       if (value != null) value.setParent(this);
       return;
     case 6:
       this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 7:
       this.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 8:
       this.coarraySpec = (ASTCoarraySpecNode) value;
       if (value != null) value.setParent(this);
       return;
     case 9:
       this.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 10:
       this.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 11:
       this.charLength = (ASTCharLengthNode) value;
       if (value != null) value.setParent(this);
       return;
     case 12:
       this.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 13:
       this.dataStmtValueList = (IASTListNode<ASTDataStmtValueNode>) value;
       if (value != null) value.setParent(this);
       return;
     case 14:
       this.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 15:
       this.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token) value;
       if (value != null) value.setParent(this);
       return;
     case 16:
       this.initialization = (ASTInitializationNode) value;
       if (value != null) value.setParent(this);
       return;
     default:
       throw new IllegalArgumentException("Invalid index");
   }
 }