implemented_paramTypes.append(implemented_paramType)
+ implementedMethodId = ""
if implements_interface:
- implementedMethodId = obj_type.methodIdAbstract(self.proc_name,
- implemented_paramTypes)
- else:
- implementedMethodId = ""
+ implementedMethodId = obj_type.methodIdAbstract(
+ self.proc_name, implemented_paramTypes)
if implementedMethodId not in obj_type.methods:
- self.error("Invalid method call: " \
- "Type '%s' does not have a method %s, '%s' nor '%s'",
- obj_type, self.proc_name, methodId, implementedMethodId)
- else:
- #
- # Replace the methodId with the implementedMethodId found in
- # the method list.
- #
- methodId = implementedMethodId
- return_type = obj_type.methods[methodId].return_type
+ self.error("Invalid method call: Type '%s' " \
+ "does not have a method %s, '%s' nor '%s'",
+ obj_type, self.proc_name, methodId,
+ implementedMethodId)
+
+ # Replace the methodId with the implementedMethodId
+ # found in the method list.
+ methodId = implementedMethodId
+ return_type = obj_type.methods[methodId].return_type
if return_type.isInterface:
prefix = "static_cast<%s &>" % return_type.c_ident
return "[ObjDecl: %r]" % self.ident
def generate(self):
- machineComponentSym = False
-
if "network" in self and not ("virtual_network" in self or
"physical_network" in self) :
self.error("Network queues require a 'virtual_network' attribute")
machine.addObject(v)
self.symtab.newSymbol(v)
-
- # used to cheat-- that is, access components in other machines
- if machineComponentSym:
- self.symtab.newMachComponentSym(v)