localattributevisitor.java

来自「Python Development Environment (Python I」· Java 代码 · 共 36 行

JAVA
36
字号
package org.python.pydev.refactoring.ast.visitors.context;

import org.python.pydev.parser.jython.SimpleNode;
import org.python.pydev.parser.jython.ast.ClassDef;
import org.python.pydev.refactoring.ast.adapters.AbstractScopeNode;
import org.python.pydev.refactoring.ast.adapters.ModuleAdapter;

public class LocalAttributeVisitor extends GlobalAttributeVisitor {

	private boolean inLocalScope;

	public LocalAttributeVisitor(ModuleAdapter module, AbstractScopeNode<?> parent) {
		super(module, parent);
		inLocalScope = false;
	}

	@Override
	public void traverse(SimpleNode node) throws Exception {
		if (nodeHelper.isClassDef(node)) {
			ClassDef classDef = (ClassDef) node;
			visit(classDef.body);
		} else
			super.traverse(node);
	}

	@Override
	public Object visitClassDef(ClassDef node) throws Exception {
		if (inLocalScope)
			return null;
		else {
			inLocalScope = true;
			return super.visitClassDef(node);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?