class AdLint::Cc1::StrictObjectDerivation

Public Class Methods

new(manip, node) click to toggle source
Calls superclass method AdLint::Cc1::ValueDomainNarrowing::new
# File lib/adlint/cc1/ctrlexpr.rb, line 887
def initialize(manip, node)
  super(manip, node)
  @object = interpret(node)
end

Private Instance Methods

do_narrowing() click to toggle source
# File lib/adlint/cc1/ctrlexpr.rb, line 893
def do_narrowing
  if @object.variable? && @object.named?
    if orig_val = original_value_of(@object)
      @object = PhantomVariable.new(@object, orig_val)
    end
  end
  @object
end