001 package org.mesopotamia.lang.java.ref; 002 003 import java.util.List; 004 005 006 /** 007 * Base interface representing information about referenced language construct. 008 * For types info scope is type scope, for variables - variable type scope, for methods - return 009 * type scope. 010 * @author Pavel 011 * 012 */ 013 public interface Info { 014 015 /** 016 * @return Fully qualified name. Null for local variables 017 * and local and anonymous classes/interfaces. 018 */ 019 String getFcn(); 020 021 /** 022 * @return Variable, type of method name. 023 */ 024 String getName(); 025 026 /** 027 * @return Information about declaring type. 028 * Null for local variables and local and anonymous classes. 029 */ 030 TypeInfo getDeclaringType(); 031 032 List<String> getModifiers(); 033 }