1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Add JavaDoc.

This commit is contained in:
John Camelon 2005-03-11 16:00:31 +00:00
parent e7f36a7dfb
commit f4f3208534
28 changed files with 178 additions and 50 deletions

View file

@ -16,22 +16,45 @@ package org.eclipse.cdt.core.dom.ast;
* @author Doug Schaefer
*/
public interface IASTParameterDeclaration extends IASTNode {
/**
* Constant/sentinel.
*/
public static final IASTParameterDeclaration [] EMPTY_PARAMETERDECLARATION_ARRAY = new IASTParameterDeclaration[0];
ASTNodeProperty DECL_SPECIFIER = new ASTNodeProperty( "Decl Specifier"); //$NON-NLS-1$
ASTNodeProperty DECLARATOR = new ASTNodeProperty( "Declarator"); //$NON-NLS-1$
/**
* <code>DECL_SPECIFIER</code> represents the relationship between an <code>IASTParameterDeclaration</code> and its nested <code>IASTDeclSpecifier</code>.
*/
public static final ASTNodeProperty DECL_SPECIFIER = new ASTNodeProperty( "Decl Specifier"); //$NON-NLS-1$
/**
* <code>DECLARATOR</code> represents the relationship between an <code>IASTParameterDeclaration</code> and its nested <code>IASTDeclarator</code>.
*/
public static final ASTNodeProperty DECLARATOR = new ASTNodeProperty( "Declarator"); //$NON-NLS-1$
/**
* Get the decl specifier.
*
* @return <code>IASTDeclSpecifier</code>
*/
public IASTDeclSpecifier getDeclSpecifier();
/**
* Get the declarator.
*
* @return <code>IASTDeclarator</code>
*/
public IASTDeclarator getDeclarator();
/**
* @param declSpec
* Set the decl specifier.
*
* @param declSpec <code>IASTDeclSpecifier</code>.
*/
public void setDeclSpecifier(IASTDeclSpecifier declSpec);
/**
* @param declarator2
* Set the declarator.
*
* @param declarator <code>IASTDeclarator</code>
*/
public void setDeclarator(IASTDeclarator declarator);

View file

@ -18,10 +18,30 @@ package org.eclipse.cdt.core.dom.ast;
public interface IASTPointer extends IASTPointerOperator {
// Qualifiers applied to the pointer type
/**
* Is this a const pointer?
*
* @return boolean
*/
public boolean isConst();
/**
* Is this a volatile pointer?
*
* @return boolean
*/
public boolean isVolatile();
/**
* Set this to be a const pointer (true/false).
*
* @param value - the value
*/
public void setConst( boolean value );
/**
* Set this to be a volatile pointer (true/false).
*
* @param value - the value
*/
public void setVolatile( boolean value );
}

View file

@ -15,6 +15,9 @@ package org.eclipse.cdt.core.dom.ast;
*/
public interface IASTPointerOperator extends IASTNode {
/**
* Constant/sentinel.
*/
public static final IASTPointerOperator[] EMPTY_ARRAY = new IASTPointerOperator[0];
}

View file

@ -11,10 +11,17 @@
package org.eclipse.cdt.core.dom.ast;
/**
* Represents a #elif preprocessor statement.
*
* @author jcamelon
*/
public interface IASTPreprocessorElifStatement extends IASTPreprocessorStatement {
/**
* Was this #elif branch taken?
*
* @return boolean
*/
public boolean taken();
}

View file

@ -11,9 +11,15 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor #else statement.
*
* @author jcamelon
*/
public interface IASTPreprocessorElseStatement extends IASTPreprocessorStatement {
/**
* Was this #else branch taken?
* @return boolean
*/
public boolean taken();
}

View file

@ -11,6 +11,7 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor #endif statement.
* @author jcamelon
*/
public interface IASTPreprocessorEndifStatement extends IASTPreprocessorStatement{

View file

@ -11,6 +11,8 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor #error statement.
*
* @author jcamelon
*/
public interface IASTPreprocessorErrorStatement extends

View file

@ -11,16 +11,32 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor function-style macro definition. e.g.
* #define ABC( def ) GHI
*
* @author jcamelon
*/
public interface IASTPreprocessorFunctionStyleMacroDefinition extends
IASTPreprocessorMacroDefinition {
IASTPreprocessorMacroDefinition {
public static final ASTNodeProperty PARAMETER = new ASTNodeProperty(
"Function Macro Parameter"); //$NON-NLS-1$
/**
* This property represents the relationship between a function style macro definition and one of its parameters.
*/
public static final ASTNodeProperty PARAMETER = new ASTNodeProperty(
"Function Macro Parameter"); //$NON-NLS-1$
public IASTFunctionStyleMacroParameter[] getParameters();
/**
* Get the macro parameters.
*
* @return <code>IASTFunctionStyleMacroParameter[]</code> parameters
*/
public IASTFunctionStyleMacroParameter[] getParameters();
public void addParameter(IASTFunctionStyleMacroParameter parm);
/**
* Add a function-style macro parameter.
*
* @param parm <code>IASTFunctionStyleMacroParameter</code>
*/
public void addParameter(IASTFunctionStyleMacroParameter parm);
}

View file

@ -11,9 +11,15 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor #if statement.
* @author jcamelon
*/
public interface IASTPreprocessorIfStatement extends IASTPreprocessorStatement {
/**
* Was this branch taken?
*
* @return boolean
*/
public boolean taken();
}

View file

@ -11,9 +11,14 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor #ifdef statement.
* @author jcamelon
*/
public interface IASTPreprocessorIfdefStatement extends IASTPreprocessorStatement {
/**
* Was this #ifdef branch taken?
* @return
*/
public boolean taken();
}

View file

@ -11,10 +11,16 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor #ifndef statement.
*
* @author jcamelon
*/
public interface IASTPreprocessorIfndefStatement extends
IASTPreprocessorStatement {
/**
* Was this branch taken?
* @return
*/
public boolean taken();
}

View file

@ -11,11 +11,16 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represent a preprocessor #include statement.
* @author jcamelon
*/
public interface IASTPreprocessorIncludeStatement extends
IASTPreprocessorStatement {
public String getPath();
IASTPreprocessorStatement {
/**
* Get the full path filename of the file found through #include.
* @return
*/
public String getPath();
}

View file

@ -17,10 +17,33 @@ package org.eclipse.cdt.core.dom.ast;
*/
public interface IASTPreprocessorMacroDefinition extends IASTPreprocessorStatement {
/**
* <code>MACRO_NAME</code> describes the relationship between a macro definition and it's name.
*/
public static final ASTNodeProperty MACRO_NAME = new ASTNodeProperty( "Macro Name"); //$NON-NLS-1$
/**
* Get the macro name.
*
* @return <code>IASTName</code>
*/
public IASTName getName();
/**
* Set the macro name.
*
* @param name
*/
public void setName( IASTName name );
/**
* Get the macro expansion.
*
* @return String
*/
public String getExpansion();
/**
* Set the macro expansion.
*
* @param exp String
*/
public void setExpansion( String exp );
}

View file

@ -11,6 +11,9 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represents an object-style macro definition.
* e.g. #define ONE_TWO_THREE 123
*
* @author jcamelon
*/
public interface IASTPreprocessorObjectStyleMacroDefinition extends IASTPreprocessorMacroDefinition {

View file

@ -11,6 +11,8 @@
package org.eclipse.cdt.core.dom.ast;
/**
* Represents a #pragma directive.
*
* @author jcamelon
*/
public interface IASTPreprocessorPragmaStatement extends

View file

@ -1,24 +0,0 @@
/**********************************************************************
* Copyright (c) 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM - Initial API and implementation
**********************************************************************/
package org.eclipse.cdt.core.dom.ast;
/**
* This interface is used to specify what the LocationMap has found when searching for IASTNodes
* corresponding to a selection from the preprocessor tree.
*
* @author dsteffle
*/
public interface IASTPreprocessorSelectionResult {
public IASTNode getSelectedNode();
public void setSelectedNode(IASTNode selectedNode);
public int getGlobalOffset();
public void setGlobalOffset(int globalOffset);
}

View file

@ -11,6 +11,8 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This is the base interface for all preprocessor directives.
*
* @author jcamelon
*/
public interface IASTPreprocessorStatement extends IASTNode {

View file

@ -11,6 +11,8 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represents a preprocessor #undef statement.
*
* @author jcamelon
*/
public interface IASTPreprocessorUndefStatement extends IASTPreprocessorStatement {

View file

@ -11,6 +11,8 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represents a parse problem where we tried to match against a declaration.
*
* @author jcamelon
*/
public interface IASTProblemDeclaration extends IASTDeclaration, IASTProblemHolder {

View file

@ -12,6 +12,8 @@ package org.eclipse.cdt.core.dom.ast;
/**
* This interface represents a parse problem where we tried to match against a expression.
*
* @author jcamelon
*/
public interface IASTProblemExpression extends IASTExpression, IASTProblemHolder {

View file

@ -11,10 +11,25 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represents a base interface to represent a problem owner or holder.
*
* @author jcamelon
*/
public interface IASTProblemHolder {
/**
* <code>PROBLEM</code> represents the relationship between a <code>IASTProblemHolder</code> and its <code>IASTProblem</code>.
*/
public static final ASTNodeProperty PROBLEM = new ASTNodeProperty( "Problem"); //$NON-NLS-1$
/**
* Get the problem.
*
* @return <code>IASTProblem</code>
*/
public IASTProblem getProblem();
/**
* Set the problem.
*
* @param p <code>IASTProblem</code>
*/
public void setProblem(IASTProblem p);
}

View file

@ -11,6 +11,7 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represents a parse problem where we tried to match against a statement.
* @author jcamelon
*/
public interface IASTProblemStatement extends IASTStatement, IASTProblemHolder {

View file

@ -11,6 +11,8 @@
package org.eclipse.cdt.core.dom.ast;
/**
* This interface represents a parse problem where we tried to match against a type-id.
*
* @author jcamelon
*/
public interface IASTProblemTypeId extends IASTTypeId, IASTProblemHolder {

View file

@ -11,14 +11,13 @@
package org.eclipse.cdt.internal.core.dom.parser;
import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorSelectionResult;
/**
* This class is used to wrap possible results from the ILocationResolver (when retrieving
* nodes from the preprocessor tree.
* @author dsteffle
*/
public class ASTPreprocessorSelectionResult implements IASTPreprocessorSelectionResult {
public class ASTPreprocessorSelectionResult {
IASTNode selectedNode = null;
int globalOffset = 0;

View file

@ -25,7 +25,6 @@ import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTPointerOperator;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIncludeStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorSelectionResult;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement;
import org.eclipse.cdt.core.dom.ast.IASTProblem;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
@ -37,6 +36,7 @@ import org.eclipse.cdt.core.dom.ast.c.CASTVisitor;
import org.eclipse.cdt.core.dom.ast.c.ICASTDesignator;
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.ASTPreprocessorSelectionResult;
import org.eclipse.cdt.internal.core.dom.parser.IRequiresLocationInformation;
import org.eclipse.cdt.internal.core.parser.scanner2.ILocationResolver;
import org.eclipse.cdt.internal.core.parser.scanner2.InvalidPreprocessorNodeException;
@ -341,7 +341,7 @@ public class CASTTranslationUnit extends CASTNode implements
public IASTNode selectNodeForLocation(String path, int realOffset,
int realLength) {
IASTNode node = null;
IASTPreprocessorSelectionResult result = null;
ASTPreprocessorSelectionResult result = null;
int globalOffset = 0;
try {

View file

@ -26,7 +26,6 @@ import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTPointerOperator;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIncludeStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorSelectionResult;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement;
import org.eclipse.cdt.core.dom.ast.IASTProblem;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
@ -46,6 +45,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPNamespace;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPScope;
import org.eclipse.cdt.core.parser.ast.IASTEnumerator;
import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.ASTPreprocessorSelectionResult;
import org.eclipse.cdt.internal.core.dom.parser.IRequiresLocationInformation;
import org.eclipse.cdt.internal.core.parser.scanner2.ILocationResolver;
import org.eclipse.cdt.internal.core.parser.scanner2.InvalidPreprocessorNodeException;
@ -334,7 +334,7 @@ public class CPPASTTranslationUnit extends CPPASTNode implements
*/
public IASTNode selectNodeForLocation(String path, int realOffset, int realLength) {
IASTNode node = null;
IASTPreprocessorSelectionResult result = null;
ASTPreprocessorSelectionResult result = null;
int globalOffset = 0;
try {

View file

@ -10,12 +10,12 @@
**********************************************************************/
package org.eclipse.cdt.internal.core.parser.scanner2;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIncludeStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorSelectionResult;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement;
import org.eclipse.cdt.core.dom.ast.IASTProblem;
import org.eclipse.cdt.internal.core.dom.parser.ASTPreprocessorSelectionResult;
/**
* @author jcamelon
@ -36,6 +36,6 @@ public interface ILocationResolver {
public void cleanup();
public IASTPreprocessorSelectionResult getPreprocessorNode( String path, int offset, int length ) throws InvalidPreprocessorNodeException;
public ASTPreprocessorSelectionResult getPreprocessorNode( String path, int offset, int length ) throws InvalidPreprocessorNodeException;
}

View file

@ -21,8 +21,8 @@ import org.eclipse.cdt.core.dom.ast.IASTFunctionStyleMacroParameter;
import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorElseStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorElifStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorElseStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorEndifStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorErrorStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorFunctionStyleMacroDefinition;
@ -33,7 +33,6 @@ import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIncludeStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorObjectStyleMacroDefinition;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorPragmaStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorSelectionResult;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorUndefStatement;
import org.eclipse.cdt.core.dom.ast.IASTProblem;
@ -1723,7 +1722,7 @@ public class LocationMap implements ILocationResolver, IScannerPreprocessorLog {
return foundContext;
}
private IASTPreprocessorSelectionResult getPreprocessorNode(int globalOffset, int length, _Context startContext) throws InvalidPreprocessorNodeException {
private ASTPreprocessorSelectionResult getPreprocessorNode(int globalOffset, int length, _Context startContext) throws InvalidPreprocessorNodeException {
IASTNode result = null;
if (!(startContext instanceof _CompositeContext)) throw new InvalidPreprocessorNodeException(NOT_VALID_MACRO, globalOffset);
List contexts = ((_CompositeContext)startContext).getSubContexts();
@ -1763,8 +1762,8 @@ public class LocationMap implements ILocationResolver, IScannerPreprocessorLog {
/* (non-Javadoc)
* @see org.eclipse.cdt.internal.core.parser.scanner2.ILocationResolver#getPreprocessorNode(int, int)
*/
public IASTPreprocessorSelectionResult getPreprocessorNode(String path, int offset, int length) throws InvalidPreprocessorNodeException {
IASTPreprocessorSelectionResult result = null;
public ASTPreprocessorSelectionResult getPreprocessorNode(String path, int offset, int length) throws InvalidPreprocessorNodeException {
ASTPreprocessorSelectionResult result = null;
int globalOffset = 0;
_Context foundContext = tu;