/* * SonarQube Java * Copyright (C) 2012-2016 SonarSource SA * mailto:contact AT sonarsource DOT com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package org.sonar.java.resolve.targets; import org.sonar.java.resolve.targets.subpackage.MethodSymbolsParentTypes; public class MethodSymbols { class A1<T> implements MethodSymbolsParentTypes.Interface<T> { void foo(){}; public int methodOverriden(int i) { //Overriden return 0; } public void foo(T t) { } } class A2 extends MethodSymbolsParentTypes.A implements MethodSymbolsParentTypes.SuperInterface{ int method(int j){ return 1; } public int bar(String str) { return 0; } public int methodOverriden(int i) {//Overriden Object obj = new MethodSymbolsParentTypes.ForAnonymousClass() { public int methodUndecidable() { //found as overidden for anonymous classes return 0; } }; return 0; } } class A3 extends org.sonar.java.resolve.targets.subpackage.MethodSymbolsParentTypes.A { // public int bar(String str) { return super.bar(str); } } class Parent { private void method(){} } class A4 extends Parent { void method(){} } class A5<T extends CharSequence> implements MethodSymbolsParentTypes.Interface<T> { @Override public void foo(T t) { } @Override public int methodOverriden(int i) { return 0; } } interface B1<T> { void foo(T t); } class B2<T extends CharSequence> implements B1<T> { public void foo(T t) {} } interface C1 { @Override public boolean equals(Object obj); @Override public String toString(); void foo(); void bar(); } interface C2 extends C1 { @Override void foo(); @Override void bar(); @Override public boolean equals(Object obj); } static class D { static void foo() {} } static class D2 extends D { static void foo() {} } }