@Override public List<AFieldDeclIR> getDecls(SClassDeclIR classDecl) { return classDecl.getFields(); } };
@Override public List<AMethodDeclIR> getDecls(SClassDeclIR classDecl) { return classDecl.getMethods(); } };
public SClassDeclIR findClass(List<SClassDeclIR> classes, String moduleName) { for (SClassDeclIR classDecl : classes) { if (classDecl.getName().equals(moduleName)) { return classDecl; } } return null; }
public void addDependencies(SClassDeclIR clazz, List<ClonableString> extraDeps, boolean prepend) { NodeAssistantIR nodeAssistant = assistantManager.getNodeAssistant(); clazz.setDependencies(nodeAssistant.buildData(clazz.getDependencies(), extraDeps, prepend)); }
classCg.setPackage(null); classCg.setName(name); classCg.setAccess(access); classCg.setAbstract(isAbstract); classCg.setStatic(isStatic); classCg.setStatic(false); classCg.getSuperNames().add(superName); classCg.getFields().add((AFieldDeclIR) decl); } else if (decl instanceof AMethodDeclIR) classCg.getMethods().add((AMethodDeclIR) decl); } else if (decl instanceof ATypeDeclIR) classCg.getTypeDecls().add((ATypeDeclIR) decl); } else if (decl instanceof AFuncDeclIR) classCg.getFunctions().add((AFuncDeclIR) decl); } else if (decl instanceof AThreadDeclIR) classCg.setThread((AThreadDeclIR) decl); classCg.getPerSyncs().add((APersyncDeclIR) decl); } else if (decl instanceof AMutexSyncDeclIR) classCg.getMutexSyncs().add((AMutexSyncDeclIR) decl); } else if (decl instanceof ANamedTraceDeclIR)
private AInterfaceDeclIR convertToInterface(SClassDeclIR c) { List<AFieldDeclIR> clonedFields = new LinkedList<>(); for (AFieldDeclIR f : c.getFields()) { clonedFields.add(f.clone()); } List<AMethodDeclIR> clonedMethods = new LinkedList<>(); for (AMethodDeclIR m : c.getMethods()) { if (!m.getIsConstructor() && !(m.getTag() instanceof IRGeneratedTag)) { clonedMethods.add(m.clone()); } } AInterfaceDeclIR inter = new AInterfaceDeclIR(); inter.setFields(clonedFields); inter.setMetaData(c.getMetaData()); inter.setMethodSignatures(clonedMethods); inter.setName(c.getName()); inter.setPackage(c.getPackage()); inter.setSourceNode(c.getSourceNode()); inter.setTag(c.getTag()); for (ATokenNameIR n : c.getSuperNames()) { inter.getExtension().add(n.clone()); } return inter; }
private SClassDeclIR getThreadClass(List<ATokenNameIR> superNames, SClassDeclIR classCg) { if (superNames.isEmpty() || superNames.get(0).getName().equals(concPrefixes.vdmThreadClassName())) { return classCg; } else { SClassDeclIR superClass = null; for (SClassDeclIR c : info.getClasses()) { if (c.getName().equals(superNames.get(0).getName())) { superClass = c; break; } } return getThreadClass(superClass.getSuperNames(), superClass); } } }
public String formatSuperType(SClassDeclIR classDecl) { return classDecl.getSuperNames().isEmpty() ? "" : "extends " + classDecl.getSuperNames().get(0); }
irStatus.getIrNode().setPackage(getJavaSettings().getJavaRootPackage()); if (mainIr instanceof ADefaultClassDeclIR) status.getIrNode().setTag(new JavaMainTag((ADefaultClassDeclIR) status.getIrNode())); } else
public boolean importTraceSupport(SClassDeclIR node) { return info.getSettings().generateTraces() && !node.getTraces().isEmpty(); } }
private void handleClass(SClassDeclIR node) { List<ClonableString> dep = new LinkedList<>(); if (!info.getDeclAssistant().isInnerClass(node)) { dep.add(new ClonableString(JavaCodeGen.JAVA_UTIL)); dep.add(new ClonableString(JavaCodeGen.RUNTIME_IMPORT)); } else if (!info.getDeclAssistant().isInnerClass(node) && isQuote(node)) { dep.add(new ClonableString(JavaCodeGen.RUNTIME_IMPORT)); } if (importTraceSupport(node)) { dep.add(new ClonableString(JavaCodeGen.TRACE_IMPORT)); } node.setDependencies(dep); }
this.classCopies.add((ADefaultClassDeclIR) c.clone());
private void makeThread(ADefaultClassDeclIR node) { SClassDeclIR threadClass = getThreadClass(node.getSuperNames(), node); threadClass.getSuperNames().clear(); ATokenNameIR superName = new ATokenNameIR(); superName.setName(concPrefixes.vdmThreadClassName()); threadClass.getSuperNames().add(superName); }
public void removeClass(String name) { SClassDeclIR classToRemove = null; for (SClassDeclIR clazz : classes) { if (clazz.getName().equals(name)) { classToRemove = clazz; break; } } if (classToRemove != null) { classes.remove(classToRemove); } }
public AFieldDeclIR getFieldDecl(SClassDeclIR clazz, String fieldName) { for (AFieldDeclIR field : clazz.getFields()) { if (field.getName().equals(fieldName)) { return field; } } return null; }
public Set<String> getSuperClasses(SClassDeclIR classDecl, List<SClassDeclIR> classes) { if (classDecl.getSuperNames().isEmpty()) { return new HashSet<>(); } else { Set<String> superClasses = new HashSet<>(); for (ATokenNameIR s : classDecl.getSuperNames()) { superClasses.add(s.getName()); SClassDeclIR clazz = findClass(classes, s.getName()); if (clazz != null) { superClasses.addAll(getSuperClasses(clazz, classes)); } } return superClasses; } }
for (AMethodDeclIR method : classCg.getMethods())
public ADefaultClassDeclIR findCopy(ADefaultClassDeclIR clazz) { for(SClassDeclIR c : classCopies) { if(c instanceof ADefaultClassDeclIR && c.getName().equals(clazz.getName())) { return (ADefaultClassDeclIR) c; } } return null; }
SClassDeclIR clazz = dAssist.findClass(getInfo().getClasses(), invokedModule); for (AFieldDeclIR f : clazz.getFields())