Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make FragmentNotInstantiable accept additional Fragment classes.
RELNOTES: FragmentNotInstantiable now accepts additional Fragment classes. MOE_MIGRATED_REVID=152717561
- Loading branch information
Showing
5 changed files
with
245 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
core/src/test/java/com/google/errorprone/bugpatterns/android/testdata/CustomFragment.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,20 @@ | |||
/* | |||
* Copyright 2017 Google Inc. All Rights Reserved. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
|
|||
package com.google.errorprone.bugpatterns.android.testdata; | |||
|
|||
/** @author jasonlong@google.com (Jason Long) */ | |||
public class CustomFragment {} |
72 changes: 72 additions & 0 deletions
72
...e/errorprone/bugpatterns/android/testdata/CustomFragmentNotInstantiableNegativeCases.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,72 @@ | |||
/* | |||
* Copyright 2017 Google Inc. All Rights Reserved. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
|
|||
package com.google.errorprone.bugpatterns.android.testdata; | |||
|
|||
/** | |||
* @author jasonlong@google.com (Jason Long) | |||
*/ | |||
public class CustomFragmentNotInstantiableNegativeCases { | |||
public static class NotAFragment1 { | |||
public NotAFragment1(int x) {} | |||
} | |||
|
|||
public static class NotAFragment2 { | |||
private NotAFragment2() {} | |||
} | |||
|
|||
private static class NotAFragment3 {} | |||
|
|||
public class NotAFragment4 {} | |||
|
|||
private abstract class AbstractFragment extends CustomFragment { | |||
public AbstractFragment(int x) {} | |||
} | |||
|
|||
public static class MyFragment extends CustomFragment { | |||
private int a; | |||
|
|||
public int value() { | |||
return a; | |||
} | |||
} | |||
|
|||
public static class DerivedFragment extends MyFragment {} | |||
|
|||
public static class MyFragment2 extends CustomFragment { | |||
public MyFragment2() {} | |||
|
|||
public MyFragment2(int x) {} | |||
} | |||
|
|||
public static class DerivedFragment2 extends MyFragment2 { | |||
public DerivedFragment2() {} | |||
|
|||
public DerivedFragment2(boolean b) {} | |||
} | |||
|
|||
public static class EnclosingClass { | |||
public static class InnerFragment extends CustomFragment { | |||
public InnerFragment() {} | |||
} | |||
} | |||
|
|||
interface AnInterface { | |||
public class ImplicitlyStaticInnerFragment extends CustomFragment {} | |||
|
|||
class ImplicitlyStaticAndPublicInnerFragment extends CustomFragment {} | |||
} | |||
} |
78 changes: 78 additions & 0 deletions
78
...e/errorprone/bugpatterns/android/testdata/CustomFragmentNotInstantiablePositiveCases.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,78 @@ | |||
/* | |||
* Copyright 2017 Google Inc. All Rights Reserved. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
|
|||
package com.google.errorprone.bugpatterns.android.testdata; | |||
|
|||
/** | |||
* @author jasonlong@google.com (Jason Long) | |||
*/ | |||
public class CustomFragmentNotInstantiablePositiveCases { | |||
// BUG: Diagnostic contains: public | |||
static class PrivateFragment extends CustomFragment { | |||
public PrivateFragment() {} | |||
} | |||
|
|||
public static class PrivateConstructor extends CustomFragment { | |||
// BUG: Diagnostic contains: public | |||
PrivateConstructor() {} | |||
} | |||
|
|||
// BUG: Diagnostic contains: nullary constructor | |||
public static class NoConstructor extends CustomFragment { | |||
public NoConstructor(int x) {} | |||
} | |||
|
|||
// BUG: Diagnostic contains: nullary constructor | |||
public static class NoConstructorV4 extends android.support.v4.app.Fragment { | |||
public NoConstructorV4(int x) {} | |||
} | |||
|
|||
public static class ParentFragment extends CustomFragment { | |||
public ParentFragment() {} | |||
} | |||
|
|||
public static class ParentFragmentV4 extends android.support.v4.app.Fragment { | |||
public ParentFragmentV4() {} | |||
} | |||
|
|||
// BUG: Diagnostic contains: nullary constructor | |||
public static class DerivedFragmentNoConstructor extends ParentFragment { | |||
public DerivedFragmentNoConstructor(int x) {} | |||
} | |||
|
|||
// BUG: Diagnostic contains: nullary constructor | |||
public static class DerivedFragmentNoConstructorV4 extends ParentFragmentV4 { | |||
public DerivedFragmentNoConstructorV4(boolean b) {} | |||
} | |||
|
|||
public class EnclosingClass { | |||
// BUG: Diagnostic contains: static | |||
public class InnerFragment extends CustomFragment { | |||
public InnerFragment() {} | |||
} | |||
|
|||
public CustomFragment create1() { | |||
// BUG: Diagnostic contains: public | |||
return new CustomFragment() {}; | |||
} | |||
|
|||
public CustomFragment create2() { | |||
// BUG: Diagnostic contains: public | |||
class LocalFragment extends CustomFragment {} | |||
return new LocalFragment(); | |||
} | |||
} | |||
} |