def visitInlineShapeAtomNodeConstraint(self, ctx: ShExDocParser.InlineShapeAtomNodeConstraintContext):
        """  inlineShapeAtomNodeConstraint: nodeConstraint inlineShapeOrRef?  # inlineShapeAtomShapeOrRef """
        nc = ShexNodeExpressionParser(self.context, self.label)
        nc.visit(ctx.nodeConstraint())
        if ctx.inlineShapeOrRef():
            self.expr = ShapeAnd(shapeExprs=[nc.nodeconstraint])
            sorref_parser = ShexShapeExpressionParser(self.context)
            sorref_parser.visit(ctx.inlineShapeOrRef())
            # if isinstance(sorref_parser.expr, Shape) and self.context.is_empty_shape(sorref_parser.expr):
            #     self.expr = nc.nodeconstraint
            # else:
            self.expr.shapeExprs.append(sorref_parser.expr)
        else:
            self.expr = nc.nodeconstraint