(.js)
laraImport("antarex.split.splitDeclarations");
(.lara)
import antarex.split.splitDeclarations;
ImportDeclarations($st, $splittedfile)Import in a file ($splittedfile) the declaration of the external references of a statement ( $st).
These declarations are attributed "extern" in the $splittedfile file.
The declaration imported by the file of ($st) are filtered (they are assumed known via includes).
ImportIncludes($aStmt, $afile)Import in a file ($afile) the includes of the file of a statement ($aStmt).
TRACE_HERE(mess)cleanCode($Decls)Remove the declaration, element of $Decls, from the code.
The operation is not applied for some declarations (global one, member of classes).
declNewSymbolsAsGlobals($Decls)Declare as global the declaration element of $Decls.
The operation is not applied for some declarations (global one, member of classes,...).
declareNewMethod($FunctionOrMethod, nfunc, inter)Declaration of a new method in a class.
getImportedIncludes($vFile, id)getNewId(name)initMustBeKept($f)isInitClassWithoutParameters($f)isfilteredDeclaration($decl)keepInitDeclarations($Decls)Keep initialisation assigned to a declaration, element of $Decls, as a new statement
The operation is not applied for some declarations (global one, member of classes)
and not for an index variable of a loop.
Example:
For a declaration such that {...; int i = 88; ...}, it produces {...; i = 88; int i = 88; ...}
The declaration is removed later.
removeInit($vstmt)Remove the initialisations of a decl statement.
removeInitDecl($vdecl)Remove the initial value assigned to a declaration.
substituteIdentDeclaration($decl)Assign a new ident to a declaration ($decl).
substituteSymbols($Decls)Substitute the name of the symbol of a declaration, element of $Decls, by a new name.
The operation is not applied for some declarations (global one, member of classes,...).