14e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver/*
24e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * Copyright 2014, Google Inc.
34e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * All rights reserved.
44e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver *
54e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * Redistribution and use in source and binary forms, with or without
64e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * modification, are permitted provided that the following conditions are
74e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * met:
84e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver *
94e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver *     * Redistributions of source code must retain the above copyright
104e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * notice, this list of conditions and the following disclaimer.
114e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver *     * Redistributions in binary form must reproduce the above
124e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * copyright notice, this list of conditions and the following disclaimer
134e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * in the documentation and/or other materials provided with the
144e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * distribution.
154e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver *     * Neither the name of Google Inc. nor the names of its
164e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * contributors may be used to endorse or promote products derived from
174e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * this software without specific prior written permission.
184e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver *
194e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
204e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
214e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
224e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
234e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
244e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
254e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
264e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
274e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
284e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
294e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
304e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver */
314e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver
324e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruverpackage org.jf.smalidea.psi.impl;
334e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver
343048a6c897ba18bf8d7770e64ed3fc4299dbcedeBen Gruverimport com.intellij.psi.PsiType;
353048a6c897ba18bf8d7770e64ed3fc4299dbcedeBen Gruverimport org.jetbrains.annotations.NotNull;
364e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruverimport org.jf.smalidea.psi.SmaliCompositeElementFactory;
374e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruverimport org.jf.smalidea.psi.SmaliElementTypes;
384e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver
393048a6c897ba18bf8d7770e64ed3fc4299dbcedeBen Gruverpublic class SmaliVoidTypeElement extends SmaliTypeElement {
404e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver    public static final SmaliCompositeElementFactory FACTORY = new SmaliCompositeElementFactory() {
414e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver        @Override public SmaliCompositeElement createElement() {
424e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver            return new SmaliVoidTypeElement();
434e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver        }
444e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver    };
454e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver
464e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver    public SmaliVoidTypeElement() {
474e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver        super(SmaliElementTypes.VOID_TYPE);
484e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver    }
493048a6c897ba18bf8d7770e64ed3fc4299dbcedeBen Gruver
503048a6c897ba18bf8d7770e64ed3fc4299dbcedeBen Gruver    @NotNull @Override public PsiType getType() {
513048a6c897ba18bf8d7770e64ed3fc4299dbcedeBen Gruver        return PsiType.VOID;
523048a6c897ba18bf8d7770e64ed3fc4299dbcedeBen Gruver    }
534e834f8323640768ca37f7f4598942a0ad1a04ccBen Gruver}
54