@Override public int hashCode() { return k.hashCode(); }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + _0.hashCode(); result = 31 * result + _1.hashCode(); result = 31 * result + _2.hashCode(); result = 31 * result + _3.hashCode(); result = 31 * result + _4.hashCode(); result = 31 * result + _5.hashCode(); return result; } }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + _0.hashCode(); result = 31 * result + _1.hashCode(); result = 31 * result + _2.hashCode(); result = 31 * result + _3.hashCode(); result = 31 * result + _4.hashCode(); result = 31 * result + _5.hashCode(); result = 31 * result + _6.hashCode(); return result; } }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + _0.hashCode(); result = 31 * result + _1.hashCode(); result = 31 * result + _2.hashCode(); result = 31 * result + _3.hashCode(); result = 31 * result + _4.hashCode(); result = 31 * result + _5.hashCode(); result = 31 * result + _6.hashCode(); result = 31 * result + _7.hashCode(); return result; } }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + _0.hashCode(); result = 31 * result + _1.hashCode(); result = 31 * result + _2.hashCode(); result = 31 * result + _3.hashCode(); result = 31 * result + _4.hashCode(); result = 31 * result + _5.hashCode(); result = 31 * result + _6.hashCode(); result = 31 * result + _7.hashCode(); result = 31 * result + _8.hashCode(); return result; } }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + _0.hashCode(); result = 31 * result + _1.hashCode(); result = 31 * result + _2.hashCode(); result = 31 * result + _3.hashCode(); result = 31 * result + _4.hashCode(); result = 31 * result + _5.hashCode(); result = 31 * result + _6.hashCode(); result = 31 * result + _7.hashCode(); result = 31 * result + _8.hashCode(); result = 31 * result + _9.hashCode(); return result; } }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + _0.hashCode(); return result; } }
@Override public K search(K initialConfiguration, Optional<Integer> depth, Optional<Integer> bound, Rule pattern, SearchType searchType) { rewritingContext.stateLog.open("search-" + Integer.toString(Math.abs(initialConfiguration.hashCode()))); TermContext termContext = TermContext.builder(rewritingContext).freshCounter(initCounterValue).build(); KOREtoBackendKIL converter = new KOREtoBackendKIL(module, definition, termContext.global(), false); ResolveSemanticCasts resolveCasts = new ResolveSemanticCasts(true); ExpandMacros macroExpander = new ExpandMacros(module, files, kompileOptions, false); termContext.setKOREtoBackendKILConverter(converter); Term javaTerm = converter.convert(macroExpander.expand(resolveCasts.resolve(initialConfiguration))).evaluate(termContext); org.kframework.backend.java.kil.Rule javaPattern = converter.convert(Optional.empty(), transformFunction(JavaBackend::convertKSeqToKApply, pattern)); SymbolicRewriter rewriter = new SymbolicRewriter(rewritingContext, transitions, converter); K result = rewriter.search(javaTerm, javaPattern, bound.orElse(NEGATIVE_VALUE), depth.orElse(NEGATIVE_VALUE), searchType, termContext); rewritingContext.stateLog.close(); return result; }
@Override public RewriterResult execute(K k, Optional<Integer> depth) { rewritingContext.stateLog.open("execute-" + Integer.toString(Math.abs(k.hashCode()))); TermContext termContext = TermContext.builder(rewritingContext).freshCounter(initCounterValue).build(); KOREtoBackendKIL converter = new KOREtoBackendKIL(module, definition, termContext.global(), false); ResolveSemanticCasts resolveCasts = new ResolveSemanticCasts(true); ExpandMacros macroExpander = new ExpandMacros(module, files, kompileOptions, false); termContext.setKOREtoBackendKILConverter(converter); Term backendKil = converter.convert(macroExpander.expand(resolveCasts.resolve(k))).evaluate(termContext); SymbolicRewriter rewriter = new SymbolicRewriter(rewritingContext, transitions, converter); RewriterResult result = rewriter.rewrite(new ConstrainedTerm(backendKil, termContext), depth.orElse(-1)); rewritingContext.stateLog.close(); return result; }