/******************************************************************************* * Copyright (c) 2005, 2016 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * John Camelon (IBM Rational Software) - Initial API and implementation * Markus Schorn (Wind River Systems) *******************************************************************************/ package org.eclipse.cdt.core.dom.ast; /** * @noextend This interface is not intended to be extended by clients. * @noimplement This interface is not intended to be implemented by clients. */ public interface IASTTypeIdExpression extends IASTExpression { /** * <code>op_sizeof</code> sizeof (typeId) expression */ public static final int op_sizeof = 0; /** * For c++, only. */ public static final int op_typeid = 1; /** * For gnu-parsers, only. * <code>op_alignOf</code> is used for __alignOf( typeId ) type expressions. */ public static final int op_alignof = 2; /** * For gnu-parsers, only. * <code>op_typeof</code> is used for typeof( typeId ) type expressions. */ public static final int op_typeof = 3; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_nothrow_assign= 4; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_nothrow_copy= 5; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_nothrow_constructor= 6; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_trivial_assign= 7; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_trivial_copy= 8; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_trivial_constructor= 9; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_trivial_destructor= 10; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_has_virtual_destructor= 11; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_is_abstract= 12; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_is_class= 13; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_is_empty= 14; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_is_enum= 15; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_is_pod= 16; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_is_polymorphic= 17; /** * Built-in type trait of g++. * @since 5.3 */ public static final int op_is_union= 18; /** * Built-in type trait of g++. * @since 5.5 */ public static final int op_is_literal_type= 19; /** * Built-in type trait of g++. * @since 5.5 */ public static final int op_is_standard_layout= 20; /** * Built-in type trait of g++. * @since 5.5 */ public static final int op_is_trivial= 21; /** * <code>op_sizeofParameterPack</code> is used for sizeof... ( typeid ) expressions. * @since 5.5 */ public static final int op_sizeofParameterPack = 22; /** * Built-in type trait of g++. * @since 5.6 */ public static final int op_is_final= 23; /** * Built-in type trait of g++. * @since 6.0 */ public static final int op_is_trivially_copyable = 24; /** * Returns the operator for the expression. * * @return int */ public int getOperator(); /** * Sets the operator for the expression. * @param value int */ public void setOperator(int value); /** * <code>TYPEID</code> represents the relationship between an <code>IASTTypeIdExpression</code> and * it's nested <code>IASTTypeId</code>. */ public static final ASTNodeProperty TYPE_ID = new ASTNodeProperty("IASTTypeIdExpression.TYPE_ID - IASTTypeId for IASTTypeIdExpression"); //$NON-NLS-1$ /** * Set the type Id. * @param typeId */ public void setTypeId(IASTTypeId typeId); /** * Get the type Id. */ public IASTTypeId getTypeId(); /** * @since 5.1 */ @Override public IASTTypeIdExpression copy(); /** * @since 5.3 */ @Override public IASTTypeIdExpression copy(CopyStyle style); }