private static ClassConclusion getConclusion(ClassInference inference) { return inference.accept(CONCLUSION_GETTER_); }
private static ClassConclusion getConclusion(ClassInference inference) { return inference.accept(CONCLUSION_GETTER_); }
private static ClassConclusion getConclusion(ClassInference inference) { return inference.accept(CONCLUSION_GETTER_); }
/** * @param inference * @param premise * @return {@code true} if the given {@code ClassInference} has the given * {@code ClassConclusion} as one of the premises */ private static boolean hasPremise(ClassInference inference, ClassConclusion premise) { ConclusionEqualityChecker checker = new ConclusionEqualityChecker( premise); inference.accept(new ClassInferenceLocalPremiseVisitor<Void>( CONCLUSION_FACTORY_, checker)); return checker.getResult(); }
/** * @param inference * @param premise * @return {@code true} if the given {@code ClassInference} has the given * {@code ClassConclusion} as one of the premises */ private static boolean hasPremise(ClassInference inference, ClassConclusion premise) { ConclusionEqualityChecker checker = new ConclusionEqualityChecker( premise); inference.accept(new ClassInferenceLocalPremiseVisitor<Void>( CONCLUSION_FACTORY_, checker)); return checker.getResult(); }
/** * @param inference * @param premise * @return {@code true} if the given {@code ClassInference} has the given * {@code ClassConclusion} as one of the premises */ private static boolean hasPremise(ClassInference inference, ClassConclusion premise) { ConclusionEqualityChecker checker = new ConclusionEqualityChecker( premise); inference.accept(new ClassInferenceLocalPremiseVisitor<Void>( CONCLUSION_FACTORY_, checker)); return checker.getResult(); }
/** * @param inference * @return a local premise of the given {@code ClassInference} that cannot * be derived by other inferences in {@link #output_} that do not * use the conclusion of this {@code ClassInference} as one of the * premises; returns {@code null} if such a premise does not exist */ private ClassConclusion getBlockedPremise(ClassInference inference) { DerivabilityChecker checker = new DerivabilityChecker( getConclusion(inference)); inference.accept(new ClassInferenceLocalPremiseVisitor<Void>( CONCLUSION_FACTORY_, checker)); return checker.getResult(); }
/** * @param inference * @return a local premise of the given {@code ClassInference} that cannot * be derived by other inferences in {@link #output_} that do not * use the conclusion of this {@code ClassInference} as one of the * premises; returns {@code null} if such a premise does not exist */ private ClassConclusion getBlockedPremise(ClassInference inference) { DerivabilityChecker checker = new DerivabilityChecker( getConclusion(inference)); inference.accept(new ClassInferenceLocalPremiseVisitor<Void>( CONCLUSION_FACTORY_, checker)); return checker.getResult(); }
/** * @param inference * @return a local premise of the given {@code ClassInference} that cannot * be derived by other inferences in {@link #output_} that do not * use the conclusion of this {@code ClassInference} as one of the * premises; returns {@code null} if such a premise does not exist */ private ClassConclusion getBlockedPremise(ClassInference inference) { DerivabilityChecker checker = new DerivabilityChecker( getConclusion(inference)); inference.accept(new ClassInferenceLocalPremiseVisitor<Void>( CONCLUSION_FACTORY_, checker)); return checker.getResult(); }
/** * Process all pending {@link ClassInference}s of the given {@link Context} * * @param context * the active {@link Context} with unprocessed * {@link ClassInference}s */ void process(Context context) { activeContext_.set(context); // at this point workerLocalTodo_ must be empty workerLocalTodo_.setActiveRoot(context.getRoot()); for (;;) { ClassInference inference = workerLocalTodo_.poll(); if (inference == null) { inference = context.takeToDo(); if (inference == null) return; } LOGGER_.trace("{}: processing inference {}", context, inference); inference.accept(inferenceProcessor_); } }
/** * Process all pending {@link ClassInference}s of the given {@link Context} * * @param context * the active {@link Context} with unprocessed * {@link ClassInference}s */ void process(Context context) { activeContext_.set(context); // at this point workerLocalTodo_ must be empty workerLocalTodo_.setActiveRoot(context.getRoot()); for (;;) { ClassInference inference = workerLocalTodo_.poll(); if (inference == null) { inference = context.takeToDo(); if (inference == null) return; } LOGGER_.trace("{}: processing inference {}", context, inference); inference.accept(inferenceProcessor_); } }
/** * Process all pending {@link ClassInference}s of the given {@link Context} * * @param context * the active {@link Context} with unprocessed * {@link ClassInference}s */ void process(Context context) { activeContext_.set(context); // at this point workerLocalTodo_ must be empty workerLocalTodo_.setActiveRoot(context.getRoot()); for (;;) { ClassInference inference = workerLocalTodo_.poll(); if (inference == null) { inference = context.takeToDo(); if (inference == null) return; } LOGGER_.trace("{}: processing inference {}", context, inference); inference.accept(inferenceProcessor_); } }