1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package org.conscrypt;
18 
19 import javax.crypto.ShortBufferException;
20 
21 /**
22  * This class basically does the same thing the ShortBufferException class does
23  * except not filling in stack trace in the exception to save CPU-time for it
24  * in an environment where this can be thrown many times. e.g. OpenJDK 8.
25  */
26 @Internal
27 final class ShortBufferWithoutStackTraceException extends ShortBufferException {
28     private static final long serialVersionUID = 676150236007842683L;
29 
ShortBufferWithoutStackTraceException()30     public ShortBufferWithoutStackTraceException() {
31         super();
32     }
33 
ShortBufferWithoutStackTraceException(String msg)34     public ShortBufferWithoutStackTraceException(String msg) {
35         super(msg);
36     }
37 
fillInStackTrace()38     @Override public synchronized Throwable fillInStackTrace() {
39         return this;
40     }
41 }
42