Class AbstractCodeEntity
java.lang.Object
com.ibm.wala.cast.ir.translator.AbstractEntity
com.ibm.wala.cast.ir.translator.AbstractCodeEntity
- All Implemented Interfaces:
CAstEntity
- Direct Known Subclasses:
AbstractScriptEntity
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CAstNodeprotected final CAstControlFlowRecorderprotected final CAstSourcePositionRecorderprotected final CAstTypeprotected final CAstNodeTypeMapRecorderFields inherited from interface CAstEntity
FIELD_ENTITY, FILE_ENTITY, FUNCTION_ENTITY, GLOBAL_ENTITY, MACRO_ENTITY, RULE_ENTITY, SCRIPT_ENTITY, SUB_LANGUAGE_BASE, TYPE_ENTITYModifier and TypeFieldDescriptionstatic final intThis entity is a field in an object-oriented language.static final intThis entity is a source file (i.e.static final intThis entity is a function.static final intThis entity represents a global variablestatic final intThis entity is a macro.static final intThis entity represents a rule in a logic language.static final intThis entity is a program script for a scripting language.static final intLanguages that introduce new kinds of CAstEntity should use this number as the base of integers chosen to denote the new entity types.static final intThis entity is a type in an object-oriented language. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetAST()The CAPA AST of this entity.The control flow map for the CAPA AST of this entity.The map from CAstNodes to types.The map of CAstNodes to source positions for the CAPA AST of this entity.getType()The CAst type of this entity.voidvoidsetGotoTarget(CAstNode from, CAstNode to) voidsetLabelledGotoTarget(CAstNode from, CAstNode to, Object label) voidvoidsetNodeType(CAstNode n, CAstType type) Methods inherited from class AbstractEntity
addScopedEntity, getAllScopedEntities, getAnnotations, getPosition, getScopedEntities, getSignature, setPositionModifier and TypeMethodDescriptionvoidaddScopedEntity(CAstNode construct, CAstEntity child) Map<CAstNode, @NonNull Collection<CAstEntity>> Some programming language constructs have a lexical structure.Returns the set of any annotations this entity may haveThe source position of this entity.getScopedEntities(CAstNode construct) Some programming language constructs have a lexical structure.Some programming language constructs have signatures, which are like names but usually have some detail to distinguish the construct from others with the same name.voidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CAstEntity
getArgumentCount, getArgumentDefaults, getArgumentNames, getKind, getName, getNamePosition, getOriginal, getPosition, getQualifiersModifier and TypeMethodDescriptionintSome programming language constructs have a specific number of arguments.CAstNode[]Some programming language constructs allow arguments to have default values.String[]Some programming language constructs have named arguments.intgetKind()What kind of entity is this? The answer should be one of the constants in this file.getName()Some programming language constructs have names.The source position of the token denoting this entity's name.default CAstEntityAllow finding original entity after rewritesgetPosition(int arg) The source position of argument 'arg' this entity, if any;Returns an Iterator over the qualifiers of the given entity, if it has any, e.g., "final", "private".
-
Field Details
-
src
-
cfg
-
types
-
type
-
Ast
-
-
Constructor Details
-
AbstractCodeEntity
-
-
Method Details
-
getAST
-
getType
Description copied from interface:CAstEntityThe CAst type of this entity. -
getControlFlow
Description copied from interface:CAstEntityThe control flow map for the CAPA AST of this entity. -
getSourceMap
Description copied from interface:CAstEntityThe map of CAstNodes to source positions for the CAPA AST of this entity. -
getNodeTypeMap
Description copied from interface:CAstEntityThe map from CAstNodes to types. Valid for nodes that have an explicitly declared type (e.g. local vars). -
setGotoTarget
-
setLabelledGotoTarget
-
setNodePosition
-
setNodeType
-
setAst
-