GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
pt-classdef.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 2012-2018 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software: you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <https://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if ! defined (octave_tree_classdef_h)
24 #define octave_tree_classdef_h 1
25 
26 #include "octave-config.h"
27 
28 class octave_value;
29 
30 #include "comment-list.h"
31 #include "pt-cmd.h"
32 #include "pt-exp.h"
33 #include "pt-walk.h"
34 #include "pt-id.h"
35 
36 #include "base-list.h"
37 
38 #include <list>
39 
40 namespace octave
41 {
42  class interpreter;
43 
45  {
46  public:
47 
49  tree_expression *e = nullptr)
50  : m_id (i), m_expr (e), m_neg (false)
51  { }
52 
54  : m_id (i), m_expr (nullptr), m_neg (b)
55  { }
56 
57  // No copying!
58 
60 
62 
64  {
65  delete m_id;
66  delete m_expr;
67  }
68 
69  tree_identifier * ident (void) { return m_id; }
70 
71  tree_expression * expression (void) { return m_expr; }
72 
73  bool negate (void) { return m_neg; }
74 
75  void accept (tree_walker& tw)
76  {
77  tw.visit_classdef_attribute (*this);
78  }
79 
80  private:
81 
84  bool m_neg;
85  };
86 
87  class tree_classdef_attribute_list : public base_list<tree_classdef_attribute *>
88  {
89  public:
90 
92 
94 
97  { }
98 
99  // No copying!
100 
102 
104  operator = (const tree_classdef_attribute_list&) = delete;
105 
107 
108  void accept (tree_walker& tw)
109  {
111  }
112  };
113 
115  {
116  public:
117 
119  : m_cls_name (cname)
120  { }
121 
122  // No copying!
123 
125 
127  operator = (const tree_classdef_superclass&) = delete;
128 
129  ~tree_classdef_superclass (void) = default;
130 
131  std::string class_name (void) { return m_cls_name; }
132 
133  void accept (tree_walker& tw)
134  {
135  tw.visit_classdef_superclass (*this);
136  }
137 
138  private:
139 
141  };
142 
143  class tree_classdef_superclass_list : public base_list<tree_classdef_superclass *>
144  {
145  public:
146 
148 
150  {
151  append (sc);
152  }
153 
156  { }
157 
158  // No copying!
159 
161 
164 
166 
167  void accept (tree_walker& tw)
168  {
170  }
171  };
172 
173  template <typename T>
175  {
176  public:
177 
179  base_list<T> *elist,
180  comment_list *lc, comment_list *tc,
181  int l = -1, int c = -1)
182  : tree (l, c), m_attr_list (a), m_elt_list (elist),
183  m_lead_comm (lc), m_trail_comm (tc)
184  { }
185 
186  // No copying!
187 
189 
191 
193  {
194  delete m_attr_list;
195  delete m_elt_list;
196  delete m_lead_comm;
197  delete m_trail_comm;
198  }
199 
201 
202  base_list<T> * element_list (void) { return m_elt_list; }
203 
205 
207 
208  void accept (tree_walker&) { }
209 
210  private:
211 
212  // List of attributes that apply to this class.
214 
215  // The list of objects contained in this block.
217 
218  // Comment preceding the token marking the beginning of the block.
220 
221  // Comment preceding END token.
223  };
224 
226  {
227  public:
228 
230  tree_expression *e = nullptr)
231  : m_id (i), m_expr (e)
232  { }
233 
234  // No copying!
235 
237 
239 
241  {
242  delete m_id;
243  delete m_expr;
244  }
245 
246  tree_identifier * ident (void) { return m_id; }
247 
248  tree_expression * expression (void) { return m_expr; }
249 
250  void accept (tree_walker& tw)
251  {
252  tw.visit_classdef_property (*this);
253  }
254 
255  private:
256 
259  };
260 
261  class tree_classdef_property_list : public base_list<tree_classdef_property *>
262  {
263  public:
264 
266 
268 
271 
272  // No copying!
273 
275 
277  operator = (const tree_classdef_property_list&) = delete;
278 
280 
281  void accept (tree_walker& tw)
282  {
283  tw.visit_classdef_property_list (*this);
284  }
285  };
286 
288  : public tree_classdef_element<tree_classdef_property *>
289  {
290  public:
291 
294  comment_list *lc,
295  comment_list *tc,
296  int l = -1, int c = -1)
297  : tree_classdef_element<tree_classdef_property *> (a, plist, lc, tc, l, c)
298  { }
299 
300  // No copying!
301 
303 
306 
307  ~tree_classdef_properties_block (void) = default;
308 
309  void accept (tree_walker& tw)
310  {
312  }
313  };
314 
315  class tree_classdef_methods_list : public base_list<octave_value>
316  {
317  public:
318 
320 
322 
324  : base_list<octave_value> (a) { }
325 
326  // No copying!
327 
329 
331  operator = (const tree_classdef_methods_list&) = delete;
332 
333  ~tree_classdef_methods_list (void) = default;
334 
335  void accept (tree_walker& tw)
336  {
337  tw.visit_classdef_methods_list (*this);
338  }
339  };
340 
342  {
343  public:
344 
347  comment_list *lc,
348  comment_list *tc, int l = -1, int c = -1)
349  : tree_classdef_element<octave_value> (a, mlist, lc, tc, l, c)
350  { }
351 
352  // No copying!
353 
355 
357  operator = (const tree_classdef_methods_block&) = delete;
358 
359  ~tree_classdef_methods_block (void) = default;
360 
361  void accept (tree_walker& tw)
362  {
363  tw.visit_classdef_methods_block (*this);
364  }
365  };
366 
368  {
369  public:
370 
372 
373  // No copying!
374 
375  tree_classdef_event (const tree_classdef_event&) = delete;
376 
378 
380  {
381  delete m_id;
382  }
383 
384  tree_identifier * ident (void) { return m_id; }
385 
386  void accept (tree_walker& tw)
387  {
388  tw.visit_classdef_event (*this);
389  }
390 
391  private:
392 
394  };
395 
396  class tree_classdef_events_list : public base_list<tree_classdef_event *>
397  {
398  public:
399 
401 
403 
406  { }
407 
408  // No copying!
409 
411 
413  operator = (const tree_classdef_events_list&) = delete;
414 
416 
417  void accept (tree_walker& tw)
418  {
419  tw.visit_classdef_events_list (*this);
420  }
421  };
422 
424  : public tree_classdef_element<tree_classdef_event *>
425  {
426  public:
427 
430  comment_list *lc,
431  comment_list *tc, int l = -1, int c = -1)
432  : tree_classdef_element<tree_classdef_event *> (a, elist, lc, tc, l, c)
433  { }
434 
435  // No copying!
436 
438 
440  operator = (const tree_classdef_events_block&) = delete;
441 
442  ~tree_classdef_events_block (void) = default;
443 
444  void accept (tree_walker& tw)
445  {
446  tw.visit_classdef_events_block (*this);
447  }
448  };
449 
451  {
452  public:
453 
454  tree_classdef_enum (void) : m_id (nullptr), m_expr (nullptr) { }
455 
457  : m_id (i), m_expr (e)
458  { }
459 
460  // No copying!
461 
462  tree_classdef_enum (const tree_classdef_enum&) = delete;
463 
465 
467  {
468  delete m_id;
469  delete m_expr;
470  }
471 
472  tree_identifier * ident (void) { return m_id; }
473 
474  tree_expression * expression (void) { return m_expr; }
475 
476  void accept (tree_walker& tw)
477  {
478  tw.visit_classdef_enum (*this);
479  }
480 
481  private:
482 
485  };
486 
487  class tree_classdef_enum_list : public base_list<tree_classdef_enum *>
488  {
489  public:
490 
492 
494 
497  { }
498 
499  // No copying!
500 
502 
504 
506 
507  void accept (tree_walker& tw)
508  {
509  tw.visit_classdef_enum_list (*this);
510  }
511  };
512 
514  : public tree_classdef_element<tree_classdef_enum *>
515  {
516  public:
517 
520  comment_list *lc,
521  comment_list *tc, int l = -1, int c = -1)
522  : tree_classdef_element<tree_classdef_enum *> (a, elist, lc, tc, l, c)
523  { }
524 
525  // No copying!
526 
528 
530  operator = (const tree_classdef_enum_block&) = delete;
531 
532  ~tree_classdef_enum_block (void) = default;
533 
534  void accept (tree_walker& tw)
535  {
536  tw.visit_classdef_enum_block (*this);
537  }
538  };
539 
541  {
542  public:
543 
544  typedef std::list<tree_classdef_properties_block *>::iterator properties_list_iterator;
545  typedef std::list<tree_classdef_properties_block *>::const_iterator properties_list_const_iterator;
546 
547  typedef std::list<tree_classdef_methods_block *>::iterator methods_list_iterator;
548  typedef std::list<tree_classdef_methods_block *>::const_iterator methods_list_const_iterator;
549 
550  typedef std::list<tree_classdef_events_block *>::iterator events_list_iterator;
551  typedef std::list<tree_classdef_events_block *>::const_iterator events_list_const_iterator;
552 
553  typedef std::list<tree_classdef_enum_block *>::iterator enum_list_iterator;
554  typedef std::list<tree_classdef_enum_block *>::const_iterator enum_list_const_iterator;
555 
558  { }
559 
562  {
563  append (pb);
564  }
565 
568  {
569  append (mb);
570  }
571 
574  {
575  append (evb);
576  }
577 
580  {
581  append (enb);
582  }
583 
584  // No copying!
585 
586  tree_classdef_body (const tree_classdef_body&) = delete;
587 
589 
590  ~tree_classdef_body (void);
591 
593  {
594  m_properties_lst.push_back (pb);
595  }
596 
598  {
599  m_methods_lst.push_back (mb);
600  }
601 
603  {
604  m_events_lst.push_back (evb);
605  }
606 
608  {
609  m_enum_lst.push_back (enb);
610  }
611 
612  std::list<tree_classdef_properties_block *> properties_list (void)
613  {
614  return m_properties_lst;
615  }
616 
617  std::list<tree_classdef_methods_block *> methods_list (void)
618  {
619  return m_methods_lst;
620  }
621 
622  std::list<tree_classdef_events_block *> events_list (void)
623  {
624  return m_events_lst;
625  }
626 
627  std::list<tree_classdef_enum_block *> enum_list (void)
628  {
629  return m_enum_lst;
630  }
631 
632  void accept (tree_walker& tw)
633  {
634  tw.visit_classdef_body (*this);
635  }
636 
637  private:
638 
639  std::list<tree_classdef_properties_block *> m_properties_lst;
640 
641  std::list<tree_classdef_methods_block *> m_methods_lst;
642 
643  std::list<tree_classdef_events_block *> m_events_lst;
644 
645  std::list<tree_classdef_enum_block *> m_enum_lst;
646  };
647 
648  // Classdef definition.
649 
651  {
652  public:
653 
657  comment_list *tc,
658  const std::string& pn = "", int l = -1,
659  int c = -1)
660  : tree_command (l, c), m_attr_list (a), m_id (i),
662  m_trail_comm (tc), m_pack_name (pn)
663  { }
664 
665  // No copying!
666 
667  tree_classdef (const tree_classdef&) = delete;
668 
669  tree_classdef& operator = (const tree_classdef&) = delete;
670 
672  {
673  delete m_attr_list;
674  delete m_id;
675  delete m_supclass_list;
676  delete m_element_list;
677  delete m_lead_comm;
678  delete m_trail_comm;
679  }
680 
682  attribute_list (void) { return m_attr_list; }
683 
684  tree_identifier * ident (void) { return m_id; }
685 
687  superclass_list (void) { return m_supclass_list; }
688 
690 
693 
694  const std::string& package_name (void) const { return m_pack_name; }
695 
697  bool is_at_folder = false);
698 
699  void accept (tree_walker& tw)
700  {
701  tw.visit_classdef (*this);
702  }
703 
704  private:
705 
707 
709 
711 
713 
716 
718  };
719 }
720 
721 #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS)
722 
723 // Hmm, a lot of these are templates, so not sure how to typedef them.
724 
725 #endif
726 
727 #endif
comment_list * leading_comment(void)
Definition: pt-classdef.h:691
void accept(tree_walker &tw)
Definition: pt-classdef.h:75
tree_expression * expression(void)
Definition: pt-classdef.h:248
std::list< tree_classdef_enum_block * > m_enum_lst
Definition: pt-classdef.h:645
tree_classdef_attribute_list * m_attr_list
Definition: pt-classdef.h:213
void accept(tree_walker &tw)
Definition: pt-classdef.h:250
virtual void visit_classdef_attribute(tree_classdef_attribute &)
Definition: pt-walk.h:246
For example cd octave end example noindent changes the current working directory to an error message is printed and the working directory is not changed sc
Definition: dirfns.cc:124
tree_classdef_enum_list & operator=(const tree_classdef_enum_list &)=delete
tree_classdef_body * m_element_list
Definition: pt-classdef.h:712
tree_classdef_superclass_list & operator=(const tree_classdef_superclass_list &)=delete
void append(tree_classdef_enum_block *enb)
Definition: pt-classdef.h:607
comment_list * m_trail_comm
Definition: pt-classdef.h:715
tree_classdef_event(tree_identifier *i=nullptr)
Definition: pt-classdef.h:371
virtual void visit_classdef_enum_list(tree_classdef_enum_list &)
Definition: pt-walk.h:285
tree_classdef_property_list(const base_list< tree_classdef_property *> &a)
Definition: pt-classdef.h:269
void accept(tree_walker &tw)
Definition: pt-classdef.h:281
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE * f
tree_classdef_attribute_list(const base_list< tree_classdef_attribute *> &a)
Definition: pt-classdef.h:95
virtual void visit_classdef_event(tree_classdef_event &)
Definition: pt-walk.h:273
virtual void visit_classdef_events_list(tree_classdef_events_list &)
Definition: pt-walk.h:276
tree_identifier * ident(void)
Definition: pt-classdef.h:384
comment_list * trailing_comment(void)
Definition: pt-classdef.h:692
virtual void visit_classdef_methods_block(tree_classdef_methods_block &)
Definition: pt-walk.h:270
std::list< tree_classdef_events_block * > events_list(void)
Definition: pt-classdef.h:622
void accept(tree_walker &tw)
Definition: pt-classdef.h:699
tree_classdef_enum_block & operator=(const tree_classdef_enum_block &)=delete
virtual void visit_classdef_property(tree_classdef_property &)
Definition: pt-walk.h:258
virtual void visit_classdef_events_block(tree_classdef_events_block &)
Definition: pt-walk.h:279
tree_classdef_body(tree_classdef_properties_block *pb)
Definition: pt-classdef.h:560
tree_expression * expression(void)
Definition: pt-classdef.h:71
tree_classdef_methods_block & operator=(const tree_classdef_methods_block &)=delete
std::list< tree_classdef_enum_block * > enum_list(void)
Definition: pt-classdef.h:627
tree_classdef_property & operator=(const tree_classdef_property &)=delete
tree_classdef_attribute_list * m_attr_list
Definition: pt-classdef.h:706
tree_classdef_enum_list(tree_classdef_enum *e)
Definition: pt-classdef.h:493
tree_classdef_event & operator=(const tree_classdef_event &)=delete
tree_classdef_body(tree_classdef_methods_block *mb)
Definition: pt-classdef.h:566
std::list< tree_classdef_methods_block * >::const_iterator methods_list_const_iterator
Definition: pt-classdef.h:548
virtual void visit_classdef(tree_classdef &)
Definition: pt-walk.h:294
void accept(tree_walker &tw)
Definition: pt-classdef.h:632
tree_classdef_enum_block(tree_classdef_attribute_list *a, tree_classdef_enum_list *elist, comment_list *lc, comment_list *tc, int l=-1, int c=-1)
Definition: pt-classdef.h:518
tree_expression * m_expr
Definition: pt-classdef.h:484
nd example oindent opens the file binary numeric values will be read assuming they are stored in IEEE format with the least significant bit and then converted to the native representation Opening a file that is already open simply opens it again and returns a separate file id It is not an error to open a file several though writing to the same file through several different file ids may produce unexpected results The possible values of text mode reading and writing automatically converts linefeeds to the appropriate line end character for the you may append a you must also open the file in binary mode The parameter conversions are currently only supported for and permissions will be set to and then everything is written in a single operation This is very efficient and improves performance c
Definition: file-io.cc:587
tree_classdef_property_list & operator=(const tree_classdef_property_list &)=delete
tree_classdef_attribute_list(tree_classdef_attribute *a)
Definition: pt-classdef.h:93
tree_classdef_property(tree_identifier *i=nullptr, tree_expression *e=nullptr)
Definition: pt-classdef.h:229
tree_classdef_enum_list(const base_list< tree_classdef_enum *> &a)
Definition: pt-classdef.h:495
tree_classdef_enum(tree_identifier *i, tree_expression *e)
Definition: pt-classdef.h:456
i e
Definition: data.cc:2591
tree_expression * expression(void)
Definition: pt-classdef.h:474
std::list< tree_classdef_properties_block * >::const_iterator properties_list_const_iterator
Definition: pt-classdef.h:545
tree_identifier * ident(void)
Definition: pt-classdef.h:684
tree_classdef_attribute(tree_identifier *i=nullptr, tree_expression *e=nullptr)
Definition: pt-classdef.h:48
tree_classdef_superclass_list(tree_classdef_superclass *sc)
Definition: pt-classdef.h:149
std::list< tree_classdef_properties_block * > m_properties_lst
Definition: pt-classdef.h:639
virtual void visit_classdef_enum(tree_classdef_enum &)
Definition: pt-walk.h:282
tree_classdef_methods_block(tree_classdef_attribute_list *a, tree_classdef_methods_list *mlist, comment_list *lc, comment_list *tc, int l=-1, int c=-1)
Definition: pt-classdef.h:345
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
Definition: cellfun.cc:400
tree_classdef_enum & operator=(const tree_classdef_enum &)=delete
void append(tree_classdef_methods_block *mb)
Definition: pt-classdef.h:597
std::list< tree_classdef_events_block * >::iterator events_list_iterator
Definition: pt-classdef.h:550
void accept(tree_walker &tw)
Definition: pt-classdef.h:417
tree_identifier * m_id
Definition: pt-classdef.h:483
void accept(tree_walker &tw)
Definition: pt-classdef.h:361
tree_classdef_superclass_list * m_supclass_list
Definition: pt-classdef.h:710
tree_classdef_properties_block(tree_classdef_attribute_list *a, tree_classdef_property_list *plist, comment_list *lc, comment_list *tc, int l=-1, int c=-1)
Definition: pt-classdef.h:292
std::string m_pack_name
Definition: pt-classdef.h:717
virtual void visit_classdef_methods_list(tree_classdef_methods_list &)
Definition: pt-walk.h:267
std::list< tree_classdef_enum_block * >::const_iterator enum_list_const_iterator
Definition: pt-classdef.h:554
void append(tree_classdef_properties_block *pb)
Definition: pt-classdef.h:592
tree_classdef_property_list(tree_classdef_property *p)
Definition: pt-classdef.h:267
void accept(tree_walker &tw)
Definition: pt-classdef.h:386
tree_classdef_body(tree_classdef_events_block *evb)
Definition: pt-classdef.h:572
tree_classdef_element & operator=(const tree_classdef_element &)=delete
tree_classdef_attribute & operator=(const tree_classdef_attribute &)=delete
tree_classdef_attribute_list * attribute_list(void)
Definition: pt-classdef.h:200
tree_classdef_superclass_list(const base_list< tree_classdef_superclass *> &a)
Definition: pt-classdef.h:154
void accept(tree_walker &tw)
Definition: pt-classdef.h:133
tree_classdef_properties_block & operator=(const tree_classdef_properties_block &)=delete
tree_classdef_events_list & operator=(const tree_classdef_events_list &)=delete
void accept(tree_walker &)
Definition: pt-classdef.h:208
void accept(tree_walker &tw)
Definition: pt-classdef.h:534
tree_classdef_methods_list & operator=(const tree_classdef_methods_list &)=delete
is false
Definition: cellfun.cc:400
void accept(tree_walker &tw)
Definition: pt-classdef.h:476
tree_classdef_body * body(void)
Definition: pt-classdef.h:689
comment_list * trailing_comment(void)
Definition: pt-classdef.h:206
tree_classdef_superclass(const std::string &cname)
Definition: pt-classdef.h:118
std::list< tree_classdef_methods_block * > methods_list(void)
Definition: pt-classdef.h:617
tree_classdef(tree_classdef_attribute_list *a, tree_identifier *i, tree_classdef_superclass_list *sc, tree_classdef_body *b, comment_list *lc, comment_list *tc, const std::string &pn="", int l=-1, int c=-1)
Definition: pt-classdef.h:654
tree_classdef_body(tree_classdef_enum_block *enb)
Definition: pt-classdef.h:578
tree_classdef_events_block(tree_classdef_attribute_list *a, tree_classdef_events_list *elist, comment_list *lc, comment_list *tc, int l=-1, int c=-1)
Definition: pt-classdef.h:428
void accept(tree_walker &tw)
Definition: pt-classdef.h:507
tree_classdef_attribute_list * attribute_list(void)
Definition: pt-classdef.h:682
comment_list * m_lead_comm
Definition: pt-classdef.h:714
virtual void visit_classdef_superclass(tree_classdef_superclass &)
Definition: pt-walk.h:252
virtual void visit_classdef_body(tree_classdef_body &)
Definition: pt-walk.h:291
virtual void visit_classdef_superclass_list(tree_classdef_superclass_list &)
Definition: pt-walk.h:255
void accept(tree_walker &tw)
Definition: pt-classdef.h:444
tree_classdef_methods_list(const octave_value &f)
Definition: pt-classdef.h:321
tree_classdef_events_block & operator=(const tree_classdef_events_block &)=delete
std::list< tree_classdef_properties_block * > properties_list(void)
Definition: pt-classdef.h:612
virtual void visit_classdef_properties_block(tree_classdef_properties_block &)
Definition: pt-walk.h:264
std::list< tree_classdef_events_block * > m_events_lst
Definition: pt-classdef.h:643
std::list< tree_classdef_methods_block * > m_methods_lst
Definition: pt-classdef.h:641
virtual void visit_classdef_attribute_list(tree_classdef_attribute_list &)
Definition: pt-walk.h:249
tree_identifier * m_id
Definition: pt-classdef.h:393
std::list< tree_classdef_methods_block * >::iterator methods_list_iterator
Definition: pt-classdef.h:547
tree_classdef_events_list(const base_list< tree_classdef_event *> &a)
Definition: pt-classdef.h:404
tree_classdef_events_list(tree_classdef_event *e)
Definition: pt-classdef.h:402
p
Definition: lu.cc:138
tree_classdef_attribute_list & operator=(const tree_classdef_attribute_list &)=delete
tree_classdef_superclass_list * superclass_list(void)
Definition: pt-classdef.h:687
std::list< tree_classdef_events_block * >::const_iterator events_list_const_iterator
Definition: pt-classdef.h:551
base_list< T > * m_elt_list
Definition: pt-classdef.h:216
tree_classdef_element(tree_classdef_attribute_list *a, base_list< T > *elist, comment_list *lc, comment_list *tc, int l=-1, int c=-1)
Definition: pt-classdef.h:178
b
Definition: cellfun.cc:400
void accept(tree_walker &tw)
Definition: pt-classdef.h:335
tree_classdef_body & operator=(const tree_classdef_body &)=delete
tree_classdef_methods_list(const base_list< octave_value > &a)
Definition: pt-classdef.h:323
tree_identifier * m_id
Definition: pt-classdef.h:708
void append(tree_classdef_events_block *evb)
Definition: pt-classdef.h:602
for i
Definition: data.cc:5264
std::list< tree_classdef_properties_block * >::iterator properties_list_iterator
Definition: pt-classdef.h:544
tree_classdef_superclass & operator=(const tree_classdef_superclass &)=delete
void append(const tree_classdef_attribute * &s)
Definition: base-list.h:110
octave_function * make_meta_class(interpreter &interp, bool is_at_folder=false)
Definition: pt-classdef.cc:148
virtual void visit_classdef_enum_block(tree_classdef_enum_block &)
Definition: pt-walk.h:288
tree_classdef & operator=(const tree_classdef &)=delete
tree_identifier * ident(void)
Definition: pt-classdef.h:69
comment_list * leading_comment(void)
Definition: pt-classdef.h:204
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
Definition: utils.cc:888
base_list< T > * element_list(void)
Definition: pt-classdef.h:202
virtual void visit_classdef_property_list(tree_classdef_property_list &)
Definition: pt-walk.h:261
std::list< tree_classdef_enum_block * >::iterator enum_list_iterator
Definition: pt-classdef.h:553
tree_classdef_attribute(tree_identifier *i, bool b)
Definition: pt-classdef.h:53
tree_identifier * ident(void)
Definition: pt-classdef.h:472
const std::string & package_name(void) const
Definition: pt-classdef.h:694
tree_identifier * ident(void)
Definition: pt-classdef.h:246