res.symbol = findIdentInPackage(symbols.defaultPackage, name, JavaSymbol.PCK); if (res.symbol.kind < JavaSymbol.ERRONEOUS) {
@Override public void visitIdentifier(IdentifierTree tree) { if (JavaPunctuator.STAR.getValue().equals(tree.name())) { //star import : we save the current symbol if (isStatic) { env.staticStarImports.enter(currentSymbol); } else { env.starImports.enter(currentSymbol); } //we set current symbol to not found to do not put it in named import scope. currentSymbol = new Resolve.JavaSymbolNotFound(); } else { if (currentSymbol.kind == JavaSymbol.PCK) { currentSymbol = resolve.findIdentInPackage(currentSymbol, tree.name(), JavaSymbol.PCK | JavaSymbol.TYP); resolved = Collections.emptyList(); } else if (currentSymbol.kind == JavaSymbol.TYP) { resolved = ((JavaSymbol.TypeJavaSymbol) currentSymbol).members().lookup(tree.name()); currentSymbol = resolve.findIdentInType(env, (JavaSymbol.TypeJavaSymbol) currentSymbol, tree.name(), JavaSymbol.TYP | JavaSymbol.VAR).symbol(); } else { //Site symbol is not found so we won't be able to resolve the import. currentSymbol = new Resolve.JavaSymbolNotFound(); resolved = Collections.emptyList(); } } }
res.symbol = findIdentInPackage(symbols.defaultPackage, name, JavaSymbol.PCK); if (res.symbol.kind < JavaSymbol.ERRONEOUS) {
res.symbol = findIdentInPackage(symbols.defaultPackage, name, JavaSymbol.PCK); if (res.symbol.kind < JavaSymbol.ERRONEOUS) {
@Override public void visitIdentifier(IdentifierTree tree) { if (JavaPunctuator.STAR.getValue().equals(tree.name())) { //star import : we save the current symbol if (isStatic) { env.staticStarImports.enter(currentSymbol); } else { env.starImports.enter(currentSymbol); } //we set current symbol to not found to do not put it in named import scope. currentSymbol = new Resolve.JavaSymbolNotFound(); } else { if (currentSymbol.kind == JavaSymbol.PCK) { currentSymbol = resolve.findIdentInPackage(currentSymbol, tree.name(), JavaSymbol.PCK | JavaSymbol.TYP); resolved = Collections.emptyList(); } else if (currentSymbol.kind == JavaSymbol.TYP) { resolved = ((JavaSymbol.TypeJavaSymbol) currentSymbol).members().lookup(tree.name()); currentSymbol = resolve.findIdentInType(env, (JavaSymbol.TypeJavaSymbol) currentSymbol, tree.name(), JavaSymbol.TYP | JavaSymbol.VAR).symbol(); } else { //Site symbol is not found so we won't be able to resolve the import. currentSymbol = new Resolve.JavaSymbolNotFound(); resolved = Collections.emptyList(); } } }
res.symbol = findIdentInPackage(symbols.defaultPackage, name, JavaSymbol.PCK); if (res.symbol.kind < JavaSymbol.ERRONEOUS) {
@Override public void visitIdentifier(IdentifierTree tree) { if (JavaPunctuator.STAR.getValue().equals(tree.name())) { //star import : we save the current symbol if (isStatic) { env.staticStarImports.enter(currentSymbol); } else { env.starImports.enter(currentSymbol); } //we set current symbol to not found to do not put it in named import scope. currentSymbol = new Resolve.JavaSymbolNotFound(); } else { if (currentSymbol.kind == JavaSymbol.PCK) { currentSymbol = resolve.findIdentInPackage(currentSymbol, tree.name(), JavaSymbol.PCK | JavaSymbol.TYP); resolved = Collections.emptyList(); } else if (currentSymbol.kind == JavaSymbol.TYP) { resolved = ((JavaSymbol.TypeJavaSymbol) currentSymbol).members().lookup(tree.name()); currentSymbol = resolve.findIdentInType(env, (JavaSymbol.TypeJavaSymbol) currentSymbol, tree.name(), JavaSymbol.TYP | JavaSymbol.VAR).symbol(); } else { //Site symbol is not found so we won't be able to resolve the import. currentSymbol = new Resolve.JavaSymbolNotFound(); resolved = Collections.emptyList(); } } }
@Override public void visitIdentifier(IdentifierTree tree) { if (JavaPunctuator.STAR.getValue().equals(tree.name())) { //star import : we save the current symbol if (isStatic) { env.staticStarImports().enter(currentSymbol); } else { env.starImports().enter(currentSymbol); } //we set current symbol to not found to do not put it in named import scope. currentSymbol = new Resolve.JavaSymbolNotFound(); } else { if (currentSymbol.kind == JavaSymbol.PCK) { currentSymbol = resolve.findIdentInPackage(currentSymbol, tree.name(), JavaSymbol.PCK | JavaSymbol.TYP); resolved = Collections.emptyList(); } else if (currentSymbol.kind == JavaSymbol.TYP) { resolved = ((JavaSymbol.TypeJavaSymbol) currentSymbol).members().lookup(tree.name()); currentSymbol = resolve.findIdentInType(env, (JavaSymbol.TypeJavaSymbol) currentSymbol, tree.name(), JavaSymbol.TYP | JavaSymbol.VAR); } else { //Site symbol is not found so we won't be able to resolve the import. currentSymbol = new Resolve.JavaSymbolNotFound(); resolved = Collections.emptyList(); } } }
JavaSymbol sym = findIdentInPackage(env.packge, name, JavaSymbol.TYP); if (sym.kind < bestSoFar.kind) { return sym;
JavaSymbol sym = findIdentInPackage(env.packge, name, JavaSymbol.TYP); if (sym.kind < bestSoFar.kind) { return sym;
JavaSymbol sym = findIdentInPackage(env.packge, name, JavaSymbol.TYP); if (sym.kind < bestSoFar.kind) { return sym;
private JavaSymbol getSymbolOfMemberSelectExpression(MemberSelectExpressionTree mse, int kind, Resolve.Env resolveEnv) { int expressionKind = JavaSymbol.TYP; if ((kind & JavaSymbol.VAR) != 0) { expressionKind |= JavaSymbol.VAR; } if ((kind & JavaSymbol.TYP) != 0) { expressionKind |= JavaSymbol.PCK; } //TODO: resolveAs result is only used here, should probably be refactored JavaSymbol site = resolveAs(mse.expression(), expressionKind, resolveEnv); if (site.kind == JavaSymbol.VAR) { return resolve.findIdentInType(resolveEnv, getType(mse.expression()).symbol, mse.identifier().name(), JavaSymbol.VAR); } if (site.kind == JavaSymbol.TYP) { return resolve.findIdentInType(resolveEnv, (JavaSymbol.TypeJavaSymbol) site, mse.identifier().name(), kind); } if (site.kind == JavaSymbol.PCK) { return resolve.findIdentInPackage(site, mse.identifier().name(), kind); } return Symbols.unknownSymbol; }
private Resolve.Resolution getSymbolOfMemberSelectExpression(MemberSelectExpressionTree mse, int kind, Resolve.Env resolveEnv) { int expressionKind = JavaSymbol.TYP; if ((kind & JavaSymbol.VAR) != 0) { expressionKind |= JavaSymbol.VAR; } if ((kind & JavaSymbol.TYP) != 0) { expressionKind |= JavaSymbol.PCK; } //TODO: resolveAs result is only used here, should probably be refactored JavaSymbol site = resolveAs(mse.expression(), expressionKind, resolveEnv); if (site.kind == JavaSymbol.VAR) { return resolve.findIdentInType(resolveEnv, getType(mse.expression()).symbol, mse.identifier().name(), JavaSymbol.VAR); } if (site.kind == JavaSymbol.TYP) { return resolve.findIdentInType(resolveEnv, (JavaSymbol.TypeJavaSymbol) site, mse.identifier().name(), kind); } if (site.kind == JavaSymbol.PCK) { return Resolve.Resolution.resolution(resolve.findIdentInPackage(site, mse.identifier().name(), kind)); } return resolve.unresolved(); }
private Resolve.Resolution getSymbolOfMemberSelectExpression(MemberSelectExpressionTree mse, int kind, Resolve.Env resolveEnv) { int expressionKind = JavaSymbol.TYP; if ((kind & JavaSymbol.VAR) != 0) { expressionKind |= JavaSymbol.VAR; } if ((kind & JavaSymbol.TYP) != 0) { expressionKind |= JavaSymbol.PCK; } //TODO: resolveAs result is only used here, should probably be refactored JavaSymbol site = resolveAs(mse.expression(), expressionKind, resolveEnv); if (site.kind == JavaSymbol.VAR) { return resolve.findIdentInType(resolveEnv, getType(mse.expression()).symbol, mse.identifier().name(), JavaSymbol.VAR); } if (site.kind == JavaSymbol.TYP) { return resolve.findIdentInType(resolveEnv, (JavaSymbol.TypeJavaSymbol) site, mse.identifier().name(), kind); } if (site.kind == JavaSymbol.PCK) { return Resolve.Resolution.resolution(resolve.findIdentInPackage(site, mse.identifier().name(), kind)); } return resolve.unresolved(); }
private Resolve.Resolution getSymbolOfMemberSelectExpression(MemberSelectExpressionTree mse, int kind, Resolve.Env resolveEnv) { int expressionKind = JavaSymbol.TYP; if ((kind & JavaSymbol.VAR) != 0) { expressionKind |= JavaSymbol.VAR; } if ((kind & JavaSymbol.TYP) != 0) { expressionKind |= JavaSymbol.PCK; } //TODO: resolveAs result is only used here, should probably be refactored JavaSymbol site = resolveAs(mse.expression(), expressionKind, resolveEnv); if (site.kind == JavaSymbol.VAR) { return resolve.findIdentInType(resolveEnv, getType(mse.expression()).symbol, mse.identifier().name(), JavaSymbol.VAR); } if (site.kind == JavaSymbol.TYP) { return resolve.findIdentInType(resolveEnv, (JavaSymbol.TypeJavaSymbol) site, mse.identifier().name(), kind); } if (site.kind == JavaSymbol.PCK) { return Resolve.Resolution.resolution(resolve.findIdentInPackage(site, mse.identifier().name(), kind)); } return resolve.unresolved(); }
@Override public void visitCompilationUnit(CompilationUnitTree tree) { JavaSymbol.PackageJavaSymbol compilationUnitPackage = symbols.defaultPackage; ExpressionTree packageName = tree.packageName(); if (packageName != null) { PackageResolverVisitor packageResolver = new PackageResolverVisitor(); packageName.accept(packageResolver); compilationUnitPackage = (JavaSymbol.PackageJavaSymbol) resolve.findIdentInPackage(compilationUnitPackage, packageResolver.packageName, JavaSymbol.PCK); semanticModel.associateSymbol(packageName, compilationUnitPackage); } compilationUnitPackage.members = new Scope(compilationUnitPackage); env = new Resolve.Env(); env.packge = compilationUnitPackage; env.scope = compilationUnitPackage.members; env.namedImports = new Scope(compilationUnitPackage); env.starImports = resolve.createStarImportScope(compilationUnitPackage); env.staticStarImports = resolve.createStaticStarImportScope(compilationUnitPackage); semanticModel.associateEnv(tree, env); super.visitCompilationUnit(tree); restoreEnvironment(tree); resolveImports(tree.imports()); completeSymbols(); }
@Override public void visitCompilationUnit(CompilationUnitTree tree) { JavaSymbol.PackageJavaSymbol compilationUnitPackage = symbols.defaultPackage; PackageDeclarationTree packageDeclaration = tree.packageDeclaration(); if (packageDeclaration != null) { ExpressionTree packageName = packageDeclaration.packageName(); PackageResolverVisitor packageResolver = new PackageResolverVisitor(); packageName.accept(packageResolver); compilationUnitPackage = (JavaSymbol.PackageJavaSymbol) resolve.findIdentInPackage(compilationUnitPackage, packageResolver.packageName, JavaSymbol.PCK); semanticModel.associateSymbol(packageName, compilationUnitPackage); } compilationUnitPackage.members = new Scope(compilationUnitPackage); env = new Resolve.Env(); env.packge = compilationUnitPackage; env.scope = compilationUnitPackage.members; env.namedImports = new Scope.ImportScope(compilationUnitPackage); env.starImports = resolve.createStarImportScope(compilationUnitPackage); env.staticStarImports = resolve.createStaticStarImportScope(compilationUnitPackage); semanticModel.associateEnv(tree, env); scan(tree.types()); restoreEnvironment(tree); resolveImports(tree.imports()); completeSymbols(); }
@Override public void visitCompilationUnit(CompilationUnitTree tree) { JavaSymbol.PackageJavaSymbol compilationUnitPackage = symbols.defaultPackage; PackageDeclarationTree packageDeclaration = tree.packageDeclaration(); if (packageDeclaration != null) { ExpressionTree packageName = packageDeclaration.packageName(); PackageResolverVisitor packageResolver = new PackageResolverVisitor(); packageName.accept(packageResolver); compilationUnitPackage = (JavaSymbol.PackageJavaSymbol) resolve.findIdentInPackage(compilationUnitPackage, packageResolver.packageName, JavaSymbol.PCK); semanticModel.associateSymbol(packageName, compilationUnitPackage); } compilationUnitPackage.members = new Scope(compilationUnitPackage); env = new Resolve.Env(); env.packge = compilationUnitPackage; env.scope = compilationUnitPackage.members; env.namedImports = new Scope(compilationUnitPackage); env.starImports = resolve.createStarImportScope(compilationUnitPackage); env.staticStarImports = resolve.createStaticStarImportScope(compilationUnitPackage); semanticModel.associateEnv(tree, env); super.visitCompilationUnit(tree); restoreEnvironment(tree); resolveImports(tree.imports()); completeSymbols(); }
@Override public void visitCompilationUnit(CompilationUnitTree tree) { JavaSymbol.PackageJavaSymbol compilationUnitPackage = symbols.defaultPackage; PackageDeclarationTree packageDeclaration = tree.packageDeclaration(); if (packageDeclaration != null) { ExpressionTree packageName = packageDeclaration.packageName(); PackageResolverVisitor packageResolver = new PackageResolverVisitor(); packageName.accept(packageResolver); compilationUnitPackage = (JavaSymbol.PackageJavaSymbol) resolve.findIdentInPackage(compilationUnitPackage, packageResolver.packageName, JavaSymbol.PCK); semanticModel.associateSymbol(packageName, compilationUnitPackage); } compilationUnitPackage.members = new Scope(compilationUnitPackage); env = new Resolve.Env(); env.packge = compilationUnitPackage; env.scope = compilationUnitPackage.members; env.namedImports = new Scope.ImportScope(compilationUnitPackage); env.starImports = resolve.createStarImportScope(compilationUnitPackage); env.staticStarImports = resolve.createStaticStarImportScope(compilationUnitPackage); semanticModel.associateEnv(tree, env); scan(tree.types()); restoreEnvironment(tree); resolveImports(tree.imports()); completeSymbols(); }
JavaSymbol sym = findIdentInPackage(env.packge(), name, JavaSymbol.TYP); if (sym.kind < bestSoFar.kind) { return sym;