public NameGen(SClassDeclIR classDecl) { this(AssistantBase.getVdmNode(classDecl)); }
public SClassDefinition getSourceClass(PIR node) { SClassDeclIR enclosingClass = node.getAncestor(SClassDeclIR.class); if (enclosingClass != null) { INode sourceNode = AssistantBase.getVdmNode(node); if (sourceNode instanceof SClassDefinition) { return (SClassDefinition) sourceNode; } } return null; } }
@Override public void caseAIdentifierVarExpIR(AIdentifierVarExpIR node) throws AnalysisException { INode var = AssistantBase.getVdmNode(node); if(var instanceof AVariableExp) { PDefinition def = ((AVariableExp) var).getVardef(); if (def instanceof ARenamedDefinition) { return; } } vars.add(node); }
public String consVdmNodeInfoStr(STypeIR t) { StringBuilder sb = new StringBuilder(); INode vdmNode = AssistantBase.getVdmNode(t); if(vdmNode != null) { sb.append("VDM node: " + vdmNode + "."); ILexLocation loc = findLocation(vdmNode); if(loc != null) { sb.append(" VDM node location: " + loc + "."); } } return sb.toString(); } }
public ClassToInterfaceTrans(TransAssistantIR assist) { this.isFullyAbstract = new HashMap<>(); this.interfaces = new HashMap<>(); for (SClassDeclIR c : assist.getInfo().getClasses()) { INode vdmNode = AssistantBase.getVdmNode(c); // AVoid system as CPU classes if (vdmNode instanceof AClassClassDefinition) { SClassDefinition vdmClazz = (SClassDefinition) vdmNode; isFullyAbstract.put(c.getName(), assist.getInfo().getDeclAssistant().isFullyAbstract(vdmClazz, assist.getInfo())); interfaces.put(c.getName(), convertToInterface(c)); } else { isFullyAbstract.put(c.getName(), false); } // This transformation is only helpful for IR classes that originate // from VDM classes. So we simply ignore classes that originate from // modules since SL does not support inheritance anyway. } }
INode vdmNode = AssistantBase.getVdmNode(clazz);
org.overture.ast.node.INode vdmNode = AssistantBase.getVdmNode(enclosingIrClass);
INode var = AssistantBase.getVdmNode(node);
INode vdmNode = AssistantBase.getVdmNode(node);
INode var = AssistantBase.getVdmNode(func);
log.warn("Record type of mu_ expression '" + AssistantBase.getVdmNode(node) + "' has incomplete information." + " Record type name: " + node.getRecType().getName().getName() + ". Defining class of record type: " + node.getRecType().getName().getDefiningClass());
id.setName(applyResultName); org.overture.ast.node.INode vdmNode = AssistantBase.getVdmNode(node); DeclAssistantIR declAssist = transAssistant.getInfo().getDeclAssistant(); ExpAssistantIR expAssist = transAssistant.getInfo().getExpAssistant();
@Override public void caseAIdentifierVarExpIR(AIdentifierVarExpIR node) throws AnalysisException { INode var = AssistantBase.getVdmNode(node); if(var instanceof AVariableExp) { PDefinition def = ((AVariableExp) var).getVardef(); if(def instanceof ARenamedDefinition) { ARenamedDefinition renamedDef = (ARenamedDefinition) def; AClassTypeIR definingClass = new AClassTypeIR(); definingClass.setName(renamedDef.getDef().getName().getModule()); definingClass.setSourceNode(node.getSourceNode()); AExplicitVarExpIR expVar = new AExplicitVarExpIR(); expVar.setName(renamedDef.getDef().getName().getName()); expVar.setType(node.getType().clone()); expVar.setIsLambda(node.getIsLambda()); expVar.setIsLocal(node.getIsLocal()); expVar.setMetaData(node.getMetaData()); expVar.setTag(node.getTag()); expVar.setSourceNode(node.getSourceNode()); expVar.setClassType(definingClass); assist.replaceNodeWith(node, expVar); } } }