diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java index 0a98eebfd1b..33af9916ce5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java @@ -144,7 +144,10 @@ public class PDOMMacro implements IIndexMacro, IASTFileLocation { super(name, null); } public char[] getExpansion() { - return getMacroExpansion(); + if (expansion == null) { + expansion= getMacroExpansion(); + } + return expansion; } public IASTFileLocation getFileLocation() { return PDOMMacro.this; @@ -168,7 +171,10 @@ public class PDOMMacro implements IIndexMacro, IASTFileLocation { super(name, null, arglist); } public char[] getExpansion() { - return getMacroExpansion(); + if (expansion == null) { + expansion= getMacroExpansion(); + } + return expansion; } public IASTFileLocation getFileLocation() { return PDOMMacro.this;