Skip to content

variable_name

variable_name

Macro variable use token.

MacroVariableName

Bases: NumericExpression

Wrapper for macro variable use.

Source code in src/pygerber/gerberx3/tokenizer/tokens/macro/variable_name.py
class MacroVariableName(NumericExpression):
    """Wrapper for macro variable use."""

    name: str

    @classmethod
    def from_tokens(cls, **tokens: Any) -> Self:
        """Initialize token object."""
        name = unwrap(tokens["macro_variable_name"])
        return cls(name=name)

    def evaluate_numeric(self, macro_context: MacroContext, _state: State) -> Offset:
        """Evaluate numeric value of this macro expression."""
        return macro_context.variables[self.name]

    def __str__(self) -> str:
        return self.name

from_tokens classmethod

from_tokens(**tokens: Any) -> Self

Initialize token object.

Source code in src/pygerber/gerberx3/tokenizer/tokens/macro/variable_name.py
@classmethod
def from_tokens(cls, **tokens: Any) -> Self:
    """Initialize token object."""
    name = unwrap(tokens["macro_variable_name"])
    return cls(name=name)

evaluate_numeric

evaluate_numeric(
    macro_context: MacroContext, _state: State
) -> Offset

Evaluate numeric value of this macro expression.

Source code in src/pygerber/gerberx3/tokenizer/tokens/macro/variable_name.py
def evaluate_numeric(self, macro_context: MacroContext, _state: State) -> Offset:
    """Evaluate numeric value of this macro expression."""
    return macro_context.variables[self.name]