// Path: src/com/aopphp/go/pointcut/MemberAccessMatcherFilter.java
// public class MemberAccessMatcherFilter implements PointFilter {
// 
//     private static Set<KindFilter> KIND_ALL = new HashSet<KindFilter>(Arrays.asList(KindFilter.values())) ;
//     private Set<PhpModifier.Access> allowedAccess;
// 
//     public MemberAccessMatcherFilter(Set<PhpModifier.Access> allowedAccess) {
// 
//         this.allowedAccess = allowedAccess;
//     }
// 
//     @Override
//     public Set<KindFilter> getKind() {
//         return KIND_ALL;
//     }
// 
//     @Override
//     public boolean matches(PhpNamedElement element) {
//         if (!(element instanceof PhpElementWithModifier)) {
//             return false;
//         }
//         PhpModifier modifier = ((PhpElementWithModifier) element).getModifier();
// 
//         return allowedAccess.contains(modifier.getAccess());
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (!(o instanceof MemberAccessMatcherFilter)) return false;
// 
//         MemberAccessMatcherFilter that = (MemberAccessMatcherFilter) o;
// 
//         return allowedAccess.equals(that.allowedAccess);
//     }
// 
//     @Override
//     public int hashCode() {
//         return allowedAccess.hashCode();
//     }
// }


import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.aopphp.go.pointcut.MemberAccessMatcherFilter;
// This is a generated file. Not intended for manual editing.
package com.aopphp.go.psi;


public interface MemberModifiers extends PsiElement {

  @NotNull
  List<MemberModifier> getMemberModifierList();

// Path: src/com/aopphp/go/pointcut/MemberAccessMatcherFilter.java
// public class MemberAccessMatcherFilter implements PointFilter {
// 
//     private static Set<KindFilter> KIND_ALL = new HashSet<KindFilter>(Arrays.asList(KindFilter.values())) ;
//     private Set<PhpModifier.Access> allowedAccess;
// 
//     public MemberAccessMatcherFilter(Set<PhpModifier.Access> allowedAccess) {
// 
//         this.allowedAccess = allowedAccess;
//     }
// 
//     @Override
//     public Set<KindFilter> getKind() {
//         return KIND_ALL;
//     }
// 
//     @Override
//     public boolean matches(PhpNamedElement element) {
//         if (!(element instanceof PhpElementWithModifier)) {
//             return false;
//         }
//         PhpModifier modifier = ((PhpElementWithModifier) element).getModifier();
// 
//         return allowedAccess.contains(modifier.getAccess());
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (!(o instanceof MemberAccessMatcherFilter)) return false;
// 
//         MemberAccessMatcherFilter that = (MemberAccessMatcherFilter) o;
// 
//         return allowedAccess.equals(that.allowedAccess);
//     }
// 
//     @Override
//     public int hashCode() {
//         return allowedAccess.hashCode();
//     }
// }


// Path: src/com/aopphp/go/psi/MemberModifiers.java
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.aopphp.go.pointcut.MemberAccessMatcherFilter;

// This is a generated file. Not intended for manual editing.
package com.aopphp.go.psi;


public interface MemberModifiers extends PsiElement {

  @NotNull
  List<MemberModifier> getMemberModifierList();

  MemberAccessMatcherFilter getMemberAccessMatcher();