This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 258838
Collapse All | Expand All

(-)a/cnd.navigation/src/org/netbeans/modules/cnd/navigation/callgraph/CallImpl.java (-23 / +9 lines)
Lines 55-60 Link Here
55
import org.netbeans.modules.cnd.callgraph.api.Call;
55
import org.netbeans.modules.cnd.callgraph.api.Call;
56
import org.netbeans.modules.cnd.callgraph.api.Function;
56
import org.netbeans.modules.cnd.callgraph.api.Function;
57
import org.netbeans.modules.cnd.modelutil.CsmUtilities;
57
import org.netbeans.modules.cnd.modelutil.CsmUtilities;
58
import org.openide.text.PositionBounds;
58
59
59
/**
60
/**
60
 *
61
 *
Lines 75-99 Link Here
75
        this.owner = implementationResolver(owner);
76
        this.owner = implementationResolver(owner);
76
        this.callee = implementationResolver(callee);
77
        this.callee = implementationResolver(callee);
77
        this.occurrences = initOccurrences(references);
78
        this.occurrences = initOccurrences(references);
78
        this.firstOccurrence = (!references.isEmpty()) ? references.get(0) : null;
79
        firstOccurrence = (!references.isEmpty()) ? references.get(0) : null;
79
        this.description = initDescription(firstOccurrence);
80
        this.description = initDescription(firstOccurrence);
80
        this.htmlName = initHtmlDisplayName(firstOccurrence);
81
        this.htmlName = initHtmlDisplayName(firstOccurrence);
81
    }
82
    }
82
    
83
    
83
    public Object getReferencedCall() {
84
        return firstOccurrence;
85
    }
86
    
87
    @Override
84
    @Override
88
    public void open() {
85
    public void open() {
89
        final String taskName = "Open function call"; //NOI18N
86
        if (occurrences.isEmpty()) {
90
        Runnable run = new Runnable() {
87
            return;
91
            @Override
88
        }
92
            public void run() {
89
        occurrences.get(0).open();
93
                CsmUtilities.openSource(firstOccurrence);
94
            }
95
        };
96
        CsmModelAccessor.getModel().enqueue(run, taskName);
97
    }
90
    }
98
    
91
    
99
    @Override
92
    @Override
Lines 177-202 Link Here
177
    }
170
    }
178
    
171
    
179
    private static class OccurrenceImpl implements Call.Occurrence {
172
    private static class OccurrenceImpl implements Call.Occurrence {
180
        private final CsmReference reference;
173
        private final PositionBounds positions;
181
        private final CharSequence description;
174
        private final CharSequence description;
182
        private final CharSequence htmlName;
175
        private final CharSequence htmlName;
183
    
176
    
184
        private OccurrenceImpl(CsmReference reference) {
177
        private OccurrenceImpl(CsmReference reference) {
185
            this.reference = reference;
178
            positions = CsmUtilities.createPositionBounds(reference);
186
            description = initDescription(reference);
179
            description = initDescription(reference);
187
            htmlName = initHtmlDisplayName(reference);
180
            htmlName = initHtmlDisplayName(reference);
188
        }
181
        }
189
        
182
        
190
        @Override
183
        @Override
191
        public void open() {
184
        public void open() {
192
            final String taskName = "Open function call"; //NOI18N
185
            CsmUtilities.openSource(positions);
193
            Runnable run = new Runnable() {
194
                @Override
195
                public void run() {
196
                    CsmUtilities.openSource(reference);
197
                }
198
            };
199
            CsmModelAccessor.getModel().enqueue(run, taskName);
200
        }
186
        }
201
        
187
        
202
        @Override
188
        @Override

Return to bug 258838