@@ -33,7 +33,7 @@ class Node extends TIRDataFlowNode {
3333 Function getFunction ( ) { none ( ) } // overridden in subclasses
3434
3535 /** Gets the type of this node. */
36- Type getType ( ) { none ( ) } // overridden in subclasses
36+ IRType getType ( ) { none ( ) } // overridden in subclasses
3737
3838 /** Gets the instruction corresponding to this node, if any. */
3939 Instruction asInstruction ( ) { result = this .( InstructionNode ) .getInstruction ( ) }
@@ -88,7 +88,7 @@ class Node extends TIRDataFlowNode {
8888 /**
8989 * Gets an upper bound on the type of this node.
9090 */
91- Type getTypeBound ( ) { result = getType ( ) }
91+ IRType getTypeBound ( ) { result = getType ( ) }
9292
9393 /** Gets the location of this element. */
9494 Location getLocation ( ) { none ( ) } // overridden by subclasses
@@ -125,7 +125,7 @@ class InstructionNode extends Node, TInstructionNode {
125125
126126 override Function getFunction ( ) { result = instr .getEnclosingFunction ( ) }
127127
128- override Type getType ( ) { result = instr .getResultType ( ) }
128+ override IRType getType ( ) { result = instr .getResultIRType ( ) }
129129
130130 override Location getLocation ( ) { result = instr .getLocation ( ) }
131131
@@ -151,7 +151,7 @@ class OperandNode extends Node, TOperandNode {
151151
152152 override Function getFunction ( ) { result = op .getUse ( ) .getEnclosingFunction ( ) }
153153
154- override Type getType ( ) { result = op .getType ( ) }
154+ override IRType getType ( ) { result = op .getIRType ( ) }
155155
156156 override Location getLocation ( ) { result = op .getLocation ( ) }
157157
@@ -449,7 +449,7 @@ class VariableNode extends Node, TVariableNode {
449449 result = v
450450 }
451451
452- override Type getType ( ) { result = v .getType ( ) }
452+ override IRType getType ( ) { result . getCanonicalLanguageType ( ) . hasUnspecifiedType ( v .getType ( ) , _ ) }
453453
454454 override Location getLocation ( ) { result = v .getLocation ( ) }
455455
0 commit comments