ClosureRefPass
Attributes
- Graph
-
- Supertypes
-
class ConcurrentWriterCpgPass[ClosureBinding]class NewStyleCpgPassBase[ClosureBinding]trait CpgPassBaseclass Objecttrait Matchableclass AnyShow all
Members list
Type members
Inherited types
Attributes
- Inherited from:
- NewStyleCpgPassBase
Value members
Concrete methods
Attributes
- Definition Classes
-
NewStyleCpgPassBase
The AstCreator adds closureBindingIds and ClosureBindings for captured locals, but does not add the required REF edges from the ClosureBinding to the captured node since the captured node may be a Local that is created by the LocalCreationPass and does not exist during AST creation.
The AstCreator adds closureBindingIds and ClosureBindings for captured locals, but does not add the required REF edges from the ClosureBinding to the captured node since the captured node may be a Local that is created by the LocalCreationPass and does not exist during AST creation.
This pass attempts to find the captured node in the method containing the MethodRef to the closure method, since that is the scope in which the closure would have originally been created.
Attributes
- Definition Classes
-
NewStyleCpgPassBase
Inherited methods
Attributes
- Definition Classes
-
NewStyleCpgPassBase -> CpgPassBase
- Inherited from:
- NewStyleCpgPassBase
WARNING: runOnPart is executed in parallel to committing of graph modifications. The upshot is that it is unsafe to read ANY data from cpg, on pain of bad race conditions
WARNING: runOnPart is executed in parallel to committing of graph modifications. The upshot is that it is unsafe to read ANY data from cpg, on pain of bad race conditions
Only use ConcurrentWriterCpgPass if you are very sure that you avoid races.
E.g. adding a CFG edge to node X races with reading an AST edge of node X.
Attributes
- Definition Classes
-
ConcurrentWriterCpgPass -> CpgPassBase
- Inherited from:
- ConcurrentWriterCpgPass
Attributes
- Inherited from:
- NewStyleCpgPassBase
Attributes
- Inherited from:
- NewStyleCpgPassBase
Attributes
- Inherited from:
- NewStyleCpgPassBase
Name of the pass. By default it is inferred from the name of the class, override if needed.
Name of the pass. By default it is inferred from the name of the class, override if needed.
Attributes
- Inherited from:
- CpgPassBase
Runs the cpg pass, adding changes to the passed builder. Use with caution -- API is unstable. Returns max(nParts, 1), where nParts is either the number of parallel parts, or the number of iterarator elements in case of legacy passes. Includes init() and finish() logic.
Runs the cpg pass, adding changes to the passed builder. Use with caution -- API is unstable. Returns max(nParts, 1), where nParts is either the number of parallel parts, or the number of iterarator elements in case of legacy passes. Includes init() and finish() logic.
Attributes
- Definition Classes
-
NewStyleCpgPassBase -> CpgPassBase
- Inherited from:
- NewStyleCpgPassBase
Wraps runWithBuilder with logging, and swallows raised exceptions. Use with caution -- API is unstable. A return value of -1 indicates failure, otherwise the return value of runWithBuilder is passed through.
Wraps runWithBuilder with logging, and swallows raised exceptions. Use with caution -- API is unstable. A return value of -1 indicates failure, otherwise the return value of runWithBuilder is passed through.
Attributes
- Inherited from:
- CpgPassBase
Inherited fields
Attributes
- Inherited from:
- ConcurrentWriterCpgPass