Skip to main content

module lang::php::analysis::includes::IncludesInfo

rascal-0.43.0
org.rascalmpl.php-analysis-0.3.6

Usage​

import lang::php::analysis::includes::IncludesInfo;

Dependencies​

import lang::php::ast::AbstractSyntax;
import lang::php::ast::System;
import lang::php::config::Config;
import lang::php::analysis::evaluators::AlgebraicSimplification;
import lang::php::analysis::evaluators::SimulateCalls;
import lang::php::analysis::evaluators::MagicConstants;
import lang::php::analysis::includes::NormalizeConstCase;
import lang::php::analysis::evaluators::DefinedConstants;
import lang::php::util::Utils;
import lang::php::analysis::evaluators::Simplify;
import Set;
import IO;
import ValueIO;
import Map;

function buildIncludesInfo​

void buildIncludesInfo(str p, str v, loc baseloc, bool forceBuild=false)

void buildIncludesInfo(str name, loc baseloc, bool forceBuild=false)

void buildIncludesInfo(System sys, str p, str v, loc baseloc, bool forceBuild=false)

void buildIncludesInfo(System sys, str overrideName = "", bool forceBuild=false)

void buildIncludesInfo(System sys, str name, loc baseloc, bool forceBuild=false)

data IncludesInfo​

data IncludesInfo  
= includesInfo(map[loc,set[ConstItemExp]] loc2consts,
rel[ConstItem,loc,Expr] constRel,
map[str, Expr] constMap,
map[str, map[str, Expr]] classConstMap)
;

function mergeIncludesInfo​

IncludesInfo mergeIncludesInfo(IncludesInfo ii1, IncludesInfo ii2)

Merge two IncludesInfo records. This is useful when we have components that are treated separately but are also merged into other components or systems.

function includesInfoExists​

bool includesInfoExists(str p, str v)

bool includesInfoExists(str name)

function loadIncludesInfo​

IncludesInfo loadIncludesInfo(str p, str v)

IncludesInfo loadIncludesInfo(str name)