private var parent: ANode
private var items = new Array[E]
redef fun iterator do return items.iterator
+ redef fun reverse_iterator do return items.reverse_iterator
redef fun length do return items.length
redef fun is_empty do return items.is_empty
redef fun push(e)
var n_assign: TAssign is writable, noinit
end
+# A potentially qualified simple identifier `foo::bar::baz`
+class AQid
+ super Prod
+ # The qualifier, if any
+ var n_qualified: nullable AQualified = null is writable
+
+ # The final identifier
+ var n_id: TId is writable, noinit
+end
+
# A signature in a method definition. eg `(x,y:X,z:Z):T`
class ASignature
super Prod
var n_type: AType is writable, noinit
# The name of the named-constructor, if any
- var n_id: nullable TId = null is writable
+ var n_qid: nullable AQid = null is writable
# The arguments of the `new`
var n_args: AExprs is writable, noinit
super ASendExpr
# The name of the method
- var n_id: TId is writable, noinit
+ var n_qid: AQid is writable, noinit
# The arguments of the call
var n_args: AExprs is writable, noinit
# The starting quad (`::`)
var n_quad: nullable TQuad = null is writable
- # The list of quad-separated project/group identifiers
+ # The list of quad-separated package/group identifiers
var n_path = new ANodes[TId](self)
# The final module identifier
# The starting quad (`::`)
var n_quad: nullable TQuad = null is writable
- # The list of quad-separated project/group/module identifiers
+ # The list of quad-separated package/group/module identifiers
var n_id = new ANodes[TId](self)
# A class identifier