192a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle#
292a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# Copyright (C) 2014 The Android Open Source Project
392a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle#
492a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# Licensed under the Apache License, Version 2.0 (the "License");
592a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# you may not use this file except in compliance with the License.
692a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# You may obtain a copy of the License at
792a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle#
892a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle#     http://www.apache.org/licenses/LICENSE-2.0
992a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle#
1092a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# Unless required by applicable law or agreed to in writing, software
1192a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# distributed under the License is distributed on an "AS IS" BASIS,
1292a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1392a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# See the License for the specific language governing permissions and
1492a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle# limitations under the License.
1592a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle
1692a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.class public LNewInstance;
1792a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.super Ljava/lang/Object;
1892a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle
1992a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.method public constructor <init>()V
2092a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      .registers 1
2192a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle       invoke-direct {v0}, Ljava/lang/Object;-><init>()V
2292a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle       return-void
2392a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.end method
2492a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle
2592a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.method public newInstanceInterface()Ljava/lang/Object;
2692a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      .registers 5
2792a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      new-instance v1, LTestInterface;
2892a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # invoke-direct {v3}, LTestInterface;-><init>()V
2992a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # intentionally return v4 ("this")
3092a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      return-object v4
3192a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.end method
3292a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle
3392a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.method public newInstanceClass()Ljava/lang/Object;
3492a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      .registers 5
3592a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      new-instance v1, LTestClass;
3692a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # invoke-direct {v3}, LTestClass;-><init>()V
3792a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # intentionally return v4 ("this")
3892a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      return-object v4
3992a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.end method
4092a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle
4192a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.method public newInstancePrivateClass()Ljava/lang/Object;
4292a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      .registers 5
4392a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      new-instance v1, Lpkg/ProtectedClass;
4492a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # invoke-direct {v3}, Lpck/ProtectedClass;-><init>()V
4592a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # intentionally return v4 ("this")
4692a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      return-object v4
4792a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.end method
4892a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle
4992a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.method public newInstanceUnknownClass()Ljava/lang/Object;
5092a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      .registers 5
5192a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      new-instance v1, LUnknownClass;
5292a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # invoke-direct {v3}, LUnknownClass;-><init>()V
5392a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      # intentionally return v4 ("this")
5492a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle      return-object v4
5592a6ed2014278c78b60d7ef00751f15e6727aae0Calin Juravle.end method
56