update copyright
[fedora-idea.git] / java / java-impl / src / com / intellij / psi / controlFlow / LocalsOrMyInstanceFieldsControlFlowPolicy.java
blob121cd08945a03cdd304a87eeb7b5c7e2e83085bc
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * Created by IntelliJ IDEA.
19 * User: cdr
20 * Date: Aug 6, 2002
21 * Time: 6:16:17 PM
22 * To change template for new class use
23 * Code Style | Class Templates options (Tools | IDE Options).
25 package com.intellij.psi.controlFlow;
27 import com.intellij.psi.*;
29 public class LocalsOrMyInstanceFieldsControlFlowPolicy implements ControlFlowPolicy {
30 private static final LocalsOrMyInstanceFieldsControlFlowPolicy INSTANCE = new LocalsOrMyInstanceFieldsControlFlowPolicy();
32 private LocalsOrMyInstanceFieldsControlFlowPolicy() {
35 public PsiVariable getUsedVariable(PsiReferenceExpression refExpr) {
36 PsiExpression qualifier = refExpr.getQualifierExpression();
37 if (qualifier == null || qualifier instanceof PsiThisExpression) {
38 PsiElement resolved = refExpr.resolve();
39 if (!(resolved instanceof PsiVariable)) return null;
40 return (PsiVariable)resolved;
43 return null;
46 public boolean isParameterAccepted(PsiParameter psiParameter) {
47 return true;
50 public boolean isLocalVariableAccepted(PsiLocalVariable psiVariable) {
51 return true;
54 public static LocalsOrMyInstanceFieldsControlFlowPolicy getInstance() {
55 return INSTANCE;