123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /********************************************************************
- * Copyright (c) 2010 Contributors. All rights reserved.
- * This program and the accompanying materials are made available
- * under the terms of the Eclipse Public License v 2.0
- * which accompanies this distribution and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
- *
- * Contributors: Nieraj Singh - initial implementation
- *******************************************************************/
- package org.aspectj.org.eclipse.jdt.core.dom;
-
- import java.util.List;
-
- public class NotTypePattern extends AbstractTypePattern {
-
- private AbstractTypePattern negatedPattern;
-
- /**
- * The negated type pattern cannot be null
- *
- * @param ast
- * not null
- * @param negatedPattern
- * not null
- */
- NotTypePattern(AST ast, AbstractTypePattern negatedPattern) {
- super(ast, "!");
- this.negatedPattern = negatedPattern;
- }
-
- List<?> internalStructuralPropertiesForType(int apiLevel) {
- return null;
- }
-
- public AbstractTypePattern getNegatedTypePattern() {
- return negatedPattern;
- }
-
- ASTNode clone0(AST target) {
- ASTNode node = new NotTypePattern(target,
- (AbstractTypePattern) getNegatedTypePattern().clone(target));
- node.setSourceRange(getStartPosition(), getLength());
- return node;
- }
-
- void accept0(ASTVisitor visitor) {
- if (visitor instanceof AjASTVisitor) {
- AjASTVisitor ajVisitor = (AjASTVisitor) visitor;
- boolean visit = ajVisitor.visit(this);
- if (visit) {
- acceptChild(ajVisitor, getNegatedTypePattern());
- }
- ajVisitor.endVisit(this);
- }
- }
-
- boolean subtreeMatch0(ASTMatcher matcher, Object other) {
- if (matcher instanceof AjASTMatcher) {
- AjASTMatcher ajmatcher = (AjASTMatcher) matcher;
- return ajmatcher.match(this, other);
- }
- return false;
- }
-
- int memSize() {
- return super.memSize() + getNegatedTypePattern().memSize();
- }
-
- }
|