public DMASTDefinitionParameter(DMASTPath path, DMASTExpression value, DMValueType type, DMASTExpression possibleValues) { Path = path; Value = value; Type = type; PossibleValues = possibleValues; }
public DMASTProcStatementVarDeclaration(DMASTPath path, DMASTExpression value) { int varElementIndex = path.Path.FindElement("var"); DreamPath typePath = path.Path.FromElements(varElementIndex + 1, -2); Type = (typePath.Elements.Length > 0) ? new DMASTPath(typePath) : null; Name = path.Path.LastElement; Value = value; }
public DMASTObjectVarDefinition(DMASTPath astPath, DMASTExpression value) { DreamPath path = astPath.Path; int globalElementIndex = path.FindElement("global"); if (globalElementIndex != -1) { path = path.RemoveElement(globalElementIndex); IsGlobal = true; } int varElementIndex = path.FindElement("var"); DreamPath varPath = path.FromElements(varElementIndex + 1, -1); ObjectPath = (varElementIndex > 1) ? new DMASTPath(path.FromElements(0, varElementIndex)) : null; Type = (varPath.Elements.Length > 1) ? new DMASTPath(varPath.FromElements(0, -2)) : null; Name = varPath.LastElement; Value = value; }
public DMASTObjectVarOverride(DMASTPath path, DMASTExpression value) { ObjectPath = (path.Path.Elements.Length > 1) ? new DMASTPath(path.Path.FromElements(0, -2)) : null; VarName = path.Path.LastElement; Value = value; }
public DMASTProcDefinition(DMASTPath path, DMASTDefinitionParameter[] parameters, DMASTProcBlockInner body) { Path = path; Parameters = parameters; Body = body; }
public DMASTObjectDefinition(DMASTPath path, DMASTBlockInner innerBlock) { Path = path; InnerBlock = innerBlock; }
public DMASTNewPath(DMASTPath path, DMASTCallParameter[] parameters) { Path = path; Parameters = parameters; }
public DMASTConstantPath(DMASTPath value) { Value = value; }