diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ILinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ILinkage.java index c3b132bc9a2..91ef4bdeb73 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ILinkage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ILinkage.java @@ -23,12 +23,25 @@ public interface ILinkage { final static String C_LINKAGE_NAME= "C"; //$NON-NLS-1$ final static String CPP_LINKAGE_NAME= "C++"; //$NON-NLS-1$ final static String FORTRAN_LINKAGE_NAME= "Fortran"; //$NON-NLS-1$ + /** + * @since 5.1 + */ + final static String OBJC_LINKAGE_NAME= "Objective-C"; //$NON-NLS-1$ final static int NO_LINKAGE_ID= 0; final static int CPP_LINKAGE_ID= 1; final static int C_LINKAGE_ID= 2; final static int FORTRAN_LINKAGE_ID= 3; + /** + * @since 5.1 + */ + final static int OBJC_LINKAGE_ID= 4; + + /** + * Additional linkage ids may be added in future. + */ + @Deprecated final static int MAX_LINKAGE_ID= FORTRAN_LINKAGE_ID; /** diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/Linkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/Linkage.java index 3e7fb405d4f..fa25c7fbd8c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/Linkage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/Linkage.java @@ -20,8 +20,9 @@ public class Linkage implements ILinkage { public static final ILinkage C_LINKAGE = new Linkage(C_LINKAGE_ID, C_LINKAGE_NAME); public static final ILinkage CPP_LINKAGE = new Linkage(CPP_LINKAGE_ID, CPP_LINKAGE_NAME); public static final ILinkage FORTRAN_LINKAGE = new Linkage(FORTRAN_LINKAGE_ID, FORTRAN_LINKAGE_NAME); + public static final ILinkage OBJC_LINKAGE = new Linkage(OBJC_LINKAGE_ID, OBJC_LINKAGE_NAME); - private static final ILinkage[] LINKAGES= {C_LINKAGE, CPP_LINKAGE, FORTRAN_LINKAGE}; + private static final ILinkage[] LINKAGES= {C_LINKAGE, CPP_LINKAGE, FORTRAN_LINKAGE, OBJC_LINKAGE}; public static final ILinkage[] getAllLinkages() { return LINKAGES; @@ -33,6 +34,7 @@ public class Linkage implements ILinkage { case C_LINKAGE_ID: return C_LINKAGE_NAME; case CPP_LINKAGE_ID: return CPP_LINKAGE_NAME; case FORTRAN_LINKAGE_ID: return FORTRAN_LINKAGE_NAME; + case OBJC_LINKAGE_ID: return OBJC_LINKAGE_NAME; } throw new CoreException(CCorePlugin.createStatus("Unsupported linkage id: " + linkageID)); //$NON-NLS-1$ }