ruby: slicc: slight code refactoring

This commit is contained in:
Nilay Vaish 2014-02-20 17:26:49 -06:00
parent b312a41f21
commit dd5c72e5a7
2 changed files with 12 additions and 20 deletions

View file

@ -140,23 +140,21 @@ class MemberMethodCallExprAST(MethodCallExprAST):
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

View file

@ -39,8 +39,6 @@ class ObjDeclAST(DeclAST):
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")
@ -84,7 +82,3 @@ class ObjDeclAST(DeclAST):
machine.addObject(v)
self.symtab.newSymbol(v)
# used to cheat-- that is, access components in other machines
if machineComponentSym:
self.symtab.newMachComponentSym(v)