/** * Returns a deep clone of this {@link AMetaStmIR} node. * @return a deep clone of this {@link AMetaStmIR} node */ public AMetaStmIR clone() { return new AMetaStmIR( _sourceNode, _tag, _metaData ); }
/** * Creates a deep clone of this {@link AMetaStmIR} node while putting all * old node-new node relations in the map {@code oldToNewMap}. * @param oldToNewMap the map filled with the old node-new node relation * @return a deep clone of this {@link AMetaStmIR} node */ public AMetaStmIR clone(Map<INode,INode> oldToNewMap) { AMetaStmIR node = new AMetaStmIR( _sourceNode, _tag, _metaData ); oldToNewMap.put(this, node); return node; }
private AMetaStmIR consTypeCheckExp(SVarExpIR arg, STypeIR formalParamType, String traceEnclosingClass, StoreAssistant storeAssistant) { /** * Don't do anything with 'tc' yet. Later it will be replaced with a proper dynamic type check */ AMetaStmIR tc = new AMetaStmIR(); tcExpInfo.add(new TcExpInfo(arg.getName(), formalParamType, tc, traceEnclosingClass)); return tc; }
public AMetaStmIR consMetaStm(String str) { AMetaStmIR assertion = new AMetaStmIR(); jmlGen.getAnnotator().appendMetaData(assertion, jmlGen.getAnnotator().consMetaData(str)); return assertion; }
protected AMetaStmIR consInvChecksStm(boolean val, ADefaultClassDeclIR encClass) { AMetaStmIR setStm = new AMetaStmIR(); String setStmStr = String.format(JmlGenerator.JML_SET_INV_CHECKS, this.jmlGen.getAnnotator().consInvChecksOnNameEncClass(encClass), val); List<ClonableString> setMetaData = jmlGen.getAnnotator().consMetaData(setStmStr); jmlGen.getAnnotator().appendMetaData(setStm, setMetaData); return setStm; }
public List<AMetaStmIR> consAssertStm(AbstractTypeInfo invTypes, ADefaultClassDeclIR encClass, SVarExpIR var, INode node, RecClassInfo recInfo) { boolean inAccessor = node != null && recInfo != null && recInfo.inAccessor(node); List<AMetaStmIR> asserts = new LinkedList<>(); List<String> assertStrs = consJmlCheck(encClass, null, JmlGenerator.JML_ASSERT_ANNOTATION, inAccessor, invTypes, var); for (String a : assertStrs) { AMetaStmIR assertStm = new AMetaStmIR(); List<ClonableString> assertMetaData = handler.getJmlGen().getAnnotator().consMetaData(a); handler.getJmlGen().getAnnotator().appendMetaData(assertStm, assertMetaData); asserts.add(assertStm); } return asserts; }
public AMetaStmIR consVarNotNullAssert(String varName) { AMetaStmIR assertStm = new AMetaStmIR(); List<ClonableString> assertMetaData = handler.getJmlGen().getAnnotator().consMetaData("//@ assert " + varName + " != null;"); handler.getJmlGen().getAnnotator().appendMetaData(assertStm, assertMetaData); return assertStm; }