-
relativeScope(fromScope, destScope) -> list
Given two globally-scoped names, return a minimal scoped name list
which identifies the destination scope, without clashing with another
identifier. More...
relativeScope(fromScope, destScope) -> list
Given two globally-scoped names, return a minimal scoped name list
which identifies the destination scope, without clashing with another
identifier. For example, given IDL:
module M {
typedef short A;
typedef long B;
module N {
typedef string B;
interface I {
void op(in ::M::A x, in ::M::B y);
};
};
};
relativeScope(["M", "N", "I"], ["M", "A"]) -> ["A"]
relativeScope(["M", "N", "I"], ["M", "B"]) -> ["M", "B"]
If the only valid result is a globally-scoped name, the result list is
prefixed with None:
module O {
typedef short C;
};
module P {
module O {
interface J {
void op(in ::O::C z);
};
};
};
relativeScope(["P", "O", "J"], ["O", "C"]) -> [None, "O", "C"]
If either scoped name does not exist, returns None.