 
 
 (clojure.core/declare intertype)
-                     
+
 (defn
   aspect-intertype
   "Relation between an aspect and one of its intertype declarations (a ConcreteTypeMunger)."

(ns
    ^{:doc "Low-level AspectJ WeaverWorld relations."
    :author "Coen De Roover, Johan Fabry" }
     damp.ekeko.aspectj.weaverworld
    (:refer-clojure :exclude [== type declare class])
    (:use [clojure.core.logic])
    (:use [damp.ekeko logic])
    (:require 
      [damp.util [interop :as interop]]
      [damp.ekeko.aspectj [projectmodel :as projectmodel]]
      [damp.ekeko.aspectj [xcut :as xcut]])
     (:import 
       [org.eclipse.ajdt.core.model AJProjectModelFacade AJRelationshipType AJRelationshipManager]
       [org.aspectj.weaver.model AsmRelationshipProvider]
       [org.aspectj.weaver.patterns Pointcut AndPointcut Declare DeclarePrecedence DeclareAnnotation DeclareErrorOrWarning DeclareParents DeclarePrecedence DeclareSoft DeclareTypeErrorOrWarning]
       [damp.ekeko EkekoModel]
       [damp.ekeko.aspectj AspectJProjectModel]
       [org.aspectj.weaver Advice AdviceKind World ResolvedTypeMunger ConcreteTypeMunger ReferenceType UnresolvedType ResolvedType  Member ResolvedMemberImpl]
       [org.aspectj.asm AsmManager IProgramElement IProgramElement$Kind IHierarchy ]
       [org.aspectj.weaver.bcel BcelTypeMunger]))
              

;(set! *warn-on-reflection* true)


  "Relation between a type and one of its declared fields as known to the weaver."
  [?resolvedtype ?field]
  (fresh [?fields]
         (type-fields ?resolvedtype ?fields)
         (contains ?fields ?field)))

(defn
  type-field+
