Lines Matching refs:self
32 def __init__(self, slicc, type_ast, ident, pairs, rvalue, pointer):
33 super(ObjDeclAST, self).__init__(slicc, pairs)
35 self.type_ast = type_ast
36 self.ident = ident
37 self.rvalue = rvalue
38 self.pointer = pointer
40 def __repr__(self):
41 return "[ObjDecl: %r]" % self.ident
43 def generate(self, parent = None):
44 if "network" in self and not ("virtual_network" in self or
45 "physical_network" in self) :
46 self.error("Network queues require a 'virtual_network' attribute")
48 type = self.type_ast.type
52 if self.ident == "version":
54 elif self.ident == "machineID":
56 elif self.ident == "clusterID":
58 elif self.ident == "recycle_latency":
61 c_code = "(*m_%s_ptr)" % (self.ident)
65 if self.rvalue:
66 rvalue_type,init_code = self.rvalue.inline(True)
68 self.error("Initialization type mismatch '%s' and '%s'" % \
71 machine = self.symtab.state_machine
73 v = Var(self.symtab, self.ident, self.location, type, c_code,
74 self.pairs, machine)
78 if not parent.addDataMember(self.ident, type, self.pairs, init_code):
79 self.error("Duplicate data member: %s:%s" % (parent, self.ident))
85 self.symtab.newSymbol(v)